2013-03-07 00:17:49

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: Abysmal HDD/USB write speed after sleep on a UEFI system

On Tue, Feb 26, 2013 at 12:14 PM, Artem S. Tashkinov <[email protected]> wrote:
> Feb 27, 2013 12:47:01 AM, Bjorn Helgaas wrote:
> On Mon, Feb 25, 2013 at 11:35 PM, Artem S. Tashkinov wrote:
>>> Feb 26, 2013 03:57:52 AM, Bjorn Helgaas wrote:
>>>>
>>>>Where are we at with this, Artem? I assume it's still a problem.
>>>>
>>>
>>> Yes, it is, Bjorn.
>>>
>>> In order to eliminate this problem I switched back to MBR yesterday, because
>>> so far I haven't received any instructions or guidance as to how I can debug
>>> it further. I'm absolutely sure USB write speed is just another manifestation of
>>> it so I decided not to debug USB specifically (it just doesn't make too much
>>> sense).
>>>
>>> What I see is that something terribly wrong is going on but if Linus has no ideas
>>> I, as an average Joe, don't have a slightest clue as to what I can do.
>>>
>>> The bug report with necessary, but seemingly useless information, can be
>>> found here: https://bugzilla.kernel.org/show_bug.cgi?id=53551
>>>
>>> If anyone comes up with new ideas I can quickly try UEFI again now that I
>>> have two HDDs at my disposal (the old one is formatted as GPT, the new one is
>>> MBR).
>>
>>The ideas I saw are:
>>
>>1) Figure out whether it ever worked. If an older kernel worked
>>correctly and a newer one is broken, bisection is at least a
>>possibility. You mentioned that it did work before (Feb 12), but in
>>the past you never suspended twice in one boot session, whereas maybe
>>you did when seeing the problem?
>
> This is difficult to say since the first kernel I tried to run in EUFI mode was
> 3.7.x, so I've no idea if any previous ones ever worked.
>
>>
>>2) Try the "setpci" to set the MSI address back to the original value
>>to see if it makes a difference (see my Feb 12 message).
>
> I will try it soon and report back to you.
>
>>
>>3) Collect "lspci -vvv -xxxx" output to investigate the XHCI
>>Unsupported Request errors.
>>
>>4) Use usbmon to collect traces before and after the suspend.
>
> Likewise. Still I don't quite understand why you are persistent in your
> desire to investigate USB controllers specifically - my problem affects
> all storage devices that I have.

Well, in the absence of good ideas about what's going on, I guess we
have to pursue even the bad ideas that don't seem like they'd be
related :) Speaking of bad ideas, any news on 2) and 3) above?

You mentioned in the bugzilla that Windows complains about MTRRs being
changed across the S4 sleep state transition. I don't think Linux
looks for such a change. You could try looking at /proc/mtrr before
and after the suspend/resume to see if anything changed there. It
looks like there's even support for *writing* the MTRRs via
/proc/mtrr, so if anything did change, you could also try changing it
back.

Bjorn


2013-04-26 21:36:59

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: Abysmal HDD/USB write speed after sleep on a UEFI system

On Wed, Mar 6, 2013 at 5:17 PM, Bjorn Helgaas <[email protected]> wrote:
> On Tue, Feb 26, 2013 at 12:14 PM, Artem S. Tashkinov <[email protected]> wrote:
>> Feb 27, 2013 12:47:01 AM, Bjorn Helgaas wrote:
>> On Mon, Feb 25, 2013 at 11:35 PM, Artem S. Tashkinov wrote:
>>>> Feb 26, 2013 03:57:52 AM, Bjorn Helgaas wrote:
>>>>>
>>>>>Where are we at with this, Artem? I assume it's still a problem.
>>>>>
>>>>
>>>> Yes, it is, Bjorn.
>>>>
>>>> In order to eliminate this problem I switched back to MBR yesterday, because
>>>> so far I haven't received any instructions or guidance as to how I can debug
>>>> it further. I'm absolutely sure USB write speed is just another manifestation of
>>>> it so I decided not to debug USB specifically (it just doesn't make too much
>>>> sense).
>>>>
>>>> What I see is that something terribly wrong is going on but if Linus has no ideas
>>>> I, as an average Joe, don't have a slightest clue as to what I can do.
>>>>
>>>> The bug report with necessary, but seemingly useless information, can be
>>>> found here: https://bugzilla.kernel.org/show_bug.cgi?id=53551
>>>>
>>>> If anyone comes up with new ideas I can quickly try UEFI again now that I
>>>> have two HDDs at my disposal (the old one is formatted as GPT, the new one is
>>>> MBR).
>>>
>>>The ideas I saw are:
>>>
>>>1) Figure out whether it ever worked. If an older kernel worked
>>>correctly and a newer one is broken, bisection is at least a
>>>possibility. You mentioned that it did work before (Feb 12), but in
>>>the past you never suspended twice in one boot session, whereas maybe
>>>you did when seeing the problem?
>>
>> This is difficult to say since the first kernel I tried to run in EUFI mode was
>> 3.7.x, so I've no idea if any previous ones ever worked.
>>
>>>
>>>2) Try the "setpci" to set the MSI address back to the original value
>>>to see if it makes a difference (see my Feb 12 message).
>>
>> I will try it soon and report back to you.
>>
>>>
>>>3) Collect "lspci -vvv -xxxx" output to investigate the XHCI
>>>Unsupported Request errors.
>>>
>>>4) Use usbmon to collect traces before and after the suspend.
>>
>> Likewise. Still I don't quite understand why you are persistent in your
>> desire to investigate USB controllers specifically - my problem affects
>> all storage devices that I have.
>
> Well, in the absence of good ideas about what's going on, I guess we
> have to pursue even the bad ideas that don't seem like they'd be
> related :) Speaking of bad ideas, any news on 2) and 3) above?
>
> You mentioned in the bugzilla that Windows complains about MTRRs being
> changed across the S4 sleep state transition. I don't think Linux
> looks for such a change. You could try looking at /proc/mtrr before
> and after the suspend/resume to see if anything changed there. It
> looks like there's even support for *writing* the MTRRs via
> /proc/mtrr, so if anything did change, you could also try changing it
> back.

Did this problem ever get resolved?

Bjorn