From: Zdenek Kabelac <zkabelac@redhat.com>
To: Alan Stern <stern@rowland.harvard.edu>,
Guenter Roeck <linux@roeck-us.net>
Cc: LKML <linux-kernel@vger.kernel.org>,
dianders@chromium.org, gregkh@linuxfoundation.org
Subject: Re: USB disk speed regression WD Elements - with bisect result 22547c4cc4fe20698a6a85a55b8788859134b8e4
Date: Wed, 26 Jul 2017 16:36:36 +0200 [thread overview]
Message-ID: <da0cd128-4ed6-fd7a-37a9-2fe49afb4fa9@redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1707261022050.1965-100000@iolanthe.rowland.org>
Dne 26.7.2017 v 16:28 Alan Stern napsal(a):
> On Tue, 25 Jul 2017, Guenter Roeck wrote:
>
>> On 07/25/2017 12:50 PM, Alan Stern wrote:
>>> On Tue, 25 Jul 2017, Zdenek Kabelac wrote:
>>>
>>>> Dne 25.7.2017 v 19:02 Alan Stern napsal(a):
>>>>> On Tue, 25 Jul 2017, Zdenek Kabelac wrote:
>>>>>
>>>>>> And in fact it's the very same commit - which adds this message
>>>>>> (just check current 4.13 with and without this commit reverted)
>>>>>>
>>>>>> So here goes usbmon trace (aka 'cat /sys/kernel/debug/usb/usbmon/0u')
>>>>>> no other usb device has been touch so should not hopefully interfere here.
>>>>>>
>>>>>> Trace is from 4.12 kernel - so it has reported "not running at top speed"
>>>>>
>>>>> Can you collect an equivalent trace under 4.8?
>>>>>
>>>>> Alan Stern
>>>>>
>>>>
>>>> Hi
>>>>
>>>>
>>>> Sure - no pb.
>>>>
>>>> Just attached & detached USB disk in this trace
>>>
>>> This is really peculiar. The only difference is that the 4.12 trace
>>> shows an extra 250 ms delay (including two extra Get-Port-Status
>>
>> Most likely we are now catching the long reset timeout. HUB_LONG_RESET_TIME
>> is 200 ms. It looks like the code is catching exactly the condition
>> addressed in my patch, ie USB_PORT_STAT_RESET is cleared but
>> USB_PORT_STAT_CONNECTION is not yet set. hub_port_wait_reset() will
>> now wait for USB_PORT_STAT_CONNECTION, which it didn't do before.
>>
>>> requests) compared to the 4.8 trace. I honestly can't tell what could
>>> be causing the switch from high speed to full speed, or why it would
>>> happen in one case but not the other.
>>>
>>
>> We talked about this today. What is causing the switch from high speed to
>> full speed ? Is this triggered by the kernel, or by the USB controller ?
>
> A little of both. When a reset completes, if the device does not
> follow the high-speed chirp protocol, the EHCI status registers show
> that the port is not enabled. When the driver sees that, it sets a bit
> that causes the connection to be moved over from the high-speed EHCI
> controller to the companion full-speed UHCI controller. The code that
> does this is in check_reset_complete() in ehci-hub.c.
Well I do have 4.13-rc1 kernel - where the only difference is the revert
of mentioned patched - so I can provide probably traces from this one if that
helps anything.
What is not quite clear to me - why T440 works.
Could this be in some way related to the fact that T61 is USB2 only old lenovo
machine while T440 works with USB3 (new SuperSpeed USB device number...)
So maybe there is some time-sensitive logic - where WD Elements
decides to be USB2 or USB3 device ???
Zdenek
next prev parent reply other threads:[~2017-07-26 14:36 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-24 12:03 USB disk speed regression WD Elements - with bisect result 22547c4cc4fe20698a6a85a55b8788859134b8e4 Zdenek Kabelac
2017-07-24 14:41 ` Alan Stern
2017-07-24 21:03 ` Guenter Roeck
2017-07-25 10:06 ` Zdenek Kabelac
2017-07-25 14:25 ` Alan Stern
2017-07-25 14:34 ` Zdenek Kabelac
2017-07-25 15:03 ` Zdenek Kabelac
2017-07-25 17:02 ` Alan Stern
2017-07-25 17:46 ` Zdenek Kabelac
2017-07-25 19:50 ` Alan Stern
2017-07-26 2:33 ` Guenter Roeck
2017-07-26 14:28 ` Alan Stern
2017-07-26 14:36 ` Zdenek Kabelac [this message]
2017-07-26 15:04 ` Alan Stern
2017-07-26 17:49 ` Zdenek Kabelac
2017-07-27 1:03 ` Alan Stern
2017-07-27 9:11 ` Zdenek Kabelac
2017-07-28 18:33 ` Alan Stern
[not found] <49a43034-9330-e48d-f0d5-896b23ecb552@redhat.com>
2017-07-29 2:09 ` Alan Stern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=da0cd128-4ed6-fd7a-37a9-2fe49afb4fa9@redhat.com \
--to=zkabelac@redhat.com \
--cc=dianders@chromium.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox