2010-06-01 06:23:43

by Nigel Cunningham

[permalink] [raw]
Subject: 2.6.35 Radeon KMS power management regression?

Hi all.

Just wondering if anyone else has tried to hibernate while using Radeon
KMS and a tree with Dave's post 2.6.34 patches? My 32 bit P4 based
system (with an RV250 card) is hanging at the atomic copy, with the
following backtrace

hibernation_snapshot
dpm_suspend_start
async_synchronize_full
async_synchronize_cookie
async_synchronize_cookie_domain

I've been trying to bisect, but this computer is being painfully slow,
so I haven't been making much progress. 2.6.34 with the same config is
fine, and my bisection progress so far seems to be pointing at the merge
I mentioned above.

Nigel


2010-06-01 06:33:18

by Dave Airlie

[permalink] [raw]
Subject: Re: 2.6.35 Radeon KMS power management regression?

On Tue, Jun 1, 2010 at 4:23 PM, Nigel Cunningham
<[email protected]> wrote:
> Hi all.
>
> Just wondering if anyone else has tried to hibernate while using Radeon KMS
> and a tree with Dave's post 2.6.34 patches? My 32 bit P4 based system (with
> an RV250 card) is hanging at the atomic copy, with the following backtrace
>
> hibernation_snapshot
> dpm_suspend_start
> async_synchronize_full
> async_synchronize_cookie
> async_synchronize_cookie_domain
>
> I've been trying to bisect, but this computer is being painfully slow, so I
> haven't been making much progress. 2.6.34 with the same config is fine, and
> my bisection progress so far seems to be pointing at the merge I mentioned
> above.

The only thing I can think off might be the output polling task, or
the fix from Jerome for AGP suspend/resume
10b06122afcc78468bd1d009633cb71e528acdc5 is AGP one to test

disabling output polling is a messier revert, might be easier to just edit
drivers/gpu/drm/drm_crtc_helper.c:drm_kms_helper_poll_init and remove
the delayed_slow_work_enqueue call, also forcing repoll to false
inside output_poll_execute which should in theory stop the polling
from starting or being kicked off later.

I'll try and recreate if I get a chance, cc'ing dri-devel also for Alex/Jerome.

Dave.

2010-06-01 06:43:20

by Nigel Cunningham

[permalink] [raw]
Subject: Re: 2.6.35 Radeon KMS power management regression?

Hi.

On 01/06/10 16:33, Dave Airlie wrote:
> On Tue, Jun 1, 2010 at 4:23 PM, Nigel Cunningham
> <[email protected]> wrote:
>> Hi all.
>>
>> Just wondering if anyone else has tried to hibernate while using Radeon KMS
>> and a tree with Dave's post 2.6.34 patches? My 32 bit P4 based system (with
>> an RV250 card) is hanging at the atomic copy, with the following backtrace
>>
>> hibernation_snapshot
>> dpm_suspend_start
>> async_synchronize_full
>> async_synchronize_cookie
>> async_synchronize_cookie_domain
>>
>> I've been trying to bisect, but this computer is being painfully slow, so I
>> haven't been making much progress. 2.6.34 with the same config is fine, and
>> my bisection progress so far seems to be pointing at the merge I mentioned
>> above.
>
> The only thing I can think off might be the output polling task, or
> the fix from Jerome for AGP suspend/resume
> 10b06122afcc78468bd1d009633cb71e528acdc5 is AGP one to test

Thanks for the quick reply. I've commented out the radeon_agp_suspend
call and will try that shortly. By the way, saw your recent commit
message talking about kids programs and lowering of IQs. I sympathise. I
have the Wiggles in my head far too much at the moment :)

> disabling output polling is a messier revert, might be easier to just edit
> drivers/gpu/drm/drm_crtc_helper.c:drm_kms_helper_poll_init and remove
> the delayed_slow_work_enqueue call, also forcing repoll to false
> inside output_poll_execute which should in theory stop the polling
> from starting or being kicked off later.

Will try that next.

> I'll try and recreate if I get a chance, cc'ing dri-devel also for Alex/Jerome.

