Re: USB issue with kernel 3.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 17 Dec 2012, Piergiorgio Sartor wrote:

> Hi Alan,
> 
> I applied the latest patch, changing the unlinking
> behavior of EHCI.
> 
> I tested quite extensively and I could not see the
> issue (as expected). At a certain point I lost 3 HDDs,
> but this is something I saw before (it happens very
> seldom, maybe future debugging) and it was not really
> locking the EHCI driver.
> 
> Another thing is that the read performance was around
> about 10% slower that the usual one.
> I saw 3700~3800 KB/sec per HDD, while, under normal
> conditions, I saw 4100~4200 KB/sec per HDD.

The slower performance might be caused by all the idle QHs remaining on 
the async list.  The controller has to look at them because they are on 
the list, even though they aren't being used, and that could slow it 
down.

> I think that's all, how do you want to proceed now?

Below is another patch, which is meant to replace the previous one.  
This changes the behavior to be like the driver was before the
troublesome commit: Only one idle QH will be unlinked from the async
schedule at a time.

> Please note that shortly I'll not be anymore with
> my PC, until January, so we can take it easy.
> 
> In this respect, I wish you Merry Christmas and
> Happy New Year.

Enjoy your holidays too.

Alan Stern



Index: usb-3.7/drivers/usb/host/ehci-q.c
===================================================================
--- usb-3.7.orig/drivers/usb/host/ehci-q.c
+++ usb-3.7/drivers/usb/host/ehci-q.c
@@ -1279,8 +1279,9 @@ static void unlink_empty_async(struct eh
 
 		if (list_empty(&qh->qtd_list) &&
 				qh->qh_state == QH_STATE_LINKED) {
-			if (!stopped && qh->unlink_cycle ==
-					ehci->async_unlink_cycle)
+			if (!stopped && (qh->unlink_cycle ==
+					ehci->async_unlink_cycle ||
+					ehci->async_unlink))
 				check_unlinks_later = true;
 			else
 				single_unlink_async(ehci, qh);

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux