[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANRm+CxD=Gt-8vb8o1Ew-ZQTp0-E1BKXXQ0jZAe115wF7qU_0g@mail.gmail.com>
Date: Fri, 15 Jul 2016 15:45:58 +0800
From: Wanpeng Li <kernellwp@...il.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Waiman Long <waiman.long@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Wanpeng Li <wanpeng.li@...mail.com>,
Ingo Molnar <mingo@...nel.org>,
Davidlohr Bueso <dave@...olabs.net>
Subject: Re: [PATCH v3] locking/pvqspinlock: restore/set vcpu_hashed state
after failing adaptive locking spinning
2016-07-15 15:09 GMT+08:00 Peter Zijlstra <peterz@...radead.org>:
> On Fri, Jul 15, 2016 at 05:26:40AM +0800, Wanpeng Li wrote:
>> 2016-07-14 22:52 GMT+08:00 Waiman Long <waiman.long@....com>:
>> [...]
>> > As pv_kick_node() is called immediately after designating the next node as
>> > the queue head, the chance of this racing is possible, but is not likely
>> > unless the lock holder vCPU gets preempted for a long time at that right
>> > moment. This change does not do any harm though, so I am OK with that.
>> > However, I do want you to add a comment about the possible race in the code
>> > as it isn't that obvious or likely.
>>
>> How about something like:
>>
>> /*
>> * If the lock holder vCPU gets preempted for a long time, pv_kick_node will
>> * advance its state and hash the lock, restore/set the vcpu_hashed state to
>> * avoid the race.
>> */
>
> So I'm not sure. Yes it was a bug, but its fairly 'obvious' it should be
I believe Waiman can give a better comments. :)
> vcpu_hashed, we did after all hash the thing.
>
>> Btw, do you think patch title should be improved, what do you like?
>
> I changed it to: "locking/pvqspinlock: Fix double hash race"
Thanks. :)
Regards,
Wanpeng Li
Powered by blists - more mailing lists