From: Tariq Toukan <ttoukan.linux@gmail.com>
To: Yury Norov <yury.norov@gmail.com>
Cc: Valentin Schneider <vschneid@redhat.com>,
linux-kernel@vger.kernel.org,
"David S. Miller" <davem@davemloft.net>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Barry Song <baohua@kernel.org>, Ben Segall <bsegall@google.com>,
haniel Bristot de Oliveira <bristot@redhat.com>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Gal Pressman <gal@nvidia.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Heiko Carstens <hca@linux.ibm.com>,
Ingo Molnar <mingo@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
Jason Gunthorpe <jgg@nvidia.com>,
Jesse Brandeburg <jesse.brandeburg@intel.com>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Juri Lelli <juri.lelli@redhat.com>,
Leon Romanovsky <leonro@nvidia.com>, Mel Gorman <mgorman@suse.de>,
Peter Zijlstra <peterz@infradead.org>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Saeed Mahameed <saeedm@nvidia.com>,
Steven Rostedt <rostedt@goodmis.org>,
Tariq Toukan <tariqt@nvidia.com>, Tony Luck <tony.luck@intel.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
linux-crypto@vger.kernel.org, netdev@vger.kernel.org,
linux-rdma@vger.kernel.org
Subject: Re: [PATCH v2 0/4] cpumask: improve on cpumask_local_spread() locality
Date: Wed, 7 Dec 2022 14:53:58 +0200 [thread overview]
Message-ID: <19cbfb5e-22b1-d9c1-8d50-38714e3eaf7d@gmail.com> (raw)
In-Reply-To: <Y4a2MBVEYEY+alO8@yury-laptop>
On 11/30/2022 3:47 AM, Yury Norov wrote:
> On Mon, Nov 28, 2022 at 08:39:24AM +0200, Tariq Toukan wrote:
>>
>>
>> On 11/17/2022 2:23 PM, Valentin Schneider wrote:
>>> On 15/11/22 10:32, Yury Norov wrote:
>>>> On Tue, Nov 15, 2022 at 05:24:56PM +0000, Valentin Schneider wrote:
>>>>>
>>>>> Is this meant as a replacement for [1]?
>>>>
>>>> No. Your series adds an iterator, and in my experience the code that
>>>> uses iterators of that sort is almost always better and easier to
>>>> understand than cpumask_nth() or cpumask_next()-like users.
>>>>
>>>> My series has the only advantage that it allows keep existing codebase
>>>> untouched.
>>>>
>>>
>>> Right
>>>
>>>>> I like that this is changing an existing interface so that all current
>>>>> users directly benefit from the change. Now, about half of the users of
>>>>> cpumask_local_spread() use it in a loop with incremental @i parameter,
>>>>> which makes the repeated bsearch a bit of a shame, but then I'm tempted to
>>>>> say the first point makes it worth it.
>>>>>
>>>>> [1]: https://lore.kernel.org/all/20221028164959.1367250-1-vschneid@redhat.com/
>>>>
>>>> In terms of very common case of sequential invocation of local_spread()
>>>> for cpus from 0 to nr_cpu_ids, the complexity of my approach is n * log n,
>>>> and your approach is amortized O(n), which is better. Not a big deal _now_,
>>>> as you mentioned in the other email. But we never know how things will
>>>> evolve, right?
>>>>
>>>> So, I would take both and maybe in comment to cpumask_local_spread()
>>>> mention that there's a better alternative for those who call the
>>>> function for all CPUs incrementally.
>>>>
>>>
>>> Ack, sounds good.
>>>
>>
>> Good.
>> Is a respin needed, to add the comment mentioned above?
>
> If you think it's worth the effort.
No, not sure it is...
I asked because this mail thread was inactive for a while, with the
patches not accepted to the kernel yet.
If everyone is happy with it, let's make it to this kernel while possible.
To which tree should it go?
Thanks,
Tariq
next prev parent reply other threads:[~2022-12-07 12:54 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-12 19:09 [PATCH v2 0/4] cpumask: improve on cpumask_local_spread() locality Yury Norov
2022-11-12 19:09 ` [PATCH v2 1/4] lib/find: introduce find_nth_and_andnot_bit Yury Norov
2022-11-12 19:09 ` [PATCH v2 2/4] cpumask: introduce cpumask_nth_and_andnot Yury Norov
2022-11-12 19:09 ` [PATCH v2 3/4] sched: add sched_numa_find_nth_cpu() Yury Norov
2022-11-14 14:32 ` Andy Shevchenko
2022-11-14 15:02 ` Andy Shevchenko
2022-12-08 2:55 ` Yury Norov
2022-11-15 17:25 ` Valentin Schneider
2022-11-12 19:09 ` [PATCH v2 4/4] cpumask: improve on cpumask_local_spread() locality Yury Norov
2022-11-15 17:24 ` [PATCH v2 0/4] " Valentin Schneider
2022-11-15 18:32 ` Yury Norov
2022-11-17 12:23 ` Valentin Schneider
2022-11-28 6:39 ` Tariq Toukan
2022-11-30 1:47 ` Yury Norov
2022-12-07 12:53 ` Tariq Toukan [this message]
2022-12-07 20:45 ` Yury Norov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=19cbfb5e-22b1-d9c1-8d50-38714e3eaf7d@gmail.com \
--to=ttoukan.linux@gmail.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=baohua@kernel.org \
--cc=bristot@redhat.com \
--cc=bsegall@google.com \
--cc=davem@davemloft.net \
--cc=dietmar.eggemann@arm.com \
--cc=gal@nvidia.com \
--cc=gregkh@linuxfoundation.org \
--cc=hca@linux.ibm.com \
--cc=jesse.brandeburg@intel.com \
--cc=jgg@nvidia.com \
--cc=juri.lelli@redhat.com \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=saeedm@nvidia.com \
--cc=tariqt@nvidia.com \
--cc=tony.luck@intel.com \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.com \
--cc=yury.norov@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox