From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752983AbdHQMJ1 (ORCPT ); Thu, 17 Aug 2017 08:09:27 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:43060 "EHLO mx0b-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752944AbdHQMJV (ORCPT ); Thu, 17 Aug 2017 08:09:21 -0400 Date: Thu, 17 Aug 2017 13:07:41 +0100 From: Roman Gushchin To: Tejun Heo CC: , , , , , , , , , , , Subject: Re: [PATCH 3/3] cgroup: Implement cgroup2 basic CPU usage accounting Message-ID: <20170817120741.GA22854@castle.DHCP.thefacebook.com> References: <20170811163754.3939102-1-tj@kernel.org> <20170811163754.3939102-4-tj@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20170811163754.3939102-4-tj@kernel.org> User-Agent: Mutt/1.8.3 (2017-05-23) X-Originating-IP: [2620:10d:c092:200::1:a122] X-ClientProxiedBy: HE1PR0502CA0019.eurprd05.prod.outlook.com (2603:10a6:3:e3::29) To DM3PR15MB1081.namprd15.prod.outlook.com (2603:10b6:0:12::7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 49efff6a-e126-4504-d8d1-08d4e5689e46 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DM3PR15MB1081; X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;3:5hrXovO45OqogHYfRqt1UwourCpO0CSfRODl23DtQot/wcT9tNC0K4Im+Ojp2/vv+08siAuKflteIEzlKSQhoYzLwd244nYmD9+PNZxs0qUCkpB6Xlih1+QXOwJh/lC6hugeq+Ly942aflY6DD8zuOIp2Buwn1F0QCBGYaWm9L6pxpOqXPuNbLB61P0dPPMVx841PgA+4O52UB2CAQgkE5Jl2ggQ5EfB7WzfNNC5lLWdmqTLtJ8h4Za49lurBX/R;25:S3s+5NRwRHEuv35q4fBXyiXhXWaU0FmBpnMJrZZyXy1mErN/GWsTWyzznINXuE5Tz6QGNA7CsTAcYT99hsQU/DgrK6vT4rGC1R5Jjic8wFlnkhL5z1FlbrwZXP6Kkf14CXgrSXQkScuG3LEL7LQ2lCGHu+WPDk5HTaQCc97XgET6F7oRWfYeFeRNOnYOjruuBEMZVryplnCAaL3yvbth+V9xMeef8GZ6PcW/qup/ABU/51gT7B6WAJzifvOmll3WjygaCYtPdnao1bNu+CJKNvuO+qOpaqBzgzE6Rv7349uA56tLj0qatEa0in5/EBLLA8LckiXC+FFJB6T6T7gZow==;31:nAtvxP96bv5fhl+KaSfI22ygLSGHMg3iJ834yZ8PyB1i2TDoOerQp1Vwg4dwk/dqrfTOUBNvnyqLRCIiAcu0bQL20R+1QrWzVAG3QQfqR5Nw6PV4zsukm/+gI9YMAXR2jnZkxPQ0GsaHI47iH5OD5mD4jUgdblaEjV/jauxhnk+k7adl7oKCa33FL2wRHUyHySi7kQDFqKQ1H7ZuxvVxTHNU+X+VnkJl7uiJqgVBgbA= X-MS-TrafficTypeDiagnostic: DM3PR15MB1081: X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;20:y8/KkclOOTDg2f58rAkwUKS9HyjK09RYIk0LYg8M+Ikgy/amJu07PBaQIU/AWDB//PACPBq3RCuB9Mk6zFuQgLJ3UO465dS8tmwQyUqVn+6Ry3ZgdSEZu3Q3RR2Yzv/cba4CmTgMkQoP7quturrWhUReGAFHdevI9skhQJI+J9YN1cv2KyCkglhg5w1t7ie+fwDkGYU2LsEdVK7HOEaJFXt05apX5oyr7tGxUhISXcmACRVgXz1PIvt7YHUFhaTe75v/Ho75xEVa67PoH4smshksxzhZ9wAcrMpC04FBOkvF8N4t6y6JERAmmRl375mp6EQ4WZZyJTXJ0T1z18Agnwovn0sTD6z5miuej82DUukjHlQW1HxiWxceM2BsTvLKTfhJrYz2ruIprBbyo1/lgRYQYu1BeBK8yBPL2ZCBJYRN2dc+bjh/N+36ZSq/kDh8XgkQSFjIzCdksCG0cfAHoGTTgojE8Wnd3zQFbhmjfrCaIZt4Nwz6A56b+krYS2O+;4:LFSHwI/0XsU3jPEInV8n7fAFni+GDbko1WuE5LrFJKxu/GcCC26XDB5fiq8kNgQsjEAC74HfCmqatdv75YfSkDJpvwvgi063Sox40XuvoXkEdG0ANhGNpQhNr+fwceZlgt15kLS3w8q6ksqtKh5iiuyCihhQfHT1+W7nsuO/uwnmm3LsjCdFPEzvG2R84P6lxrSu0XcCvX1OJlhsB66R9X9SHx/huHIEgLB7HMexkQAXaOsoX0jRU1ZQMfnoXrJ1 X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123562025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM3PR15MB1081;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM3PR15MB1081; X-Forefront-PRVS: 0402872DA1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6009001)(189002)(24454002)(199003)(7350300001)(7416002)(6116002)(86362001)(101416001)(2906002)(81166006)(2950100002)(6916009)(6666003)(8676002)(81156014)(23726003)(54356999)(1076002)(76176999)(5660300001)(50986999)(8666007)(68736007)(6246003)(47776003)(110136004)(9686003)(53936002)(55016002)(50466002)(33656002)(105586002)(189998001)(7736002)(4326008)(305945005)(106356001)(42186005)(25786009)(6506006)(478600001)(97736004)(229853002)(4001350100001)(83506001)(18370500001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM3PR15MB1081;H:castle.DHCP.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM3PR15MB1081;23:1tcIl9Gq1qyWIFHYYsUE3m0Ckw7Uo1LPDFDFlkib/?= =?us-ascii?Q?+U/ovb/y98yh8XAXxtNsitEcCj/FpguBIsuSx5oQyi43IUYKMz4CFNvqtdEe?= =?us-ascii?Q?3oNNjbajwWSyiz0aaF69dnXqzhTSgCdTZN2VPMysm/5wAImz+8hDLmy8JTg3?= =?us-ascii?Q?Ur90Ym612gzhnW24y3P5Ski0v2+T2COAy/NR5K7LBWO8aC96vRcF34qOLI5E?= =?us-ascii?Q?0yJtOch+FqlRx3Dkr5tq6WS955hkEwo5p0hWXc8Cfqrg6iJ5izz0nwrXt0h/?= =?us-ascii?Q?VtoWHa0Z5T2Va0ciaGHC0ne+Hp5v/oeRgGlBIl4fJTStenP7s5q7lczO7+md?= =?us-ascii?Q?mfxiOBh6MxsdyENiiYo4KWyoPK2Pey2S50+oS7VI6c2BKFOaa7czQtSyNb/3?= =?us-ascii?Q?OPfr0VDx2mt2yCDhJri0SRfx3cqz1eHlY8l7JTics2/0vUihieyY401EyDKM?= =?us-ascii?Q?uiF/lQAGLBfV6dTsgQC9luqJTnhvohGp0Yfty1rRM8Z1XK/IRbf2dJhoZVPb?= =?us-ascii?Q?laSC/8ZA0jqtncv27vmiia41LAG4FQTeY4uu1616D9UbM1kAhuNWLhujANI7?= =?us-ascii?Q?OgIs+lY6WP+yrDwBaz1SOMelzTszQ07kstTQtw6nDt8hX/6NRNIn4UgDJs5J?= =?us-ascii?Q?1NOv8c7ZpKdQH4l5ZYOnv6yJ6ZhiHGFQgj6HhiK4Om4mc4Dfs3FodDWQp4js?= =?us-ascii?Q?MSOECiP932XpytiFl1kp0JuYnA/8+U6f+SottWXtXtz4GFsbE1WWFkqkS3gC?= =?us-ascii?Q?P2E+p5PU6+URyqLrOt+5I7OVDygYn8mkqVqPBPYRGQbDRpvbITP8cHBGGZRs?= =?us-ascii?Q?naZp+jEUXUJQwyrBCLo0ug/fAb15awZgn+vJEtJEnUEwOaeqgwwjevHL/jU9?= =?us-ascii?Q?KbMI9vXE7Caf5WPqUIAOw6AnvkvcJ8D1D42PCbkep0BUV1bFk6U4TyTtDiTO?= =?us-ascii?Q?GwXnL2Ftc631pNF10KZOIxSjzarz/UYokLyTSVHWK6ifX9NkUvODwveURX7B?= =?us-ascii?Q?kyBRZLrRWwiy2kBoSkUd9uzfcTkGruRdG6KSMFLBgSEh5pAh2aG+i/CxRazy?= =?us-ascii?Q?+EAXmCT0TgBO0vQSDeQYZLZZebxnHRBXb2VA/Vj6xW9Whx/yMcvn3FBVpQvF?= =?us-ascii?Q?hbSTluqpiK46u7xUIOOa5R6EFEbRaAnHK28MYcy8J6MrUoY4hXmLsqrouTKS?= =?us-ascii?Q?BQHukbquyqAZu1ybOl5vHkH05HtyNaKOF9X?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;6:SoNWZeJEluLCIxu2ouNq8vDMLZhzjSkBrzNo2UIeR2rIvsvLJC+QEp5rKLm02Tha1NQAkC9ti2oJ2dYWGufE9cmnSdLd48uxhGOFXUO9H7kJ5SC1jNyHjxmS7OBK1PEfBEXwK1EBOsUSa27Qvw9kipp9WdBC+x+TqUv2ZeH1zAo5WKzzG19tYI/8X8+DJt2dc6mNvELQ+givj2GxPTtJsEskG1jrvUy/helolE98ctfEQrRFTkUzwMJ9E3i+PSqebX4FOkk4tTxoLlEu1zDWhFNcYrEQ+Y6OoPlSuPCfaziwBPZx/WTh34jzPhAo/raoFjfOMBsshtWyr4swZ7MahQ==;5:kTS2cUBdC93WNSyHLmqOVzFfZDdUFdOFrwunBgZdAzSuu9CPh9/Swv40bZwiO4Wm18woAWAK58vlkrJ9azKeeMHQRWBrl5z72VA4z47hgmpLjWeDWuKkNl4Jv1qo8l1r32xKuhF1PafDw1bq7rfJGg==;24:liZwSWX3V0TKga8D+nTOHJVNaDkMy0Xg3Oa9EzcBoMqft5Xo7wgOQZSqR1Soh32X0wJh3Xa4+fN1rclqbbqNNiNlNPaxGD8mjtpnlWf8NI4=;7:h0/oAQEmO1aAj7nYv1Lt6buMPZDPJLCCf8xCaMTRrAj7fFqo5lo59y72+U5AVExhxdA0amIQvhDOVes1pi8Us+St9JhK7lfy7zor8JwjBpkzvdJPJSA1VspXS/NlDnsgim42EdYxL1rtYEdmReYJBo5VczLSjJJsJRSQUy3tQZ2I/iPvNo8Vz5cja15BEG9SvqMiXaYQOq0sNm4KLBgBdfKSUy2AmdcErtoCSxsfI8c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;20:PK/FupArJzVKGyzGAxs6yTehkQcDKsofOHGmMTfiPLX2bQlq8ETAnBQ3YCNUsKXRbAdrfCOxviHsxWlJSl8h6qrVDsXbWBzzuDi55FMAuMFzhiilm6Wf6irSramb7GK772yP8Mc8AxQChJR+nBKSxEjdYYVrlI5tS2OOr70jlXM= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2017 12:08:00.4477 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR15MB1081 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-08-17_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Tejun! On Fri, Aug 11, 2017 at 09:37:54AM -0700, Tejun Heo wrote: > In cgroup1, while cpuacct isn't actually controlling any resources, it > is a separate controller due to combinaton of two factors - s/combinaton/combination > @@ -4466,6 +4470,8 @@ static void css_free_work_fn(struct work_struct *work) > */ > cgroup_put(cgroup_parent(cgrp)); > kernfs_put(cgrp->kn); > + if (cgroup_on_dfl(cgrp)) > + cgroup_stat_exit(cgrp); It looks like this "if (cgroup_on_dfl(cgrp))" works here and further similar to "#ifdef CGROUP_V2". I wonder, if it's better to move this check into the calling function: cgroup_stat_exit() in this case. > +void cgroup_stat_show_cputime(struct seq_file *seq, const char *prefix) > +{ What are any other possible prefix values except "cpu."? > +void __init cgroup_stat_boot(void) > +{ > + int cpu; > + > + for_each_possible_cpu(cpu) > + raw_spin_lock_init(per_cpu_ptr(&cgroup_cpu_stat_lock, cpu)); > + > + WARN_ON(cgroup_stat_init(&cgrp_dfl_root.cgrp)); I'm not sure WARN_ON() is enough here: if cgroup_stat_init() returned -ENOMEM, the following OOPS is not avoidable, as you don't check cpu_stat pointer. But it's very unlikely, of course. Overall looks very good! Thanks!