Re: kbdmux vs ATA? (was: ATA related panic during ZFS scrub)
- From: Robert Watson <rwatson@xxxxxxxxxxx>
- Date: Wed, 8 Apr 2009 20:38:44 +0100 (BST)
On Wed, 8 Apr 2009, Ed Schouten wrote:
* Ivan Voras <ivoras@xxxxxxxxxxx> wrote:Hmmm, this shows a lock order problem between ATA and kbdmux's Giant.
The current state of the input layer is a mess. I guess the policy was to not pick up any locks while in the debugger. Picking up Giant there is one of the most awful things that can happen, right?
As a general rule, the low-level console interfaces should acquire at most spinlocks in normal operation (cngetc, cnputc, etc), and no locks at all when in the debugger (kdb_active). The reason for the second rule should be obvious, but the reason for the first rule is less obvious: it's called during the boot in all kinds of sensitive places as a result of calls to printf(9), so has to be willing to run under the most sticky of circumstances.
Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"
- References:
- ATA related panic during ZFS scrub
- From: Mark Powell
- kbdmux vs ATA? (was: ATA related panic during ZFS scrub)
- From: Ivan Voras
- Re: kbdmux vs ATA? (was: ATA related panic during ZFS scrub)
- From: Ed Schouten
- ATA related panic during ZFS scrub
- Prev by Date: Re: NFS lockd/statd lock up network connection
- Next by Date: Re: Root mount fails again. CAM related?
- Previous by thread: Re: kbdmux vs ATA? (was: ATA related panic during ZFS scrub)
- Next by thread: Re: kbdmux vs ATA? (was: ATA related panic during ZFS scrub)
- Index(es):
Relevant Pages
|