Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2483904pxj; Mon, 10 May 2021 04:12:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwYLjgVOPJ7P4ckjvthSj6YlqTW+OpELeLgt1ycx2lKI3Rf0YfPFg4l6JL855ubvVHoW9DY X-Received: by 2002:a05:6e02:10c6:: with SMTP id s6mr22544325ilj.15.1620645125609; Mon, 10 May 2021 04:12:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620645125; cv=none; d=google.com; s=arc-20160816; b=tEQ44SgaTuvR1Vqks6neaw45s+/IGlCA1F4R0QgzHtOcJ8zKvuhERhiswaPltxZZ3k RCVCAQMZOu3scnTDRzwx0rrHlRqTrCB02vozoXrnRm8XcyfDBSPi1IZ+RNNV3WeEPZQ3 VwNBR9GFW8bAIjzH8Z5HBkQ6Se0GeBznnLqH5b8kUIzLejCd1wbEGgEz2KgrM7CUV7AM VQV+VDFi7y1QyLUPblUoFXU+4DoI3obd3f1WV4NcwJNXxwf4DwQKWYRRcVgOBSgNf1NB X8e+zVj5IXNAoDcz+ZHIdqmOMes9aMBHgkr/EydULIXgUh3CkNRxvmbDg49dSU2pnTG0 idgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=lSsB4xmkkkB7gTqlXl7sYNATqM/Cwwr7+8Jq6GTPVNE=; b=jnEPkpme8dqXUQaYuu0CDPThojflcR0MJd7V2pyzth1C6ytcvfHvftYNLScEpA5k+c 4522PkY6DV3mfCljhD1yfmFCQlqxCEV5NIrcO2UXLFlPyfouVdC63CdBgP7xehQ2DGEM 88zLAKSySbp8bNWgSBoWRji2ZEjC8CZrlFY8nCgiKZY0vWXPK9KvT7tE2BkVLciKnRDN nmNFbXkEsFUJvEvSdVEwPF9zp0X5Hdce0cyPgF5NSYWwLnSHXNIdunJ1OfAFZAPkp1J1 AKVXjlMbUsTgWevhJbl8NNr1nN38aJZT722t3S/fMdfv5aqsBY6CRGDM3TiQC6eK+jSi F1Iw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=jPOhAz5f; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i25si5412529ila.96.2021.05.10.04.11.52; Mon, 10 May 2021 04:12:05 -0700 (PDT) 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=@kernel.org header.s=k20201202 header.b=jPOhAz5f; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237048AbhEJLLO (ORCPT + 99 others); Mon, 10 May 2021 07:11:14 -0400 Received: from mail.kernel.org ([198.145.29.99]:32908 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233509AbhEJKuK (ORCPT ); Mon, 10 May 2021 06:50:10 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 97EFE61947; Mon, 10 May 2021 10:39:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620643144; bh=/DjZ2B4KoKtqZOfT8A0KYExXfi16cQxKFTdOHG8klYA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=jPOhAz5fRgmpQpoB/FjrlPkO9mIgCnFZiT4v6RCyNUqUfBzpYIjNw69Iz0fRYM+rq XyDXvQrRA9NjyviVRDJdOYKtkNbnZTmS+q3KopRB4XU9T6Y1RYcLXxv7GkkMeSl2re F7p/UwGjoaqm8ESROopuU4jlUIiUJsXWpzeUwL3+c++wgmZrx/G+VzmsrkuOyu/Wg0 1HnYjHF5f8tl4hnsjcZPSt/DLcqVLUqYbVvaVaK3n8ZW7iEd60IMZdcXDYeamNfMpi EI7Aq3l141oMhpoMUKwE5li7kgN3m2PgONACrk8gSYhFigm+T1ldoi7hnGoUPNrODP bucak7Y5xRd5A== Date: Mon, 10 May 2021 12:39:01 +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: <20210510103901.GA97481@lothringen> References: <20210422120158.33629-1-frederic@kernel.org> <20210422120158.33629-7-frederic@kernel.org> 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 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?