Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp5653597pxu; Wed, 23 Dec 2020 01:53:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJxITrW8+cbFoeDY4Y97zPvhoEDjg8ufpehFS2/TfYNq5HTsVYJ8c0nXeCksZzMm/Wlf19Lr X-Received: by 2002:a50:d5d5:: with SMTP id g21mr24721020edj.41.1608717212762; Wed, 23 Dec 2020 01:53:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1608717212; cv=none; d=google.com; s=arc-20160816; b=b/ZlLaGKEr/4Ovpv5Or5YuZ6t6hMGH+95iSHZsm5GwVzLkvBNVwrujJGKoeL3pZgzR yk8tSf6bi1JH4CyHR54tDLqPXvJMnhVaD3P2OyhX3br6GodDx00v2lMgQjAH/GnL+Vh1 du0/HaoHtvKeoWYK/n9O1gEDiOJN/OzO9may0tyETNfgBtlUsCPvtEzSA6g7tKsgzaAa VgTZawmjJg4TweeMsdeQvKT4zDVzBDO/4GIxBQrK/L/ZZ9ACyb4pbh6wNs4+2NVz76jh 7yTKLsWXZjFRfbdtlTWMEqH0LlcrLgcghG2Vc2cAO893QXYTogQ9nyhetLYOZcMjzjiH w8RA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=i8T2Cm6FnxE8zbZXoyWDy2tvwCF9gtslIKw21Zf+WAg=; b=e8Vp7OdkRJ8PrWhjea97SASHMY281qN7El/8xav2/5xeTdXss/e/e4p2Y+uii6yBXN 1jSVYPJHuvFV/n8t7UcgJwvWQRYbYtNtuQjqUAKY+IAvzYGzB26c47IfpWaes0KWD+Po lcMVmOKbPIvclU0bT2HnSseGNjojzyNaohkyYTvDQ1zTJ9kzDcin4FIrGZT0DkpLz8uz c+uM47Me+DFft9b9sjO1wfmT8mCX90YeJz7xTaqmUbHNbVJ6TaAT/sGUi2XZ3ZKd38Z4 MP8768GYobGGlRnQDXvt0Df6JJw8tHr+7/GKwXWFD8WNzHlNpfFeZuRKcqk6dCUNrbXf HzQQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=FL3R1PvJ; 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=163.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m1si11693224eje.652.2020.12.23.01.53.09; Wed, 23 Dec 2020 01:53:32 -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=@163.com header.s=s110527 header.b=FL3R1PvJ; 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=163.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728242AbgLWJwb (ORCPT + 99 others); Wed, 23 Dec 2020 04:52:31 -0500 Received: from m12-14.163.com ([220.181.12.14]:47036 "EHLO m12-14.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728147AbgLWJwa (ORCPT ); Wed, 23 Dec 2020 04:52:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id; bh=i8T2Cm6FnxE8zbZXoy WDy2tvwCF9gtslIKw21Zf+WAg=; b=FL3R1PvJCdYCWLYTCzn6Ui927l8tOC577p fymgaHobLiQhXdsF00JK3wRgzJyyfW9Ibe9KEXkSLvlA+6aj1FfLbBRuiR499hsx XfYv9/jGa3RR9bW8btvbUIuK/Z/T1VwacrUcoFZCrur4KnvGWoZBSHsWH/X5Ty2z zekGK5Tow= Received: from localhost.localdomain (unknown [14.17.22.31]) by smtp10 (Coremail) with SMTP id DsCowAA3Sno6++JfDt+dcQ--.47865S3; Wed, 23 Dec 2020 16:09:31 +0800 (CST) From: ultrachin@163.com To: linux-kernel@vger.kernel.org Cc: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, heddchen@tencent.com, xiaoggchen@tencent.com Subject: [PATCH] sched: pull tasks when CPU is about to run SCHED_IDLE tasks Date: Wed, 23 Dec 2020 16:09:28 +0800 Message-Id: <1608710968-31475-1-git-send-email-ultrachin@163.com> X-Mailer: git-send-email 1.8.3.1 X-CM-TRANSID: DsCowAA3Sno6++JfDt+dcQ--.47865S3 X-Coremail-Antispam: 1Uf129KBjvdXoWrtFykKFyUXw45Xr18Xw45trb_yoW3Arc_ua n3Crsakr15tw1jyFWxurW7XFyFqa40gF95Cw12yrW5G3sYyws3JrZ5AFyrGrs3KrWUCF97 Ar98WF92qr1xGjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU0DUUUUUUUU== X-Originating-IP: [14.17.22.31] X-CM-SenderInfo: xxow2thfkl0qqrwthudrp/1tbivxsEWFWBtFpCkQAAsR Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chen Xiaoguang Before a CPU switches from running SCHED_NORMAL task to SCHED_IDLE task, trying to pull SCHED_NORMAL tasks from other CPU by doing load_balance first. Signed-off-by: Chen Xiaoguang Signed-off-by: Chen He --- kernel/sched/fair.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index ae7ceba..0a26132 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -7004,6 +7004,11 @@ struct task_struct * struct task_struct *p; int new_tasks; + if (prev && + fair_policy(prev->policy) && + sched_idle_cpu(rq->cpu)) + goto idle; + again: if (!sched_fair_runnable(rq)) goto idle; -- 1.8.3.1