On 02/06/2015 04:27 AM, Linus Torvalds wrote:
On Thu, Feb 5, 2015 at 2:37 PM, Davidlohr Bueso <dave@xxxxxxxxxxxx>
wrote:
It is possible that the paravirt spinlocks could be saved by:
- moving the clearing of TICKET_SLOWPATH_FLAG into the fastpath
locking code.
Ouch, to avoid deadlocks they explicitly need the unlock to occur before
the slowpath tail flag is read.
Well, just make the unlock do the actual real unlock operation
("fastpath"), leaving the TICKET_SLOWPATH_FLAG alone. The unlock path
can *test* the flag and do whatever kicking it needs to get people
started again, but not clear it again.
This is definitely a good idea, will think more on this.