From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932505AbdKFOkd (ORCPT ); Mon, 6 Nov 2017 09:40:33 -0500 Received: from mail-eopbgr20122.outbound.protection.outlook.com ([40.107.2.122]:45236 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932489AbdKFOk3 (ORCPT ); Mon, 6 Nov 2017 09:40:29 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ktkhai@virtuozzo.com; Subject: [PATCH 1/4] sched: Move manipulations with nr_iowait counter to separate functions 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:23 +0300 Message-ID: <150997922365.4082.11459898182580905440.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: VI1PR0501CA0024.eurprd05.prod.outlook.com (2603:10a6:800:92::34) To VI1PR0801MB1341.eurprd08.prod.outlook.com (2603:10a6:800:3a::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 98f01d26-855b-41af-8600-08d525245121 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603249);SRVR:VI1PR0801MB1341; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1341;3:St6NZiTLqRy7qzRjuQ0xou/KSDLpttMXMpHLKmJX0ZFxr/AJVNcTlilBqHZ2owrr/63A2YPMeVep81F+d6LuSWq85AOeN76VSCh0yyI60VP2DPpB7UH0UIlyuazqy8+s/lqjafTOqhuYCjO+UxL3X/CY9UhSkpwWxvQpDhbiQekgmeK0g3mAAFMg1EVA4HJwLy19yiXvPGr08vVUo3ta4To0zOIlBrMLZe+pg5pWGKGzHZ6wNqjLIOZ7o8rQ/4OV;25:jjJhtYLsgBAcw2MTNavP8GCq7KKH0u6NsrF6UJTSjrxAGB11pQe0FlnIClhQMsviWR4whk6xQaLyKKm4e4eqfWktHBaOtO9x2yr/AesIALzTYtJutlpq2osZivLvn4RHtKqNwr4WlkJaycLKkivNxIGU/xg/wEOcRbq2oDX1fWD4pExA+cZPkCnq8SUqTTWo1Ubd9FNCvK7cbirDP9RqBQmrpg+TF31zIiqPfyjA8lIZC0UZRBTkmnaBo85kriluuriO/H5UIuaXO/fBFiBxncdGaUELVi1gMvVrVppFnj6I7dDz74jc8/ZklEVOQmvkd3hbwhCPtvgO6cxpuaxhhQ==;31:R0RR9xJDyDM3B3hvC+wtKKd4Oc3UO4jxY2LjpKy+ru7J9AyJeoRBhjZL89nzWbV+ohTB+90WnxI18I4APjS/YDFbgOBzVtQIFCrD6zLtKm+oRj2eJNkGlACeaKPbw4h8NniSobm3qfN/8yDBwpMP0fL/jUtv+jvk2tRabPaGjKeNO4nWd9r2Lp3YcbXVYkk4Z6Kza1/AFyqSF/wP8YX1Vi+3ONndIy774PHZpio5QMA= X-MS-TrafficTypeDiagnostic: VI1PR0801MB1341: X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1341;20:bFu+OBBO5oOXrBgg/Mq1hxpUrWHHgI6GlRH2NACbk0SmJboE12jLHZ27EvVt672K8Vm5Gk5qk82Ue17W4CFiIxERIdMQkdGKsi8uW43BaxYgxBIqFyz/BqvFA57ku7c68P/EV5mSDn2M5rDxuoAoEVOyGlGXoyKo/Kmqtv8iARlhk/OKkEXtrOmjUZgZ6qvy/1I5zsaTIJLC5JvO/avJDh6m5oMt3Z5l9D4gp6SxhsSY6x2277a+q3dYU3IB/5lOBgfy4KoxYaPHOwmA401QOYUNR7rTx1QHWWia46ev3NoCitsKPUiIy8ul9XXqjmCbyN2A2xQ5RM1QwWWAkVVZSYMwufHrIJ8cY2KYf3CtRXMX8LOSqktu2eJ/CaeQFqr9lu0fl67cLf6awPu5bwxQbG/0nIphYXQqYChlMosp+Tk=;4:JT+gqzzekOW892kxHEoJwscPXxcnt1Qh3sPv6na/3DKxNsrXjNbKhpwjMlFpT+cAlh1gqTgalnnlNpS5O192HAlZMIjzzWJLUN65w+aaox4xhU8MWeYXHXT9+CE2HI1l/aYZS+Fv6kjmC/VkJ76+ecBYjfiZ7xnpWYXBeEVSxkgMtTd4SSJC/xh3ttAFB6DZrxL+OuJS1ApelYQqMqOnPwQHc1bdxVZIQ2RcFbXhqcKosXOgTYIrhmPkxoh/X5cQAu12udZ+4/qaDU4+HycXBg== 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)(8121501046)(5005006)(3231021)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:VI1PR0801MB1341;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:VI1PR0801MB1341; X-Forefront-PRVS: 048396AFA0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(6069001)(346002)(376002)(199003)(189002)(66066001)(103116003)(81156014)(81166006)(8676002)(8936002)(478600001)(316002)(2906002)(5660300001)(86362001)(16526018)(61506002)(305945005)(7736002)(23676003)(47776003)(97736004)(58126008)(50466002)(83506002)(9686003)(68736007)(33646002)(53936002)(2950100002)(189998001)(50986999)(76176999)(230700001)(101416001)(54356999)(3846002)(6506006)(25786009)(6116002)(105586002)(55016002)(106356001)(309714004);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0801MB1341;H:localhost.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA4MDFNQjEzNDE7MjM6VUNVQnAzRlFLN1hGVS9yRWRCVVU2bVpT?= =?utf-8?B?ZjZGVUI2L2YrSk9BTTJ3OXc2TFJkdzhLdDNNUzRnMHpXMnVEczdsVVNCYUkr?= =?utf-8?B?V0dleEVKbk1PVnVIa2dUTHdrRkliay9zeG50ckduQWpyRXlYQlhkazU0Umwz?= =?utf-8?B?NUZpdnp6ajd0SzJyNzdkdmRlclhnU2lybGhDT3dOM3l5aUI0U2djNEtwK2g0?= =?utf-8?B?Y3NjTUFzL0xVc2g4eStXWmNyd1NjTE5XU0c5NDFMTEVLVTFzTHdReG92RGdx?= =?utf-8?B?eXBmd0E0RldmaWpDMFJKdHE3NGFrZjNMOGR2a2Q3THgyMTdzd01YYk5zOGdO?= =?utf-8?B?YmtycUIzTnZCcFpKUWkwL2pEN2ErREMwSnRtMk80U3kveG9QU1Vjc1pubTcr?= =?utf-8?B?N0l3RStsR0xDZUNYYjV5b05RZHlvVDlNRjZVc05DZW1MWEUyVERuT1NCZU1l?= =?utf-8?B?R0RtT2lMdHJzMC9aOGNnc0dWNXdXaG1PM1JFeXNDV21RUnpaalNYNVhueUxD?= =?utf-8?B?aFFhUm1ZMjQ4VW1UOUFhQVBGejNiYkhvamV0OE1KQWF0ZjFPa21oNjdwcUFE?= =?utf-8?B?N0ZQZ1hkYldzVEhkenBCUVJmY2Jad2oxTjZIbDd2cHZKTFBWWExVeWlROUNJ?= =?utf-8?B?ZVI3QXdLRjFwa3ZUdVFVaXJ6cVJkT1RWV1ArY2VOWG1lUXVqbkNqZEphSnhy?= =?utf-8?B?V1dOcVJEZytCQWN5U0liTDFTTXQ4RWZFZkl2MC9SOFNLNEZRcDgreEJHWUN1?= =?utf-8?B?bHdRcFU5L2FwMzV0ckx0cElmMFRsQ0U0N2NLVVJDY2NaMFdIanRCRVhkR2pF?= =?utf-8?B?SElLUGFwNG41OXNBNTJMcGZxdFBydzFDVGtzR1V5YnIyaUg2K0tGbllQd2Zs?= =?utf-8?B?bThDY29sM1NpT0JhSTRnRVhUcDVsVGpLN0tVZTEzd2pNenlpbXoxUFYrZFYv?= =?utf-8?B?aVQ5VEdVNWJJem9pR3ZUeThGaWRhREkzVDBSTm1nWEYxNytsbVNEN2duY2Zt?= =?utf-8?B?T3hvSnFCQ1Bja1NQN0hiWmNqZXhHU2M4MXBqaVNPVEhtSEFrZVE1cXQwMGN3?= =?utf-8?B?YlliRnZjUFpNbXR5U0YvZUpoVzBwelB0aGE4bEtkeWJnbmtsa244Mlo4RWdC?= =?utf-8?B?dE1zZit1NkQ5UTgyQWcwZE9Fekk2VFEzbERndmZzelNpaVZHZkN5UDEwaTVv?= =?utf-8?B?QlVCQ25aNk50T2tDT2hHVndPTVFrNTZYajN3U2hTVVIyMHJmazZlbGtUSmQv?= =?utf-8?B?TzJiWmJnRjhDWVJpNzF6R0EvUnZGQUdQVXdJZ01zOWF1eFVxMFBsSjk2aS9i?= =?utf-8?B?c055S2NCQmdud3NYWnpMcWxBTVZTS1VhMDl1VUJhdXdwSStBc3ZLNVovTGkv?= =?utf-8?B?SzFhcFk0c0lwMkl6WEJERzdoa3B6VWE3MUw5dWNDUmEwbkJNYjBFVjh5d2pN?= =?utf-8?Q?MtYtISSKVv0SKdrRzt+B2yxg2PhQO?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1341;6:EFbBtxn8iEwm2xJfnwo8JoO7K7sfelLL8RcHkc3CpN66eEJosui8706uwjXJoIY8L/kiSuZ85CxfNfW08X1pndwBZGCRti6YG9MuSTAcjmo0k4mPgrGMWaaAtSzrzzL2FH4LgaO8rb4weevyUoD+iJq46ecTW8u9o/aqhi4YStvdEVFOJXbJyskRhhFG+l4e2UlZ2c6I/8Xey7yR5Tt2edvejUYoZg5lipSgyKO6WFcAR41Ah2ZalkVJ0XZe9nbeqZFenqPD1WXqrCThl8qEJPL4ieM7CIPg8OmmQGmlBCXzsKrLIHR500ZQu5ibFMCuAXZPoIwYfGGvixv72yiAzToi23MYXE9X2wDsSnBE5QY=;5:KtrkBX5+fm4XULUqQLhGWLMLEK9BOREltiK/x8JbZgBQx0RfSYLQrpoa/mi1iDajxLnfZhnwZzDZPy9HX17gIJG5cQD9k64PHDLWuNSJV2nITsJcsbbCMbDVuySQNf9CQvZwELfQoHqLPrE9Y1QVZRZtznt6lmy2/6hFOifN4jc=;24:qLybBzqktI0LcOV5KRLvxMCWHLdDDJ8OLaeZmktV/TzzffNs1hcTGuocdpHCPA+HUgCtE6i7xJe0TeOTl9DJTExxxvoykSt7edsiBFbP8ac=;7:1F7xrM7n/wOV0KtB0eqeOJ7LZO3fjo7IdgPCagHKkSR9D1rqIOU4y57zQUk3XZ5avX+rWD3dwZHvA7rsP5Kgib99olerEUcwwQi/mT/MCUSMfwDOB3fE0ZtlAWgFEuQ8T1xDJpveXHfqZ0hYbOHPLcKX9cRHsA8y5Ayng7bCKAXXH4KgAdn9c2X29Oz+YsD/3/4ltrO8bQXe3CMvIEgmmxcBBVJoxWzXhJN3NOv/ICfhp5RCBX8uqxIODR+UvQnu SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB1341;20:jQUmiWGtzkJ7x/kwzCXp0EJM8C1HPtlHy7QiWSoH5/GOkUDQ9znBnGISMc/D90FhKMWA63dwOPcV1SIvK9Tii48FqCNkyu0wO/fcljIFkjnAqz4ssliyowRGmq4o1u/vd6ib2HiHstAWmA836GWfCnV1Vy0l86cnGrkmKsU1llc= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2017 14:40:24.9401 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 98f01d26-855b-41af-8600-08d525245121 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1341 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Move the (repeating) code to new helpers to reduce its volume and to improve its readability. Signed-off-by: Kirill Tkhai --- kernel/sched/core.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 72d1ab9550c0..712ee54edaa1 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -794,6 +794,18 @@ void deactivate_task(struct rq *rq, struct task_struct *p, int flags) dequeue_task(rq, p, flags); } +static void task_iowait_start(struct rq *rq, struct task_struct *p) +{ + atomic_inc(&rq->nr_iowait); + delayacct_blkio_start(); +} + +static void task_iowait_end(struct rq *rq, struct task_struct *p) +{ + delayacct_blkio_end(); + atomic_dec(&rq->nr_iowait); +} + /* * __normal_prio - return the priority that is based on the static prio */ @@ -2051,10 +2063,8 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) p->sched_contributes_to_load = !!task_contributes_to_load(p); p->state = TASK_WAKING; - if (p->in_iowait) { - delayacct_blkio_end(); - atomic_dec(&task_rq(p)->nr_iowait); - } + if (p->in_iowait) + task_iowait_end(task_rq(p), p); cpu = select_task_rq(p, p->wake_cpu, SD_BALANCE_WAKE, wake_flags); if (task_cpu(p) != cpu) { @@ -2064,10 +2074,8 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) #else /* CONFIG_SMP */ - if (p->in_iowait) { - delayacct_blkio_end(); - atomic_dec(&task_rq(p)->nr_iowait); - } + if (p->in_iowait) + task_iowait_end(task_rq(p), p); #endif /* CONFIG_SMP */ @@ -2117,10 +2125,8 @@ static void try_to_wake_up_local(struct task_struct *p, struct rq_flags *rf) trace_sched_waking(p); if (!task_on_rq_queued(p)) { - if (p->in_iowait) { - delayacct_blkio_end(); - atomic_dec(&rq->nr_iowait); - } + if (p->in_iowait) + task_iowait_end(rq, p); ttwu_activate(rq, p, ENQUEUE_WAKEUP | ENQUEUE_NOCLOCK); } @@ -3320,10 +3326,8 @@ static void __sched notrace __schedule(bool preempt) deactivate_task(rq, prev, DEQUEUE_SLEEP | DEQUEUE_NOCLOCK); prev->on_rq = 0; - if (prev->in_iowait) { - atomic_inc(&rq->nr_iowait); - delayacct_blkio_start(); - } + if (prev->in_iowait) + task_iowait_start(rq, prev); /* * If a worker went to sleep, notify and ask workqueue