Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp6418788pxb; Wed, 17 Feb 2021 04:11:06 -0800 (PST) X-Google-Smtp-Source: ABdhPJwd2ZPpbZjwicFZ0oDiSpnxgn95B3rV/TZxLRpU/q/fKXe1ixT9Hm/eq3vLpNXdBMynfP5w X-Received: by 2002:a17:906:7157:: with SMTP id z23mr12357332ejj.175.1613563865944; Wed, 17 Feb 2021 04:11:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613563865; cv=none; d=google.com; s=arc-20160816; b=z69DmRyt+vzIJ47WLgnplgAfWXZtFquJ36S9NEZAQ6XzfLCXMdtaeOUithn0UeUMgV Ml9scIScFaGW7h5bpe5wbmTxlL2OR9Bf/TmgBISYjsE26DlXGQh3sFG1etPpxu7sjdnz RuJyIPbGYBQbzoUz5PvHnlaHzDauMcXUajLJ6Td+/HFbuA6ZV62Vry5z5g9reqwPvT6k T57fXEwkVz9ZfmV0mVsvBszofcAFkS5ElMC9H4DMQ4nj1+p0mD1IDnSkCVNol9bgt/dU 6Li/dc1FCvWa+iYjyNpAi6Wjm4keVMd/ccpEh0IRCd+3ZXkHCoFr5dYjuMcim4g6q+FB 3I3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=vUwCClxuuPybLqdPXj4P31Jz2tCAVBtC1IxfWOO/Vmo=; b=crXAoHnsziDkwF26MycyNExWIXqqXlwYe2BfhZh0E5GMIeqNJSWN0mlGRKrlpXXM/E 5pgN6viEHFdpPWY5pW27MSOteL7S64DK9oANu/jC84UnaxL+TY/oMQxFI5KhPF2RU73v LdmlvKixLXMntKAAU6DU1SjznNKugPZJoTM4yg7PzTCaR2aEwUUJpW7dgQPE9jdfkdya yjJ/hcn94vdMrbk+2GMUK7netUoQsZK1HrwFa4b8DHqNDHfNqR8rnB+YNmqp1q2ziNbU zJszs2kstI2tpT9MKhttWldQFwtwfj+97a6FCGmULqwxnQoBbrYqsvl9EirAFK0HIaoW sX3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@yandex-team.com header.s=default header.b=f68LnMvH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yandex-team.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a7si1211246edt.403.2021.02.17.04.10.42; Wed, 17 Feb 2021 04:11:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@yandex-team.com header.s=default header.b=f68LnMvH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yandex-team.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232054AbhBQMIt (ORCPT + 99 others); Wed, 17 Feb 2021 07:08:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45456 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232604AbhBQMDo (ORCPT ); Wed, 17 Feb 2021 07:03:44 -0500 X-Greylist: delayed 164 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Wed, 17 Feb 2021 04:03:02 PST Received: from forwardcorp1j.mail.yandex.net (forwardcorp1j.mail.yandex.net [IPv6:2a02:6b8:0:1619::183]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 46527C06178A; Wed, 17 Feb 2021 04:03:02 -0800 (PST) Received: from iva8-d077482f1536.qloud-c.yandex.net (iva8-d077482f1536.qloud-c.yandex.net [IPv6:2a02:6b8:c0c:2f26:0:640:d077:482f]) by forwardcorp1j.mail.yandex.net (Yandex) with ESMTP id E82BF2E1331; Wed, 17 Feb 2021 14:58:54 +0300 (MSK) Received: from iva4-f06c35e68a0a.qloud-c.yandex.net (iva4-f06c35e68a0a.qloud-c.yandex.net [2a02:6b8:c0c:152e:0:640:f06c:35e6]) by iva8-d077482f1536.qloud-c.yandex.net (mxbackcorp/Yandex) with ESMTP id yLPDcZwg70-wrxenppT; Wed, 17 Feb 2021 14:58:54 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.com; s=default; t=1613563134; bh=vUwCClxuuPybLqdPXj4P31Jz2tCAVBtC1IxfWOO/Vmo=; h=Message-Id:Date:Subject:To:From:Cc; b=f68LnMvHOlCg6quWIKcZyZHX1xm+vHio8tQ99b5GUIsKWZL55IUH9Qq9xkdV02GIx Kt3aenj8gShgJqIQ37KU2unY949lU83vp9SfBRG/xly8nM4F5jP5lZrXDH5zFBWfq2 qkdOjGQ7+9Xc8bYgPe9QG33aP/rVCZpLMxbFAkKc= Authentication-Results: iva8-d077482f1536.qloud-c.yandex.net; dkim=pass header.i=@yandex-team.com Received: from dynamic-vpn.dhcp.yndx.net (dynamic-vpn.dhcp.yndx.net [2a02:6b8:b080:7222::1:5]) by iva4-f06c35e68a0a.qloud-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id GINHK1nK2P-wrnWtRAm; Wed, 17 Feb 2021 14:58:53 +0300 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client certificate not present) From: Andrey Ryabinin To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Tejun Heo , Zefan Li , Johannes Weiner , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Daniel Bristot de Oliveira Cc: Boris Burkov , Bharata B Rao , cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Andrey Ryabinin , stable@vger.kernel.org Subject: [PATCH 1/4] cputime,cpuacct: Include guest time in user time in cpuacct.stat Date: Wed, 17 Feb 2021 15:00:01 +0300 Message-Id: <20210217120004.7984-1-arbn@yandex-team.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org cpuacct.stat in no-root cgroups shows user time without guest time included int it. This doesn't match with user time shown in root cpuacct.stat and /proc//stat. Make account_guest_time() to add user time to cgroup's cpustat to fix this. Fixes: ef12fefabf94 ("cpuacct: add per-cgroup utime/stime statistics") Signed-off-by: Andrey Ryabinin Cc: --- kernel/sched/cputime.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c index 5f611658eeab..95a9c5603d29 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c @@ -139,8 +139,6 @@ void account_user_time(struct task_struct *p, u64 cputime) */ void account_guest_time(struct task_struct *p, u64 cputime) { - u64 *cpustat = kcpustat_this_cpu->cpustat; - /* Add guest time to process. */ p->utime += cputime; account_group_user_time(p, cputime); @@ -148,11 +146,11 @@ void account_guest_time(struct task_struct *p, u64 cputime) /* Add guest time to cpustat. */ if (task_nice(p) > 0) { - cpustat[CPUTIME_NICE] += cputime; - cpustat[CPUTIME_GUEST_NICE] += cputime; + task_group_account_field(p, CPUTIME_NICE, cputime); + task_group_account_field(p, CPUTIME_GUEST_NICE, cputime); } else { - cpustat[CPUTIME_USER] += cputime; - cpustat[CPUTIME_GUEST] += cputime; + task_group_account_field(p, CPUTIME_USER, cputime); + task_group_account_field(p, CPUTIME_GUEST, cputime); } } -- 2.26.2