From patchwork Fri Jun 17 16:03:02 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102148 Delivered-To: patch@linaro.org Received: by 10.140.28.4 with SMTP id 4csp355978qgy; Fri, 17 Jun 2016 09:01:54 -0700 (PDT) X-Received: by 10.66.216.8 with SMTP id om8mr3107412pac.9.1466179314882; Fri, 17 Jun 2016 09:01:54 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f27si13062359pfd.136.2016.06.17.09.01.54; Fri, 17 Jun 2016 09:01:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932274AbcFQQBl (ORCPT + 30 others); Fri, 17 Jun 2016 12:01:41 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:54042 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751087AbcFQQBk (ORCPT ); Fri, 17 Jun 2016 12:01:40 -0400 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0MPGpE-1bIJvB36TA-004Sk1; Fri, 17 Jun 2016 18:01:25 +0200 From: Arnd Bergmann To: John Stultz , Thomas Gleixner Cc: y2038@lists.linaro.org, Arnd Bergmann , linux-kernel@vger.kernel.org Subject: [PATCH] time: avoid timespec in udelay_test Date: Fri, 17 Jun 2016 18:03:02 +0200 Message-Id: <20160617160312.1096279-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:cOPUjTY8mG/AKLs6rssyeKPdPOlO1Fu2TbCqF3991u8njHml6Zv t2Ygo2s3B2bdASEsaAyUrJNsIlU727ShDw9UO32JCGc5lSqCYOChKwlKQPU+CnkdWp5pC+F krZhp+4AGmWXiS3pI5vnt8J8z5CIlIgucLx/5AiqJnoZDJK2BFQameqZyp7HXKX+WNVvt+K /mkEpBuTVYRaL95jkqX9w== X-UI-Out-Filterresults: notjunk:1; V01:K0:GxA7qwsqh4g=:EYRiBuxRUhkJMFEZW8LAZE NmRJZ7Mi0FR21WmvUGYO86XeCAxLJ0G8RaiyFeqvWlpkY/NivYfqNjIPuxp0swEw3/RsWOdzC d/rkdu1PMG7DunRyfMxm+Vomm23fwZl59MgXRsNafHkuDbXXVaU7g+WjkCsS9JgurJ27iqEAT Nzs08O/JVm6ulP72c3HWv3QCHQxzuQX+NQVqtmFQniO+5MxAST6PBplBil6mdjPswC8oNiYsp GHPVyve24t+YcH4heIj2Cfy99/az7C1LnhO0lnDsKoL197Ee2AjsTHY5HLoq2xUQMQGUzN29A Pucsggso9pGqIMED61FtXJALPJFNe6vLOuTz1w2SsmX4IeNOP4wa98au9OnM3nglnPpbWnXa+ VwEfQWrBR0HAp9V0x1F7dPp0rJRfT8Gx1GQzPGKfoedFva1gXAiQiSp31lSct98qggfn3mETj azgj7p4wRQzzy9NNUPl4cCm8awoOwRfWZGrVgpUbPh1GuBu9rrpwJqmprHgFLl62xQ9FAup7E D2ctzCTZNoocs3jZNaUFaE4DyLPSzECRl0mEd+CpQJcGZsxo1Zkx436WwhzXJxQzDJA8y2zVh yKVg2Z9A8tlJV4IkHfIxrbQIdWSQn+IXvUTg7xJU83F7AXDf3obo+dDwV8q6WQOl6xhZbAl+P jw2mcohNPWTs1Oq2RWWDZEWDjhVIZSLew7+YXNzvEuNYo7MD1vcR2ksAWC7XzOh1mwJw= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org udelay_test_single() uses ktime_get_ts() to get two timespec values and calculate the difference between them, while udelay_test_show() uses the same to printk() the current monotonic time. Both of these are y2038 safe on all machines, but we want to get rid of struct timespec anyway, so this converts the code to use ktime_get_ns() and ktime_get_ts64() respectively. Signed-off-by: Arnd Bergmann --- kernel/time/test_udelay.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) -- 2.9.0 diff --git a/kernel/time/test_udelay.c b/kernel/time/test_udelay.c index e622ba365a13..b0928ab3270f 100644 --- a/kernel/time/test_udelay.c +++ b/kernel/time/test_udelay.c @@ -43,13 +43,13 @@ static int udelay_test_single(struct seq_file *s, int usecs, uint32_t iters) int allowed_error_ns = usecs * 5; for (i = 0; i < iters; ++i) { - struct timespec ts1, ts2; + s64 kt1, kt2; int time_passed; - ktime_get_ts(&ts1); + kt1 = ktime_get_ns(); udelay(usecs); - ktime_get_ts(&ts2); - time_passed = timespec_to_ns(&ts2) - timespec_to_ns(&ts1); + kt2 = ktime_get_ns(); + time_passed = kt2 - kt1; if (i == 0 || time_passed < min) min = time_passed; @@ -87,11 +87,11 @@ static int udelay_test_show(struct seq_file *s, void *v) if (usecs > 0 && iters > 0) { return udelay_test_single(s, usecs, iters); } else if (usecs == 0) { - struct timespec ts; + struct timespec64 ts; - ktime_get_ts(&ts); - seq_printf(s, "udelay() test (lpj=%ld kt=%ld.%09ld)\n", - loops_per_jiffy, ts.tv_sec, ts.tv_nsec); + ktime_get_ts64(&ts); + seq_printf(s, "udelay() test (lpj=%ld kt=%lld.%09ld)\n", + loops_per_jiffy, (s64)ts.tv_sec, ts.tv_nsec); seq_puts(s, "usage:\n"); seq_puts(s, "echo USECS [ITERS] > " DEBUGFS_FILENAME "\n"); seq_puts(s, "cat " DEBUGFS_FILENAME "\n");