On Fri, Jul 24, 2020 at 03:10:59PM -0400, Waiman Long wrote:You are right. I realized that later on and had sent a follow-up mail to correct that.
On 7/24/20 4:16 AM, Will Deacon wrote:That sounds horrific, wouldn't that destroy the whole point of using a
On Thu, Jul 23, 2020 at 08:47:59PM +0200, peterz@xxxxxxxxxxxxx wrote:After thinking more about that, I think we can use all the remaining bits in
On Thu, Jul 23, 2020 at 02:32:36PM -0400, Waiman Long wrote:I can see it potentially being useful for debugging, but I hate the
BTW, do you have any comment on my v2 lock holder cpu info qspinlock patch?I want to say I hate it all, it adds instructions to a path we spend an
I will have to update the patch to fix the reported 0-day test problem, but
I want to collect other feedback before sending out v3.
aweful lot of time optimizing without really getting anything back for
it.
Will, how do you feel about it?
limitation to 256 CPUs. Even arm64 is hitting that now.
the 16-bit locked_pending. Reserving 1 bit for locked and 1 bit for pending,
there are 14 bits left. So as long as NR_CPUS < 16k (requirement for 16-bit
locked_pending), we can put all possible cpu numbers into the lock. We can
also just use smp_processor_id() without additional percpu data.
byte for pending?
That could be a possible solution to ensure better fairness.It's not a lack of interrest. We were struggling with the fairnessAlso, you're talking ~1% gains here. I think our collective time wouldI thought you guys are not interested in CNA. I do want to get CNA merged,
be better spent off reviewing the CNA series and trying to make it more
deterministic.
if possible. Let review the current version again and see if there are ways
we can further improve it.
issues and the complexity of the thing. I forgot the current state of
matters, but at one point UNLOCK was O(n) in waiters, which is, of
course, 'unfortunate'.
I'll have to look up whatever notes remain, but the basic idea of
keeping remote nodes on a secondary list is obviously breaking all sorts
of fairness. After that they pile on a bunch of hacks to fix the worst
of them, but it feels exactly like that, a bunch of hacks.
One of the things I suppose we ought to do is see if some of the ideas
of phase-fair locks can be applied to this.
That is always true and I feel this way too:-)
That coupled with a chronic lack of time for anything :-(