Thread (30 messages) 30 messages, 8 authors, 2014-02-07

Re: [PATCH v3 1/2] qspinlock: Introducing a 4-byte queue spinlock implementation

From: Andi Kleen <hidden>
Date: 2014-01-29 00:20:52
Also in: lkml

So the 1-2 threads case is the standard case on a small
system, isn't it? This may well cause regressions.
In the extremely unlikely case that all the queue node entries are
used up, the current code will fall back to busy spinning without
waiting in a queue with warning message.
Traditionally we had some code which could take thousands
of locks in rare cases (e.g. all locks in a hash table or all locks of
a big reader lock) 

The biggest offender was the mm for changing mmu 
notifiers, but I believe that's a mutex now.
lglocks presumably still can do it on large enough
systems.  I wouldn't be surprised if there is 
other code which e.g. make take all locks in a table.

I don't think the warning is valid and will
likely trigger in some obscure cases.

-Andi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help