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

From: Andi Kleen
Date: Tue Jan 28 2014 - 19:21:17 EST



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
--
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/