Messages in this thread | | | Date | Wed, 29 Jan 2014 01:20:48 +0100 | From | Andi Kleen <> | Subject | Re: [PATCH v3 1/2] qspinlock: Introducing a 4-byte queue spinlock implementation |
| |
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
| |