Messages in this thread | | | Subject | Re: [PATCH] i386 rw_semaphores fix | Date | Wed, 11 Apr 2001 22:27:02 +0100 | From | David Howells <> |
| |
> You need sterner testing stuff :) I hit the BUG at the end of rwsem_wake() > in about a second running rwsem-4. Removed the BUG and everything stops > in D state. > > Grab rwsem-4 from > > http://www.uow.edu.au/~andrewm/linux/rwsem.tar.gz > > It's very simple. But running fully in-kernel shortens the > code paths enormously and allows you to find those little > timing windows. Run rmsem-4 in two modes: one with > the schedule() in sched() enabled, and also with it > commented out. If it passes that, it works. When > you remove the module it'll print out the number of > read-grants versus write-grants. If these run at 6:1 > with schedule() disabled then you've kicked butt. > > Also, rwsem-4 checks that the rwsems are actually providing > exclusion between readers and writers, and between > writers and writers. A useful thing to check, that.
It now works (patch to follow).
schedule() enabled: reads taken: 686273 writes taken: 193414
schedule() disabled: reads taken: 585619 writes taken: 292997
David - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |