On Fri, 20 Jan 2006 11:16:04 -0600, "Frantz, Chris" <[EMAIL PROTECTED]> wrote:

> I've been meaning to get back to you about this.  The latest kernels
> (those that use check_fsbr() instead of stall_callback) don't seem to
> suffer from the same problem.
>[...]
> I'm not exactly sure what should be done about this.  On earlier kernels
> (before check_fsbr()), 250ms seems to be a good value for IDLE_TIMEOUT.

Here's an update. I have compared the code in RHEL 4 (2.6.9) and 2.6.15,
and found absolutely NO functional difference... except ...
that the root hubs are polled every 250ms in 2.6.15, while the private
timer of uhci in 2.6.9 fires every 100ms.

In other words, the value of IDLE_TIMEOUT (50ms) has a limited bearing
on reality. We test if the timeout was reached every 100ms in 2.6.9
and every 250ms in 2.6.15.

Remember that iLO exchanges the data with an image sysadmin's laptop.
There can be a noticeable delay from the moment we submit the URB to
the moment the data is actually transferred. This is probably how the
FSBR manages to time out.

If the above theory is correct, the only way NO_FSBR flag can help is
because it prevents us from switching TDs into UHCI_PTR_DEPTH mode
in uhci_fsbr_timeout. This is something I do not understand completely
yet.

Chris can test my conclusion by tuning the poll interval way down in
usb_hcd_poll_rh_status, then varying IDLE_TIMEOUT. It's quite possible
that the threshold value of IDLE_TIMEOUT would then depend on the load
in the LAN at HP premises.

The solution? I am afraid we have to implement Stern's suggestion:

> Ultimately the correct approach will involve monitoring the number of TDs 
> completed during a time interval.  When this number remains at 0, FSBR 
> should be turned off.  The next TD in each active endpoint queue can be 
> marked to generate an interrupt on completion, so as soon as the tranfers 
> resume the driver will know to turn FSBR back on.

-- Pete


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to