Re: USB issue with kernel 3.6

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

 



Hi Alan,

Happy New Year!

I removed the previous short patch to ehci-q.c and applied
this second one.

After some extensive testing, I could not reproduce the
issue and dmesg showed the ususl "async off" and "async on"
messages, the second as soon as I started to read the HDDs.

Performance wise, it seems to me better than ever, I mean
I saw regular transfer of above 4000 KB/sec per disk.

Even with 2 processes reading the 10 HDDs, the data rate
was about 3800 KB/sec.

Next step?

Thanks,

bye,

pg

On Mon, Dec 17, 2012 at 02:59:21PM -0500, Alan Stern wrote:
> 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);

-- 

piergiorgio
--
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