From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0347DC43619 for ; Mon, 10 May 2021 11:48:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E30896186A for ; Mon, 10 May 2021 11:48:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232900AbhEJLsj (ORCPT ); Mon, 10 May 2021 07:48:39 -0400 Received: from mail.kernel.org ([198.145.29.99]:37324 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234016AbhEJLCH (ORCPT ); Mon, 10 May 2021 07:02:07 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id E974061108; Mon, 10 May 2021 10:54:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620644043; bh=TLLlvGAs4hL4JF1E9xTbjkLlvWbBt4JKhCr2YX0T1BU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=vEBxY3xvjoJF9tu3AylZTlYt1tS/kQxluqU1dNLC4opoQ+uu6DayCj/lgRWgZfyv3 Ui9W0XVxPmlfX1nAUMYeNyi0oETEGRADwo+q/E3RJOMWZb8Kk1ZeHVqpbqvpf0ybO0 ioc258bAQqmEwjsQshtXz5FMGkvWxwuWgf5LlERprgDBwA+R249uB67sjNeYAad+uA 6PbmZWc3BgbTtTF2emiuW1ll4VhJwMZeniywTHU51sjEs3eKZT7JqBJhrxmwodgigS S/wQ+ZKv7UJZRfAH66nwOHT8tUfqQo8BNpIwc4P2aw2svZHhuKB8tJdjuqROIQgzvM ayRjEg/2EB0tA== Date: Mon, 10 May 2021 12:54:00 +0200 From: Frederic Weisbecker To: Peter Zijlstra Cc: Thomas Gleixner , LKML , "Rafael J . Wysocki" , Yunfeng Ye , Marcelo Tosatti Subject: Re: [PATCH 6/8] tick/nohz: Only wakeup a single target cpu when kicking a task Message-ID: <20210510105400.GC97481@lothringen> References: <20210422120158.33629-1-frederic@kernel.org> <20210422120158.33629-7-frederic@kernel.org> <20210510103901.GA97481@lothringen> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 10, 2021 at 12:48:14PM +0200, Peter Zijlstra wrote: > On Mon, May 10, 2021 at 12:39:01PM +0200, Frederic Weisbecker wrote: > > On Wed, May 05, 2021 at 03:43:28PM +0200, Peter Zijlstra wrote: > > > That had me looking at tick_nohz_task_switch(), does we want the below? > > > > > > > > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > > > index 9143163fa678..ff45fc513ba7 100644 > > > --- a/kernel/sched/core.c > > > +++ b/kernel/sched/core.c > > > @@ -4207,6 +4207,7 @@ static struct rq *finish_task_switch(struct task_struct *prev) > > > vtime_task_switch(prev); > > > perf_event_task_sched_in(prev, current); > > > finish_task(prev); > > > + tick_nohz_task_switch(); > > > finish_lock_switch(rq); > > > finish_arch_post_lock_switch(); > > > kcov_finish_switch(current); > > > @@ -4252,7 +4253,6 @@ static struct rq *finish_task_switch(struct task_struct *prev) > > > put_task_struct_rcu_user(prev); > > > } > > > > > > - tick_nohz_task_switch(); > > > return rq; > > > } > > > > > > diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c > > > index 828b091501ca..ea079be9097f 100644 > > > --- a/kernel/time/tick-sched.c > > > +++ b/kernel/time/tick-sched.c > > > @@ -447,13 +447,10 @@ void tick_nohz_dep_clear_signal(struct signal_struct *sig, enum tick_dep_bits bi > > > */ > > > void __tick_nohz_task_switch(void) > > > { > > > - unsigned long flags; > > > struct tick_sched *ts; > > > > > > - local_irq_save(flags); > > > - > > > if (!tick_nohz_full_cpu(smp_processor_id())) > > > - goto out; > > > + return; > > > > > > ts = this_cpu_ptr(&tick_cpu_sched); > > > > > > @@ -462,8 +459,6 @@ void __tick_nohz_task_switch(void) > > > atomic_read(¤t->signal->tick_dep_mask)) > > > tick_nohz_full_kick(); > > > } > > > -out: > > > - local_irq_restore(flags); > > > } > > > > > > /* Get the boot-time nohz CPU list from the kernel parameters. */ > > > > > > Sure, I'll take your SoB on that too, ok? > > OK, but please also test it :-) I didn't even ask a compiler it's > opinion on the thing. Of course, there will be another version of the patchset + usual testing :-)