> 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/
This archive was generated by hypermail 2b29 : Sun Apr 15 2001 - 21:00:17 EST