On 10/28/06, Christian S.J. Peron <[EMAIL PROTECTED]> wrote:
It almost looks as if a user frequently runs gmirror(8) to query the status of their array. Under a high load situation, the worker is busy, so at one un-lucky momment, gmirror(8) is run: (1) gmirror(8) waits for sc->sc_lock owned by the worker (2) The worker then drops the lock (3) gmirror(8) proceeds (4) Worker wakes up and waits for sc->sc_lock (5) Only gmirror never will because it's waiting on a resource (presumably owned by the worker thread)? I am not certain this is correct, so I have included pjd in the CC loop, hoping he can help shed some light on the subject :)
This is just a followup to report that the problem seems unreproducable on an identical kernel if I leave out option PREEMPTION. Performance sucks that way, but at least it's stable now. Pawel seems to be rather busy with his GJOURNAL work and his ZFS port, is someone else able to reproduce the problem? Uli _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"