From patchwork Fri Dec 13 20:52:12 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 181586 Delivered-To: patch@linaro.org Received: by 2002:a92:3001:0:0:0:0:0 with SMTP id x1csp1143730ile; Fri, 13 Dec 2019 12:53:34 -0800 (PST) X-Google-Smtp-Source: APXvYqw799uCpBEQWwhtt7yBM5nI/lySxpy2VGtNj58yZbTZgCFNSYzln3PKKr/4Wf65P2LIJ9gL X-Received: by 2002:a05:6830:128e:: with SMTP id z14mr16155995otp.184.1576270414394; Fri, 13 Dec 2019 12:53:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576270414; cv=none; d=google.com; s=arc-20160816; b=h8glfTPpPbVU8jxBNWeiHvpTtttZCl7tg4R2Dsyv7NLN2Pv14CtGjGCVBoZaEw6i+t QudWx8vFpWQwcR5QxJQOtZ41/ws8hj+9BmuSbTazxQ7uCXKjhDTXijKS47pmGN+9Mccm +wtrLUJZF9wvY4Mpdrp9WKfe2j4ypSI0Cr3CHJgqElGqYi6CKiyu1PhDmaBbkzIE0+w/ aZYRYwdZ1w+xeZUZvvOIJA7obeDrNPh29buAMUOya3+nv9mY/ounrG2oyG3dU+xsc/1X KIATl3dOeleYTlzDYKeN4eYctzmuP4phKAJRQ5lqPzqEJ1QQP0/VMuCycW9KmriA6L35 xJLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=yw97vSkCj+HfHKYZWLHnKqYhQC9/rG95VgHdYU9rCPs=; b=h6CMObD2lxVurx+Cn63BoVF75bpRAjtNwYmuVIaQwhhjKOFas1NVLlSxhUVdZNEoTa jClUfVsLErPZc6nIAU1pGLhv3tqU1E9EvV/CRpg2yh6qdPKKkKaskz2P2mxaXHwtqJeB sjM5Q7kJYZ6/KsDLAXnTy/lnCAhe8Iv0Nnk4EA3kT4Pwm/rnD14mCspg3WnFgwYJ9ONf 637VJjmZ2ILyYjy1uc4mjvIuF6/NYLvvc8bX3NdwU6FrwIc1aLM1/OcXMYwRfOw9QgUd CpkY2xzz7g3njdpD2+ucjcNn35V8DuFDKkTnbrNYsd3ei7BzQDujTyw0WKV12X25OaKN kO7Q== ARC-Authentication-Results: i=1; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q124si5349494oig.228.2019.12.13.12.53.33; Fri, 13 Dec 2019 12:53:34 -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; 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 S1726813AbfLMUxd (ORCPT + 27 others); Fri, 13 Dec 2019 15:53:33 -0500 Received: from mout.kundenserver.de ([212.227.126.187]:55983 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726368AbfLMUxc (ORCPT ); Fri, 13 Dec 2019 15:53:32 -0500 Received: from threadripper.lan ([149.172.19.189]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.129]) with ESMTPA (Nemesis) id 1MNwXA-1iLyXr40AC-00OKO3; Fri, 13 Dec 2019 21:53:24 +0100 From: Arnd Bergmann To: y2038@lists.linaro.org, linux-kernel@vger.kernel.org Cc: Arnd Bergmann , Thomas Gleixner , Richard Fontana Subject: [PATCH v2 07/24] tsacct: add 64-bit btime field Date: Fri, 13 Dec 2019 21:52:12 +0100 Message-Id: <20191213205221.3787308-4-arnd@arndb.de> X-Mailer: git-send-email 2.20.0 In-Reply-To: <20191213204936.3643476-1-arnd@arndb.de> References: <20191213204936.3643476-1-arnd@arndb.de> MIME-Version: 1.0 X-Provags-ID: V03:K1:m6zEFmAIGteUTAMEdgs5prJfD/t974ZJHKfzjd8SuVlLVyFh89i pvk7yilTWbmNQeMsJ/AlHqqLtide7TxY7hZG6X9HBcpWwfIX0yPr/Drv3EvsHl7n+Ml6j1d 0tOFRa0UPRlTwNTtR5mokYRAhW18Uz1TBCButDDeBDX9U8H7nv//rgGg3Nym7/5yfm1OSLO m6dEvLkEgCjTO+uvaQQuw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:wVYUFpoDrxs=:RY9/vsc3D1VxscEnAiUjml r0KGyz2oGh43qf6yyRErfNzcXG7W5xEASsxVzHdgjutQQj0BXyWsru5UoBMgVsN2syAWj46kC LsGnxVyODBZoFq5D78OZmppOUNowPq2YnUB9NsuGeAKwyFqsyp7ruvHJl8GrnV82dC7o1DAJK csMhiVhkyRpeHfYWvTpdpsqMjiAnJ4G0iW2O76y/rST1OmxNaQErWizbTTsWnAPQ+rCDUNFYc zwcUFx3zSylWCIy0UztN1cozDHepsL1MltTnJIb/QSOdXHGm69gbReBhRbnVhMG528q2PeQ2E VVOzhkk7c1tKILcnfKYfjAXd/em5NjgdKrs2Tbq30EBdAl6G4uSJ/NrrAPmQXIMQ7I/pKdrJj VaUTzaCMZcUF5Xx6AGKfp1aafz891WMvLD5KSUWWq5BnSjYIuvAtxSm5/DzrKXBmQSyyHTGyX b7IKA+z2tSj619vxwcEZ9Z102Qak/ufaiqu4y/3pi1eyLLMW7nQuJX5VQB3GzpYccO3NJDup8 i45sVCFKrftpu4Xb5shNAcgsZB9Ne2VUOic3nmJmea9A7NQsCoPg4kRW/7dMO/SKZkhsbXH/v kwEtCz27McMrJsoswg4BWMZml6pWFE2v53bTVbdc3Kfx6EpuEHndvFJ3ClXKXOsPSXrLsA6HF 3Zpb25Cs571FdJfN2WBbajDvC/F3X58/54uE+4+EaEtQ5ve+CHOeyedjRyZ0H8znillRbOn80 gUKaHvzdCS3hZ6kLNcdGaNX88Auct2TyW8oT+DMyw+BQPe+J4f7aThFCMMukmc01+KNPUoLTq OhMDWmoWzoAoMdlvSPaD/HakQGGxTfttI7bG4VDtDOlBiGp5CBEvlbFtpm0A5xuNwtaLs58uJ jVlHaEdEr1biLGL6AN6w== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As there is only a 32-bit ac_btime field in taskstat and we should handle dates after the overflow, add a new field with the same information but 64-bit width that can hold a full time64_t. Signed-off-by: Arnd Bergmann --- include/uapi/linux/taskstats.h | 5 ++++- kernel/tsacct.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) -- 2.20.0 diff --git a/include/uapi/linux/taskstats.h b/include/uapi/linux/taskstats.h index 7d3ea366e93b..ccbd08709321 100644 --- a/include/uapi/linux/taskstats.h +++ b/include/uapi/linux/taskstats.h @@ -34,7 +34,7 @@ */ -#define TASKSTATS_VERSION 9 +#define TASKSTATS_VERSION 10 #define TS_COMM_LEN 32 /* should be >= TASK_COMM_LEN * in linux/sched.h */ @@ -169,6 +169,9 @@ struct taskstats { /* Delay waiting for thrashing page */ __u64 thrashing_count; __u64 thrashing_delay_total; + + /* v10: 64-bit btime to avoid overflow */ + __u64 ac_btime64; /* 64-bit begin time */ }; diff --git a/kernel/tsacct.c b/kernel/tsacct.c index ab12616ee6fb..257ffb993ea2 100644 --- a/kernel/tsacct.c +++ b/kernel/tsacct.c @@ -36,6 +36,7 @@ void bacct_add_tsk(struct user_namespace *user_ns, /* Convert to seconds for btime (note y2106 limit) */ btime = ktime_get_real_seconds() - div_u64(delta, USEC_PER_SEC); stats->ac_btime = clamp_t(time64_t, btime, 0, U32_MAX); + stats->ac_btime64 = btime; if (thread_group_leader(tsk)) { stats->ac_exitcode = tsk->exit_code;