Re: sched: memory corruption on completing completions

From: Raghavendra K T
Date: Fri Feb 06 2015 - 09:59:41 EST


On 02/06/2015 12:18 PM, Raghavendra K T wrote:
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.


Just sent the patch with that idea, also keeping in mind that
head = tail may not hold good for trylock checking
(last unlock might have left TICKET_SLOWPATH_FLAG set)

http://article.gmane.org/gmane.linux.kernel/1883900

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/