> I may tinker with this test a bit to include some short randomI've been iterating ... adding new bits to try to reproduce the kernel environment: 1) Added delays (bigger delay not holding the lock than holding it - so contention is controlled) 2) Check that locking actually works (with a critzone element that is only modified when the lock is held). 3) Sometimes use trylock (all the odd numbered threads do this). Compile with -frename-registers ... and add a nop() { } function in another file (just to make sure the compiler doesn't optimize the delay loops). Sadly ... my user mode experiments haven't yet yielded any cases where the ticket locks fail in the way that Petr saw them mess up inside the kernel. This latest version has been running for ~90 minutes and has completed 25 million lock/trylock iterations (with about a third of the ticket lock wraparounds passing through the uncontested case (lock == 0) and the rest happening with some processes waiting for the lock. So now I'm trying to think of other ways that the kernel case differs from my user mode mock-up. -Tony
| Greg KH | Og dreams of kernels |
| Jens Axboe | [PATCH 31/33] Fusion: sg chaining support |
| Arnd Bergmann | Re: finding your own dead "CONFIG_" variables |
| Mark Brown | [PATCH 2/2] Subject: natsemi: Allow users to disable workaround for DspCfg reset |
| Tony Breeds | [LGUEST] Look in object dir for .config |
git: | |
| Brian Downing | Re: Git in a Nutshell guide |
| John Benes | Re: master has some toys |
| Matthias Lederhofer | [PATCH 4/7] introduce GIT_WORK_TREE to specify the work tree |
| Alexander Sulfrian |
