Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp935720ybx; Thu, 7 Nov 2019 04:57:42 -0800 (PST) X-Google-Smtp-Source: APXvYqxlvwKczYjn3VID9wJAYpULVmiGjZkZYdfMVn7pa9WTQ/Pbe14EDL5BgGpywmUcZKVymLnY X-Received: by 2002:a17:906:cc94:: with SMTP id oq20mr2891825ejb.263.1573131462194; Thu, 07 Nov 2019 04:57:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573131462; cv=none; d=google.com; s=arc-20160816; b=0i5tC/OjLdW/FZF3H2eXsnRaCa3ZVbqn/iaF/TAwv/ZW06QOCG9VGltQ6zXzEAErGd 5dCyYtmJk82LrlWPVXeOelBZxIKxLLl3+sbgjUsHRJi9VZXU8ZmxAI5YWrAFtbFlJKTp icwKMiXrKeT81tpEC4ydDYanouJdaI4vAAJJyM6mALShYYequKCiE2y4RZVeccPrNBei X5uRR12r0trseWddq82dFYUbYLMSyGJ6BCuyIn5l35L/wQWUWsL0Zg8BYLjqenObTrXO TQsHOR8kH5qBHEX5gUFs+2FiS5upxGaIJqZ0Q+ufDik5f9iCovZZDnwhyO1r+o246dYV eHVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=Gyawpv+WI0lozJSUWTS2ESip9V0449YFZgqA+zRI1YQ=; b=KPJ3cXc7IbWBvGZcYfyxrWeQw0d7Bk+UkI7Qejvgi4VI32cnZq2wJx2htC+BCJE4pC CBYUz4GNlqivMilZI7iBeP2hX2ybFUrk6VnT50TuilB87QMRT8n3145hICa6bEXXQ3jF fHkAHnm6yNa8jnJyd98golsmidzPkmCPITvrCYghQQUFjmsGOOVIYxpTl8As26bDHREc wqwFh2xnbMi/j3HpxSzLa0eiYZq9BFJHE++e+FHIES3ST5kTj9U/y0tVy7LVejCr2NPW 1KrLKQv06K0/S9IaBmBotccOfVX0JjpWyl1J91Za5wut6zINc87Pi2b+buyAPFpck6L8 JEjw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=l8irkmXs; 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 p37si1198129eda.405.2019.11.07.04.57.18; Thu, 07 Nov 2019 04:57:42 -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=@infradead.org header.s=bombadil.20170209 header.b=l8irkmXs; 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 S2388846AbfKGM4E (ORCPT + 99 others); Thu, 7 Nov 2019 07:56:04 -0500 Received: from bombadil.infradead.org ([198.137.202.133]:51792 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733250AbfKGM4E (ORCPT ); Thu, 7 Nov 2019 07:56:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Gyawpv+WI0lozJSUWTS2ESip9V0449YFZgqA+zRI1YQ=; b=l8irkmXsFre5AlFshSr4RYVdK x2OYS1VvM1+Ap6bdD3j6W+5trgT5sj3RkjpcY137yFMDSHl8eE/RpBvkkhOOLndg/9u1hFR7s8dK+ WxlfaX41N3nZzPmG3WexDelchUAcB4yW1GtDzeHsEn3lk6LX7aFzs1AdWcVjDqOCDM6bdU//cbqvB osfHGSyIndvDNV9I/ab5C6ih0oXoGqdytaNmSu2ySnhTrZ71R5djL+xdPOxA/RXnQCbsyJPSR7ljU yLTF5xRAvRztq8mekVAHz5AjnRZ7ulAGXUQndYzk4lDmGZ59BWkfWYn6LYyiI7huBFYlOI9DM9IjV ddMsmYdUw==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=noisy.programming.kicks-ass.net) by bombadil.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1iShKT-0000nk-Am; Thu, 07 Nov 2019 12:56:01 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id F0F92300692; Thu, 7 Nov 2019 13:54:54 +0100 (CET) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id 78C9E2025EDA7; Thu, 7 Nov 2019 13:55:59 +0100 (CET) Date: Thu, 7 Nov 2019 13:55:59 +0100 From: Peter Zijlstra To: Thomas Gleixner Cc: Jan Stancek , linux-kernel@vger.kernel.org, ltp@lists.linux.it, viro@zeniv.linux.org.uk, kstewart@linuxfoundation.org, gregkh@linuxfoundation.org, rfontana@redhat.com Subject: Re: [PATCH] kernel: use ktime_get_real_ts64() to calculate acct.ac_btime Message-ID: <20191107125559.GI4131@hirez.programming.kicks-ass.net> References: <20191107123224.GA6315@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Nov 07, 2019 at 01:40:47PM +0100, Thomas Gleixner wrote: > On Thu, 7 Nov 2019, Peter Zijlstra wrote: > > + mono = ktime_get_ns(); > > + real = ktime_get_real_ns(); > > + /* > > + * Compute btime by subtracting the elapsed time from the current > > + * CLOCK_REALTIME. > > + * > > + * XXX totally buggered, because it changes results across > > + * adjtime() calls and suspend/resume. > > + */ > > + delta = mono - tsk->start_time; // elapsed in ns > > + btime = real - delta; // real ns - elapsed ns > > + do_div(btime, NSEC_PER_SEC); // truncated to seconds > > + stats->ac_btime = btime; > > That has pretty much the same problem as just storing the CLOCK_REALTIME > start time at fork and additionally it is wreckaged vs. suspend resume. It's wrecked in general. It also jumps around for any REALTIME adjustment. > So a CLOCK_REALTIME time stamp at fork would at least be correct > vs. suspend resume. But still wrecked vs REALTIME jumps, as in, when DST flips the clock back an hour, your timestamp is in the future. Any which way around the whole thing is buggered. The only real fix is not using REALTIME anything. Which is why I'm loath to add that REALTIME timestamp at fork(), it just encourages more use.