From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932545AbdKFOk6 (ORCPT ); Mon, 6 Nov 2017 09:40:58 -0500 Received: from mail-eopbgr50107.outbound.protection.outlook.com ([40.107.5.107]:11668 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753681AbdKFOkx (ORCPT ); Mon, 6 Nov 2017 09:40:53 -0500 Subject: [PATCH 4/4] sched: Export per task_cgroup nr_running to userspace From: Kirill Tkhai To: mingo@redhat.com, peterz@infradead.org, linux-kernel@vger.kernel.org, ktkhai@virtuozzo.com Date: Mon, 06 Nov 2017 17:40:49 +0300 Message-ID: <150997924925.4082.4698338444626463948.stgit@localhost.localdomain> In-Reply-To: <150997831079.4082.2128628793286090861.stgit@localhost.localdomain> References: <150997831079.4082.2128628793286090861.stgit@localhost.localdomain> User-Agent: StGit/0.18 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: AM5PR0601CA0041.eurprd06.prod.outlook.com (2603:10a6:203:68::27) To HE1PR0801MB1340.eurprd08.prod.outlook.com (2603:10a6:3:3a::8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1e0894c1-8c00-483b-5e5c-08d525246041 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603249);SRVR:HE1PR0801MB1340; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1340;3:Ut7iHF6DYxpA9qoWVp5ezoiXrXWh6kiLHt3/OQOUOcykWXsECFukuzPqBVCiLThPxm35u3LZQZfhtNUGQVDmeiph+kbwiBFK1UCa5TneFI0GTuzP5ynZjZrlLfmoh1zjLOYUYwAU6t7BYEex+6yqwuSv1sdwJTjTB1VACkUtWSEGDErA++nWB30fGJHjMWAl3TNIq1sClrXpIoR56JoICHLxX4iAm/KJgTaTntOiHD5L/3UaVz94UKKkcX8s9wgo;25:UDMxwPMAssSo/gWR5uHo6croQwv6pUB7+kvzWpMs4A3AsKgeRPRbAUrhf2s/f8yKbiaQ9g6p1XRYw4vOlpSULQBwWtgDZgLja4dMoq0sj8ZNAvaDXpBowbAC6jSi/UqpyeqFfj4Kkqvh+ui6I9WPaKcnxWYRpjqHdFHZwRt2S/9Pb0kcQUxjsFCeHty00ryLbr6BJBbGh7BT0x0PHQLyH8g7YGG9DMBwYATF1g6bHKuKdeSjjbExHEhITFQD0litizOXQXLWyg7D9eTfV5Y+JQEa/KJs/Qv0Nc4kC31hlL2D+FHRnUKpOqHH4xlUpfq4w8XP3yx5zWGHyJIJ8RhlxQ==;31:avMPJbPBbcThANvvlV8Zl3APxo08Wn7EmFrBUrmxX4jCdjb5G5mSg0xmlvnZXwHFdMZT3hAoikDSxqV6qwNmQCQmhJQr0IOdG6rKe7M8EDmvKYk0oYgG1QsG9vj8AGHQyhgCfdAljxgjBLMD0WRH+e9X0Q1hAByeiZtsInoTgWJCc07IQUDCe+bGBPPofYRi3Mxn4HcGme5lCEfvR7vT0RzH+YNrhP7qukl79BLDcHU= X-MS-TrafficTypeDiagnostic: HE1PR0801MB1340: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ktkhai@virtuozzo.com; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1340;20:glSCBw4XsDKxMqUy3fD3PLLDZaEqMnIHqcEqWrtGwdaV32AUcLLSeLYDgivP6qgsXxJ7gF1ClLDfeZf2xRaPnf5ZJCdLXnBSnrcnu3AR27ncOv6jBnl5dNWQQ2cWdF1lt+Xr9rRfOdSXpY+NELXBua7JIHLwVSNPNGaZgi8MvVt7LuRs4ly5WgA2NLKUO1ArmJPkEuE0CCtL/mv+UIZ9olevp3Hn3QP9DaWF13a9lHbVY8tjTf4w/biIGpBnX6dyy7gkZXUY3dLbdpUTUJU7BRB0dqATSwFP9XtDkTPH80cWo+d+5mwTFGufHHhKEkWucWyxHMQx+G7gZf2br+Et77Yweze7u4IjxFUzkNOBo6nfRnMAHg4uGS+R3qwQr2OVEAjqPs2ZSRyWqbbKnjGJAD/tCeoWLzuBvSu9p8qlsQY=;4:0SpWR1zXAjoKJ1hzxRzK8XkGauvcjJupvILGue1V6Ts0V9CQYaD44Ma15ytx2H1XBrSl3S1lk3h3SWQOT8B417xfYTkXaY4Vbo4nZjN8Ypx3TY1M9Sp8z6OmC1rgD7izYaDq7OtPNNy/Lbc27dORaX2C8qaEshcXRaJdzwbrfyKasdiCYuwjsIGDQI2vZXaIKD6lvGS62zGO5dsSBoMal6exoz24mmGF2OKxeK0plZEJER3WyESe5XHuSxqXzmweTNihKBZvQYMpwHybdL0ZDA== 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)(2401047)(5005006)(8121501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(3231021)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:HE1PR0801MB1340;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:HE1PR0801MB1340; X-Forefront-PRVS: 048396AFA0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6069001)(6009001)(346002)(376002)(189002)(199003)(6506006)(53936002)(33646002)(189998001)(55016002)(83506002)(2906002)(101416001)(106356001)(105586002)(97736004)(16526018)(478600001)(66066001)(103116003)(9686003)(61506002)(47776003)(305945005)(3846002)(6116002)(8936002)(8676002)(81166006)(81156014)(7736002)(230700001)(2950100002)(58126008)(25786009)(23676003)(68736007)(316002)(50466002)(5660300001)(86362001)(54356999)(50986999)(76176999);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0801MB1340;H:localhost.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4MDFNQjEzNDA7MjM6dHFLdTJRcmF6VU4yR21nbmt3NWdKajVJ?= =?utf-8?B?RWowZU54bnJadzV1bWlBdDlkY0F1V3NmcDkraEpYcGM4NEZDUmhveEY1cnVw?= =?utf-8?B?TXYvVnpEb2lWa2IrbG10U0VjYkFqaDZXcGFadnVqQUtHR2crUmlSZE03SFUw?= =?utf-8?B?ZWpQcXZJSGprU1pycmZaY3BIR2I2ZUdWZ3RWMExsdER6Y3NSd0d5b2E3N0Jz?= =?utf-8?B?MW5GTmVMQ2dLWlhVaUFheThXSmhoSFJGb0RXRmxOSEFIUXREUDFWM0QxZDl6?= =?utf-8?B?K3gyakIvcnZ2dmYxQ3RoQ24xc1dUb0MxaFNNdjVrNGFUMHh1T1JMd3BBT0Q4?= =?utf-8?B?dG9FQXdzTUdudFphS3lCNzROdTZtdVFhMXRyaS9VK2Q1QzlxUVIzK2lWVDhD?= =?utf-8?B?QkRtY1YzZGQ0THBZdmxsSUlhcE4zZjk1aXowUUYyc2lvQ3Jnd3B3SEdkRVpk?= =?utf-8?B?WmgxRXUwalFjYzR2WUhsY2dWanNrODl4bWsyUEFON2ZUK2dxZW51cEtMdUJl?= =?utf-8?B?ZHZ4TXQ0amtSeWVxMTloWSszT2R4UUhHVXR0MUl6OW1Mb3M2U3ZsMzRwTVZu?= =?utf-8?B?L015OERaeWNiRk0zaTdJaWhidkFLV3BURmRZbWlCMFZKeEswaVNSUlRQS2hW?= =?utf-8?B?ZmZaVUczTTQwMDFNSlRCc0diUFVnMWVoVUJUdGd1TFJVVTNWRXE5S0xsRERt?= =?utf-8?B?K0lGWDZsdjNlUDRPTXNJMkFjQlFYZk1Hb2Z4dTZzSjhHU0xFakFBWGk2YlZE?= =?utf-8?B?N3ZURzVkSXJreW9DZkEwdmNLTG1KeVE2clVCaU9ybnBEL0JJZzlXVTJSdlVO?= =?utf-8?B?MzAvdlVzVEF5K0ZNWS83Y3cwc0ZQUzNBTjVJeW5TUUNUUDV6Ky9HcE9ZaWlm?= =?utf-8?B?RmZlMTRnbjcxM3BaUmR2dWNXSDZHdDhvcVBxbFB3T28yUUgyeWJpOWM2anpS?= =?utf-8?B?T0xjRE05UGorL1hoc0NYVTJjS2x3NGhhN1Zqam1PcW8xOVc3WSswZW90OHJl?= =?utf-8?B?SVhSNTRxTU1HUXY2L1hxbzEyZVdONWEvUWlIS3BBaUFCaGxVZmF0ZnRZUTln?= =?utf-8?B?dVpDU1BMY2JBTU1FakVVSkRjQXNkdDJjRDZzbTBNTVg3T2lQTXFGOW1xK2Jp?= =?utf-8?B?MHIxRlkvWEs2cHZ3SmdZME1QNVhERCs5RCt5cm0zamxDbng2L01ZSTlOYTgx?= =?utf-8?B?SS9reXFpc0VXdnNNckF6R0s3Vm9IZXJXMEpqY29JNlU3SXV3bCtBY1FBVXB2?= =?utf-8?B?UE5NekJNV0JrUW9wQWNHNXBKdEI4SFZ3dEI5djFSeTVIUEMvZVZnVVV2MVBI?= =?utf-8?B?a2NTQy8rODFGUjdZV3RCOE1QMkl5ODB6TFd0NjgxZ3lyc0F6QnIwLzc0Wm5i?= =?utf-8?B?U0Fmc1psNlVrOFQwYVdhSDROWGsyTEliSWhGdCtJVkpHcCs1RGlmTjJqWGJl?= =?utf-8?Q?HPvF3ysw=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1340;6:9DCX3u/1zaHsFg34AQ3xMTRmzs5Xej/LmCg+C6JP6+R8yRJAfCPGzFxkGNsD2SXkYLpxVIz+0o3wp2BR5EgOIjQqrfPsk3kX0PURrFsfL5qGZSK2rRaNVc7ekYX6ApSyVuZgaciYUf9bi52ceEIBemkkFXtgGRRDHrkozztg1xPMJ0NnD1ga1c64r9sXFXLbERA+ajPz5MhES8+OlwmVQquNtKTWv+G7w7IZPbv7mUNhMAu2ebOykFz8Hi0blt6R54FJT/GVCSr1Iit5DmVLyv5MZSBuRXbnmhf8xP+ucgaupnr8apLewuWCRfL9zIMqW0GbDcW/EtfInQUzayXqH72hdslQAOpMMhchIcfXn2M=;5:btC+/KOJhPOhzOVHWb9uUhVIRof8zurGxQBKePeS+jb/6Hb7JCGgUOyPBQ07ki1CsJouJ1GAY2isKrVqZQdsCay/Zs5po2wIGXKh2oH/TmpRRZHTi8kGaq760cCYsRBcKYGj5oENraMUrhUf7cSEztYGVU/la4QFcoikZxmv3+o=;24:nEdcG+DKFAE5EdgKrETMQ2ieCRQ3QbDobjuiiq0QYkhywrG4HBxPmKQn9ZplEFCJAfjuIL3AbGkFGTKwZd0+Pj7KkCbghcZ0jMJe+1zRa1U=;7:UsyM2NqfpxSmCGLUciqIFv0VXigYUpQ+7KqHgpZM8kgGfmJIF+2Tg18Ke6P9hI7y7axOv6Is4UKDqEHNiDBPIcAF02+gwEgsQeMGBObxGwZ+NUYux155mu73/d++DbqV+Z27iwlM0cTaZqOFnBzMbDb3FDTCpKJObt0qbYYeydKr5bQ/9qeAW7AlxKp5P/d6/xOKRi+3SnHv2gyH+luSRPEtqWL1CJJ1yLalTAAHh8XFM/x6P/zY1WAVdTgL628k SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0801MB1340;20:20RVLZeALTIUicrmEXIPPlZjdF3bGY3ZhihuIqh9vhVUK6I3YWb4iMaQeUtooPIRUW9C7UnW87vvb/oisnIHLyuJPRrPgoHOy19qQ3D62mhAd3xmr13+Q+Lw/hHABUyt/dzLfhfD60pFPXcyPyd4nUsDb+3n+X6gL/Mjc4+y0hs= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2017 14:40:50.2052 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1e0894c1-8c00-483b-5e5c-08d525246041 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1340 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Show task_cgroup's nr_running in cgroup's "cpu.stat" file. This may be useful for containers to check a statistics of a single container. Signed-off-by: Kirill Tkhai --- kernel/sched/core.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 1b54707f5344..96dd30e6d243 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -6671,7 +6671,7 @@ static int __cfs_schedulable(struct task_group *tg, u64 period, u64 quota) static int cpu_stats_show(struct seq_file *sf, void *v) { struct task_group *tg = css_tg(seq_css(sf)); - int i, nr_iowait = 0; + int i, nr_running = 0, nr_iowait = 0; #ifdef CONFIG_CFS_BANDWIDTH struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth; @@ -6680,8 +6680,15 @@ static int cpu_stats_show(struct seq_file *sf, void *v) seq_printf(sf, "throttled_time %llu\n", cfs_b->throttled_time); #endif for_each_possible_cpu(i) { +#ifdef CONFIG_FAIR_GROUP_SCHED + nr_running += tg->cfs_rq[i]->nr_running; +#endif +#ifdef CONFIG_RT_GROUP_SCHED + nr_running += tg->rt_rq[i]->rt_nr_running; +#endif nr_iowait += atomic_read(&tg->stat[i].nr_iowait); } + seq_printf(sf, "nr_running %d\n", nr_running); seq_printf(sf, "nr_iowait %d\n", nr_iowait); return 0;