Ta.

Nigel

2010-06-01 06:57:32

by Nigel Cunningham

[permalink] [raw]
Subject: Re: 2.6.35 Radeon KMS power management regression?

Hi again.

On 01/06/10 16:33, Dave Airlie wrote:
> On Tue, Jun 1, 2010 at 4:23 PM, Nigel Cunningham
> <[email protected]> wrote:
>> Hi all.
>>
>> Just wondering if anyone else has tried to hibernate while using Radeon KMS
>> and a tree with Dave's post 2.6.34 patches? My 32 bit P4 based system (with
>> an RV250 card) is hanging at the atomic copy, with the following backtrace
>>
>> hibernation_snapshot
>> dpm_suspend_start
>> async_synchronize_full
>> async_synchronize_cookie
>> async_synchronize_cookie_domain

Just tried with the agp_suspend invocation commented out - no
difference. But it did lead to me realising I'd forgotten to mention the
other part of the issue: the above backtrace is from the thread doing
the hibernating. In addition, there's an async work thread with the
following backtrace. (I love having kdb in vanilla!)

async_thread
async_suspend
__device_suspend
device_for_each_child
pm_op
pci_pm_freeze
pci_legacy_suspend
radeon_pci_suspend
radeon_suspend_kms
radeon_pm_suspend
del_timer_sync
try_to_del_timer_sync

>> I've been trying to bisect, but this computer is being painfully slow, so I
>> haven't been making much progress. 2.6.34 with the same config is fine, and
>> my bisection progress so far seems to be pointing at the merge I mentioned
>> above.
>
> The only thing I can think off might be the output polling task, or
> the fix from Jerome for AGP suspend/resume
> 10b06122afcc78468bd1d009633cb71e528acdc5 is AGP one to test
>
> disabling output polling is a messier revert, might be easier to just edit
> drivers/gpu/drm/drm_crtc_helper.c:drm_kms_helper_poll_init and remove
> the delayed_slow_work_enqueue call, also forcing repoll to false
> inside output_poll_execute which should in theory stop the polling
> from starting or being kicked off later.

Will try this now. Given the above, I guess it sounds more likely?

> I'll try and recreate if I get a chance, cc'ing dri-devel also for Alex/Jerome.

Nigel

2010-06-01 22:31:07

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: 2.6.35 Radeon KMS power management regression?

On Tuesday 01 June 2010, Dave Airlie wrote:
> On Tue, Jun 1, 2010 at 4:23 PM, Nigel Cunningham
> <[email protected]> wrote:
> > Hi all.
> >
> > Just wondering if anyone else has tried to hibernate while using Radeon KMS
> > and a tree with Dave's post 2.6.34 patches? My 32 bit P4 based system (with
> > an RV250 card) is hanging at the atomic copy, with the following backtrace
> >
> > hibernation_snapshot
> > dpm_suspend_start
> > async_synchronize_full
> > async_synchronize_cookie
> > async_synchronize_cookie_domain
> >
> > I've been trying to bisect, but this computer is being painfully slow, so I
> > haven't been making much progress. 2.6.34 with the same config is fine, and
> > my bisection progress so far seems to be pointing at the merge I mentioned
> > above.
>
> The only thing I can think off might be the output polling task, or
> the fix from Jerome for AGP suspend/resume
> 10b06122afcc78468bd1d009633cb71e528acdc5 is AGP one to test
>
> disabling output polling is a messier revert, might be easier to just edit
> drivers/gpu/drm/drm_crtc_helper.c:drm_kms_helper_poll_init and remove
> the delayed_slow_work_enqueue call, also forcing repoll to false
> inside output_poll_execute which should in theory stop the polling
> from starting or being kicked off later.
>
> I'll try and recreate if I get a chance, cc'ing dri-devel also for Alex/Jerome.

I'm not reproducing this on Acer Ferrari One (that has an rs780 IIRC),
but it seems I can reproduce it on a desktop box with some PCIe r300.

Tomorrow I'll try .35-rc1 on HP nx6325.

Rafael