[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200618162549.GM576905@hirez.programming.kicks-ass.net>
Date: Thu, 18 Jun 2020 18:25:49 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Christoph Hellwig <hch@...radead.org>
Cc: mingo@...nel.org, tglx@...utronix.de, linux-kernel@...r.kernel.org,
juri.lelli@...hat.com, vincent.guittot@...aro.org,
dietmar.eggemann@....com, rostedt@...dmis.org, bsegall@...gle.com,
mgorman@...e.de, paulmck@...nel.org, frederic@...nel.org,
tsbogend@...ha.franken.de, axboe@...nel.dk, rjw@...ysocki.net,
daniel.lezcano@...aro.org, dchickles@...vell.com,
davem@...emloft.net, kuba@...nel.org, daniel.thompson@...aro.org,
gerald.schaefer@...ibm.com
Subject: Re: [PATCH 6/6] smp: Cleanup smp_call_function*()
On Wed, Jun 17, 2020 at 11:51:07PM -0700, Christoph Hellwig wrote:
> Much better. Although if we touch all the callers we might as well
> pass the csd as the argument to the callback, as with that we can
> pretty trivially remove the private data field later.
My plan was to introduce a new function and type and convert
smp_call_function_async() callers over to that. The csd as it exists is
useful for the regular smp_call_function*() API.
> Btw, it seems the callers that don't have the CSD embedded into the
> containing structure seems to be of these two kinds:
>
> - reimplementing on_each_cpumask (mostly because they can be called
> from irq context)
These are fairly special purpose constructs; and they come at the cost
of extra per-cpu storage and they have the limitiation that they must
wait for completion of the first before they can be used again.
> - reimplenenting smp_call_function_single because they want
> to sleep instead of busy wait
These are atrocious pieces of crap (the x86/msr ones), the reason it was
done is because virt :/
Powered by blists - more mailing lists