2009/8/9 M. Warner Losh <[email protected]>:
> In message: <[email protected]>
>            Hans Petter Selasky <[email protected]> writes:
> : On Sunday 09 August 2009 18:23:41 M. Warner Losh wrote:
> : > Any ideas how to track this down?
> :
> : Hi,
> :
> : USB is only draining from "usbd_transfer_drain()" in
> : /sys/dev/usb/usb_transfer.c . You could add a print including the backtrace
> : and see if that function gets called when it freezes.
>
> Ummm.  No.  Adding a traceback print to a function that's called 60
> times a second in steady state doesn't seem like a viable option.
>
> : Else I would try to compile a fresh kernel from USB P4. There are
> : some patches there in relation to the recent newbus lock change,
> : that might help.
>
> This kernel predates the newbus lock change.
>
> : USB uses uppercase "WDRAIN". Is your printout lowercase "wdrain" ?
>
> Yes.

That's used by the buffer cache in order to reduce pressure of
asynchronous writes. It waits for other writes to complete before to
go on. Probabilly, I/O requests get stuck for another reasong starving
the asynchronous requests queue flushing.

Attilio


-- 
Peace can only be achieved by understanding - A. Einstein
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[email protected]"

Reply via email to