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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8251AC433EF for ; Wed, 20 Jul 2022 17:06:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 123606B0071; Wed, 20 Jul 2022 13:06:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0D41E6B0073; Wed, 20 Jul 2022 13:06:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EDD476B0074; Wed, 20 Jul 2022 13:06:26 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id E00B76B0071 for ; Wed, 20 Jul 2022 13:06:26 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B9E0F1C60A8 for ; Wed, 20 Jul 2022 17:06:26 +0000 (UTC) X-FDA: 79708106772.14.4C9F4ED Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175]) by imf26.hostedemail.com (Postfix) with ESMTP id 347C5140093 for ; Wed, 20 Jul 2022 17:06:26 +0000 (UTC) Received: by mail-qk1-f175.google.com with SMTP id o21so14110777qkm.10 for ; Wed, 20 Jul 2022 10:06:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=c5dtfvo8X5iwM555XYGNyX8BDWpR76NHDGfyCA16UfI=; b=gXnjZIAPvttLh4w+Ab05XIAYC8D5DFsAcn3ijUuLc+GSaiv8d+uPgFpGnvwgzTS/B3 rk2QbOkRfYBeLjblewcyl0Vb+S5PgQDkx3FIdSvkuq9BA0tsTAZGZM4defJCc6/5eI0l G4ECM2998z3lFf5BU+LDBrtFc51bW3sjaGP+oqBRHoO7lFKGHq4j80vF9X43peS43iqa FUBHW0bYtFMPCIRWJIpJpLIpWdOTHNEIfAA+fQwwUnPPqzuuIvUxzM0I9vzqRRgF3ei0 vzhw+Xp5jt42ygTQE7MFdspXgtuGzh2oSrTfPAI37A0raDJWGQsjyDo2k1a1jM9Hbw2h Sdgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=c5dtfvo8X5iwM555XYGNyX8BDWpR76NHDGfyCA16UfI=; b=n2nFpdubZ1dcAntypZuUxBKGOsZby5CcSFn6py66+WPXEtgsJ3ZXk6gk/qnG4IT6yQ 1kx+OvGNrDay4231avRySN6VxuimVMThTONd7yQyYNtsGs0OWJ/rMzq9RvkuL1sr4LK/ NIxqzL8lxP1yMrs8v98B1EzYzWZZ5zvwFk1y0sesEJ/4D+EDxEQlcSr3XKvY9ktDRv+n qB0lkjvOtIuJV0gqoRtNHLSH6NPBuSzhS0eH09dTWTSVXk03MRYk/iweNNujPPDVmxOo oOSSDn7T7giNIIv7rz34nIz//7qYc/JVzxUyBXRYhwfNTLTvL87IZ90BuklM9WHKuFcg 8YEg== X-Gm-Message-State: AJIora9cVHd95L+zGrwNUshA3tPO8uV+M7rRlwhqskoJhquqxRKptfKa E2Tp/iKyckSszBNW0HdjsmE= X-Google-Smtp-Source: AGRyM1uF7lm4SkCoCmiO9CDgTxUf5JkUnMZTBFaY3XD4jl+P4Tu0b4B+1O9aO2TfDEiT41gMmb4a7A== X-Received: by 2002:a37:b802:0:b0:6b5:8330:55a with SMTP id i2-20020a37b802000000b006b58330055amr25801868qkf.778.1658336785340; Wed, 20 Jul 2022 10:06:25 -0700 (PDT) Received: from localhost ([2601:4c1:c100:1230:8a38:8fe4:50f8:8b83]) by smtp.gmail.com with ESMTPSA id u11-20020a05620a0c4b00b006b4689e3425sm16467626qki.129.2022.07.20.10.06.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Jul 2022 10:06:25 -0700 (PDT) Date: Wed, 20 Jul 2022 10:06:24 -0700 From: Yury Norov To: Peter Zijlstra Cc: linux-kernel@vger.kernel.org, Alexander Lobakin , Alexei Starovoitov , Alexey Klimov , Andrew Morton , Andrii Nakryiko , Andy Shevchenko , Ben Segall , Christoph Lameter , Dan Williams , Daniel Borkmann , Daniel Bristot de Oliveira , Dennis Zhou , Dietmar Eggemann , Eric Dumazet , Frederic Weisbecker , Guenter Roeck , Ingo Molnar , Isabella Basso , John Fastabend , Josh Poimboeuf , Juergen Gross , Juri Lelli , KP Singh , Kees Cook , Martin KaFai Lau , Mel Gorman , Miroslav Benes , Nathan Chancellor , "Paul E . McKenney" , Randy Dunlap , Rasmus Villemoes , Sebastian Andrzej Siewior , Song Liu , Steven Rostedt , Tejun Heo , Thomas Gleixner , Valentin Schneider , Vincent Guittot , Vlastimil Babka , Yonghong Song , linux-mm@kvack.org, netdev@vger.kernel.org, bpf@vger.kernel.org Subject: Re: [PATCH 08/16] smp: optimize smp_call_function_many_cond() for more Message-ID: References: <20220718192844.1805158-1-yury.norov@gmail.com> <20220718192844.1805158-9-yury.norov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1658336786; a=rsa-sha256; cv=none; b=EBJZ1kHDG5BS93QEk1RWZG/j+HmnZ4dbdNeAQhDm4KU3nxPqa5o+RsoL2aHh0AUUebQbIA oZ+P6ZErTV4pXfj6AFSjd6znRw9EToPr39srsiFNWIUiGiQ+JRsJWU+sFVz4fx6Qvm3Cok RhqgAtWje6kUC/ay9e/6kBBY60sYFrM= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=gXnjZIAP; spf=pass (imf26.hostedemail.com: domain of yury.norov@gmail.com designates 209.85.222.175 as permitted sender) smtp.mailfrom=yury.norov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658336786; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=c5dtfvo8X5iwM555XYGNyX8BDWpR76NHDGfyCA16UfI=; b=iSWRPJIQIm5NKBDbhpzVF9Bml/yKJCw0KjGZNwW2b3aj+2eJevGfgkygrR1Tv5kBCCxDwH 589xkD9pBfENiq7K8IhT1neKAer7D55YPdyzIRQ2z9IraFolyMi+YNoi0GN+6pgOa/dIA2 J1yHVR6+UMQj9tQi8Pig1Sj3/Vc7eTA= X-Rspamd-Queue-Id: 347C5140093 Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=gXnjZIAP; spf=pass (imf26.hostedemail.com: domain of yury.norov@gmail.com designates 209.85.222.175 as permitted sender) smtp.mailfrom=yury.norov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: ua351ys79sstr3xyo7irrkeaqsp96uy9 X-HE-Tag: 1658336786-608363 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Jul 18, 2022 at 11:29:06PM +0200, Peter Zijlstra wrote: > On Mon, Jul 18, 2022 at 12:28:36PM -0700, Yury Norov wrote: > > > --- > > kernel/smp.c | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/kernel/smp.c b/kernel/smp.c > > index 7ed2b9b12f74..f96fdf944b4a 100644 > > --- a/kernel/smp.c > > +++ b/kernel/smp.c > > @@ -942,7 +942,11 @@ static void smp_call_function_many_cond(const struct cpumask *mask, > > > > if (run_remote) { > > cfd = this_cpu_ptr(&cfd_data); > > - cpumask_and(cfd->cpumask, mask, cpu_online_mask); > > + if (mask == cpu_online_mask) > > + cpumask_copy(cfd->cpumask, cpu_online_mask); > > + else > > + cpumask_and(cfd->cpumask, mask, cpu_online_mask); > > + > > Or... you could optimize cpumask_and() to detect the src1p == src2p case? This is not what I would consider as optimization. For vast majority of users this check is useless because they know for sure that cpumasks are different. For this case I can invent something like cpumask_and_check_eq(), so that there'll be minimal impact on user code. (Suggestions for a better name are very welcome.) Thanks, Yury