jmerkey@wolfmountaingroup.com wrote: [Stefan Richter wrote]... ... Regarding rlock->count, I stand corrected: It works correctly if the debug_lock()...debug_unlock() region can be entered by up to two contexts and if the second one to enter cannot be preempted by the first one. However, since these regions are enclosed in preempt_disable/enable and since the first one to grab the rlock->lock keeps local interrupts disabled until debug_unlock() or even longer, there is always only a single context in the debug_lock()...debug_unlock() region --- which defeats the whole purpose of the rlock_t. Or what am I missing /now/? Independently of this, you cannot use rlock->flags like you currently do. spin_trylock_irqsave would overwrite the flags of CPU A by the flags of CPU B, making the results of spin_unlock_irqrestore in debug_unlock unpredictable. -- Stefan Richter -=====-==--- =--- =-=-= http://arcgraph.de/sr/ --
| Linus Torvalds | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Artem Bityutskiy | [RFC PATCH 06/26] UBIFS: add superblock and master node |
| Joe Perches | [PATCH 001/148] include/asm-x86/acpi.h: checkpatch cleanups - formatting only |
| Linus Torvalds | Re: LSM conversion to static interface |
git: | |
| Alexey Dobriyan | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Christoph Lameter | Network latency regressions from 2.6.22 to 2.6.29 |
