Received: by 10.223.176.46 with SMTP id f43csp452027wra; Fri, 26 Jan 2018 01:23:17 -0800 (PST) X-Google-Smtp-Source: AH8x226+WA5YsAaqRJcNDLKWm4A5Dp1Zeh+3NME8fK21jHY6zZOC6Pwyi11ErhM0ljCnKuAM2tvv X-Received: by 10.98.87.201 with SMTP id i70mr18979143pfj.143.1516958597542; Fri, 26 Jan 2018 01:23:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516958597; cv=none; d=google.com; s=arc-20160816; b=Sc3u70mk/SmG7dhhAQel6JMqN0YEYScAltP9X/hWm+VaYVi1chxkQNMxn912lOcZS3 SzkY5iyYk5IzrF+icfLlsqfqprLmw8q7xKQKoffsD7Oz3ghs8FY+BdhQtJkxOGtx2zaW 2l6Wgq3Hk5JgyJIk1lJOOHk2Sa4+PfuIYP40LuRSFjeSGgLsWfEQNCh8abpPQxFa/2Bq d43X5rfFs5adElGPAG91VYpvo2YOtGWFtsy7CEnnY/YYZHe1LdlciIBGlaH9DRbi4wLe 47WOXgSIIk8szl3UOL5CiyK4IWNppZE4FLwnlLyiEpW8G31dxz/ouANsQDDsk0PmWkVQ zCBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=CyCQvM+57eQrESfgUSWYmqW7eYgJaqnznBM9vSGyDEM=; b=xAeHWugp5TGEX9Y7rjCUkWbe9UE+M2msZd9UPEBPyemoUEYHthq4UVrLuAkI1s4664 YZwG0VdS8jape8UL6G/WnDMVn133jRwIQvfBv03it68ARg4N24XyoeeQYOBgt4bEG21f HC4YQx8V3Ck3imyoZ+WSRHLPvmWogm5lMGk88CT5k4fXZzclV9ZcBVAMDkODBliR2ZsZ meXuYCWInt7HwrOyH5zRzkayoUTkMuny/zSNQpzQ43yaOZ+hHZyu7hSSCGBJHxs4mYdr IBiaoFL7+bCwDqzmQ0WDmYzQ/jiZO6d9vXS5DUUao6PyPN8KUc5lWyUK7a49zUxACv6l 5PoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=okkWspZd; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x16si6068540pfi.213.2018.01.26.01.23.02; Fri, 26 Jan 2018 01:23:17 -0800 (PST) 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; dkim=fail header.i=@gmail.com header.s=20161025 header.b=okkWspZd; 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 S1752726AbeAZJWC (ORCPT + 99 others); Fri, 26 Jan 2018 04:22:02 -0500 Received: from mail-ot0-f194.google.com ([74.125.82.194]:37664 "EHLO mail-ot0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752414AbeAZJV7 (ORCPT ); Fri, 26 Jan 2018 04:21:59 -0500 Received: by mail-ot0-f194.google.com with SMTP id a24so9581529otd.4 for ; Fri, 26 Jan 2018 01:21:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=CyCQvM+57eQrESfgUSWYmqW7eYgJaqnznBM9vSGyDEM=; b=okkWspZdWO8t69IBe0oy3lO9KRmJZLtKsnPozDZN0ZieiYsJcYLXRGgD7VME7TwmUJ 8BeR2i4yP48Z9fHr66MIAXFosdOmZLGfmViCRy5Rp3M1PPygUGTGeyY58zZzgHCb1u6/ qaDYgHBS+UXLxTDU0yTJuOb012uzDq3khPS8n/bA2pw+cwHgoHZrn4Iot8QbzHTKasfS +qXR3AkRI72OTyLy/bBj4WXaxMvdoxmdBAvyAdN7dLZD3vx1NUEV/5UsK/0jo5/1RjiM d90ejFXAL/BinoLntTF5t7eLm4MhY/7Gj6z/eE+etYR8fP78Y3WkvZNayK7EiyrghUzT FD2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=CyCQvM+57eQrESfgUSWYmqW7eYgJaqnznBM9vSGyDEM=; b=E76WKZcedIZewTjff7HTv3JBXvPEs/4Bu6p+B/4fMJzphfHRdjCqIWv4DcQ7LU2f1h EyA7/jY0vPdBNWGmjKPoMnQUnLmHF12+UyeF3YSlM472i4g8BvHduS4paNITvhhl/PoA FHc4miuP6AiTWB/OO24G5WcV/yQqG4sU69rdXd+hAlrHtcCLsrzPetYl7g1Gh0ytuyj9 x39X7BUgqMWF3xVI9bfJ9z9Ifug0eBngk3AmKQcVgGdWMHW0+hHXNZk3ga3d7Cp84oDk LOlnJZLy1ZiD1RHu48174ojZIviq/VW670t9ocxpRh98/BE8zWapeXjyZm8Zyn+QwsE3 xjsA== X-Gm-Message-State: AKwxytc4Cy1sJdcU2jMhW5FyrGluIgDmsPh7eER7qQG6eXMzc4Wbb1/f fSzpfUZvZLg6G7D5aq2pNE05zvd2Qhdo/zhyEOo= X-Received: by 10.157.50.5 with SMTP id t5mr13324897otc.172.1516958519208; Fri, 26 Jan 2018 01:21:59 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.68.119 with HTTP; Fri, 26 Jan 2018 01:21:58 -0800 (PST) In-Reply-To: References: From: Arnd Bergmann Date: Fri, 26 Jan 2018 10:21:58 +0100 X-Google-Sender-Auth: 7D_bhrmeA4BGq437E6ma3FSPaPM Message-ID: Subject: Re: [PATCH] kdb: use ktime_get_seconds() instead of ktime_get_ts() To: Baolin Wang Cc: Jason Wessel , Daniel Thompson , Ingo Molnar , Mark Brown , kgdb-bugreport@lists.sourceforge.net, Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jan 26, 2018 at 4:03 AM, Baolin Wang wrote: > The kdb code will print the monotonic time by ktime_get_ts(), but > the ktime_get_ts() will be protected by a sequence lock, that will > introduce one deadlock risk if the lock was already held in the > context from which we entered the debugger. > > Since kdb is only interested in the second field, we can use the > ktime_get_seconds() to get the monotonic time without a lock, > moreover we can remove the 'struct timespec', which is not y2038 > safe. > > Signed-off-by: Baolin Wang > --- > kernel/debug/kdb/kdb_main.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c > index 69e70f4..f0fc6f7 100644 > --- a/kernel/debug/kdb/kdb_main.c > +++ b/kernel/debug/kdb/kdb_main.c > @@ -2486,10 +2486,8 @@ static int kdb_kill(int argc, const char **argv) > */ > static void kdb_sysinfo(struct sysinfo *val) > { > - struct timespec uptime; > - ktime_get_ts(&uptime); > memset(val, 0, sizeof(*val)); > - val->uptime = uptime.tv_sec; > + val->uptime = ktime_get_seconds(); > val->loads[0] = avenrun[0]; > val->loads[1] = avenrun[1]; > val->loads[2] = avenrun[2]; Using ktime_get_seconds() avoids locking problems, but I wonder what would happen if we trigger the 'WARN_ON(timekeeping_suspended)' from kdb. Is that a problem? If it is, we have to use ktime_get_mono_fast_ns() and div_u64() instead. Arnd