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]"

Reply via email to