Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1334613 > unrolled thread

Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...'

Started byGuenter Roeck <linux@roeck-us.net>
First post2016-02-15 18:10 +0100
Last post2016-02-16 00:30 +0100
Articles 8 on this page of 28 — 8 participants

Back to article view | Back to linux.kernel


Contents

  Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' Guenter Roeck <linux@roeck-us.net> - 2016-02-15 18:10 +0100
    Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' "Rafael J. Wysocki" <rafael@kernel.org> - 2016-02-15 19:50 +0100
      Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' "Rafael J. Wysocki" <rafael@kernel.org> - 2016-02-15 19:50 +0100
      Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' Marc Zyngier <marc.zyngier@arm.com> - 2016-02-15 20:00 +0100
        Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' "Rafael J. Wysocki" <rafael@kernel.org> - 2016-02-15 20:00 +0100
          Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' Marc Zyngier <marc.zyngier@arm.com> - 2016-02-15 20:10 +0100
            Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' "Rafael J. Wysocki" <rafael@kernel.org> - 2016-02-15 20:20 +0100
              Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...' "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-02-15 20:30 +0100
                Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Guenter Roeck <linux@roeck-us.net> - 2016-02-15 20:50 +0100
                  Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Tony Lindgren <tony@atomide.com> - 2016-02-15 21:00 +0100
                Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Tony Lindgren <tony@atomide.com> - 2016-02-15 20:50 +0100
            Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Russell King - ARM Linux <linux@arm.linux.org.uk> - 2016-02-15 20:30 +0100
              Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' "Rafael J. Wysocki" <rafael@kernel.org> - 2016-02-15 21:50 +0100
          Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Russell King - ARM Linux <linux@arm.linux.org.uk> - 2016-02-15 20:10 +0100
      Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Russell King - ARM Linux <linux@arm.linux.org.uk> - 2016-02-15 20:10 +0100
      Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Tony Lindgren <tony@atomide.com> - 2016-02-15 20:10 +0100
        Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' Guenter Roeck <linux@roeck-us.net> - 2016-02-15 20:50 +0100
          Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Tony Lindgren <tony@atomide.com> - 2016-02-15 21:00 +0100
            Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' Guenter Roeck <linux@roeck-us.net> - 2016-02-15 21:10 +0100
              Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' "Rafael J. Wysocki" <rafael@kernel.org> - 2016-02-15 21:40 +0100
            Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' "Rafael J. Wysocki" <rafael@kernel.org> - 2016-02-15 21:40 +0100
              Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Tony Lindgren <tony@atomide.com> - 2016-02-15 22:40 +0100
                Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' Guenter Roeck <linux@roeck-us.net> - 2016-02-16 02:40 +0100
      Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Viresh Kumar <viresh.kumar@linaro.org> - 2016-02-16 02:20 +0100
        Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...' "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-02-16 02:30 +0100
          Re: Crashes in arm qemu emulations due to 'cpufreq: governor:  Replace timers with utilization ...' Viresh Kumar <viresh.kumar@linaro.org> - 2016-02-16 02:40 +0100
    Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' Peter Maydell <peter.maydell@linaro.org> - 2016-02-15 23:40 +0100
      Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace  timers with utilization ...' Guenter Roeck <linux@roeck-us.net> - 2016-02-16 00:30 +0100

Page 2 of 2 — ← Prev page 1 [2]


#1334799

From"Rafael J. Wysocki" <rafael@kernel.org>
Date2016-02-15 21:40 +0100
Message-ID<r2y66-68b-11@gated-at.bofh.it>
In reply to#1334774
On Mon, Feb 15, 2016 at 8:58 PM, Tony Lindgren <tony@atomide.com> wrote:
> * Guenter Roeck <linux@roeck-us.net> [160215 11:41]:
>> On 02/15/2016 11:01 AM, Tony Lindgren wrote:
>> >
>> >https://kernelci.org/boot/all/job/next/kernel/next-20160215/
>> >
>> >The SMP ones seem to fail with some regulator issues?
>> >
>>
>> There is another problem, introduced with 6a0712f6f199e ("PM / OPP: Add
>> dev_pm_opp_set_rate()"). The kernelci boot log for next-20160212:omap3-overo-tobi
>> and others experience that problem.
>>
>> Essentially, the code now assumes that a CPU clock always has a voltage
>> regulator attached to it, which is not correct. I sent out a patch to fix
>> that problem a minute ago.
>
> Yes that fixed it thanks.

Can you please also check if this alternative fix from Viresh works:

https://patchwork.kernel.org/patch/8316611/

?

Thanks,
Rafael

[toc] | [prev] | [next] | [standalone]


#1334843 — Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...'

FromTony Lindgren <tony@atomide.com>
Date2016-02-15 22:40 +0100
SubjectRe: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...'
Message-ID<r2z29-6Jk-7@gated-at.bofh.it>
In reply to#1334799
* Rafael J. Wysocki <rafael@kernel.org> [160215 12:39]:
> On Mon, Feb 15, 2016 at 8:58 PM, Tony Lindgren <tony@atomide.com> wrote:
> > * Guenter Roeck <linux@roeck-us.net> [160215 11:41]:
> >> On 02/15/2016 11:01 AM, Tony Lindgren wrote:
> >> >
> >> >https://kernelci.org/boot/all/job/next/kernel/next-20160215/
> >> >
> >> >The SMP ones seem to fail with some regulator issues?
> >> >
> >>
> >> There is another problem, introduced with 6a0712f6f199e ("PM / OPP: Add
> >> dev_pm_opp_set_rate()"). The kernelci boot log for next-20160212:omap3-overo-tobi
> >> and others experience that problem.
> >>
> >> Essentially, the code now assumes that a CPU clock always has a voltage
> >> regulator attached to it, which is not correct. I sent out a patch to fix
> >> that problem a minute ago.
> >
> > Yes that fixed it thanks.
> 
> Can you please also check if this alternative fix from Viresh works:
> 
> https://patchwork.kernel.org/patch/8316611/

Yes that one too seems to fix the issue on SMP systems for
me:

Tested-by: Tony Lindgren <tony@atomide.com>

Regards,

Tony

[toc] | [prev] | [next] | [standalone]


#1334910

FromGuenter Roeck <linux@roeck-us.net>
Date2016-02-16 02:40 +0100
Message-ID<r2CMq-JQ-1@gated-at.bofh.it>
In reply to#1334843
On 02/15/2016 01:36 PM, Tony Lindgren wrote:
> * Rafael J. Wysocki <rafael@kernel.org> [160215 12:39]:
>> On Mon, Feb 15, 2016 at 8:58 PM, Tony Lindgren <tony@atomide.com> wrote:
>>> * Guenter Roeck <linux@roeck-us.net> [160215 11:41]:
>>>> On 02/15/2016 11:01 AM, Tony Lindgren wrote:
>>>>>
>>>>> https://kernelci.org/boot/all/job/next/kernel/next-20160215/
>>>>>
>>>>> The SMP ones seem to fail with some regulator issues?
>>>>>
>>>>
>>>> There is another problem, introduced with 6a0712f6f199e ("PM / OPP: Add
>>>> dev_pm_opp_set_rate()"). The kernelci boot log for next-20160212:omap3-overo-tobi
>>>> and others experience that problem.
>>>>
>>>> Essentially, the code now assumes that a CPU clock always has a voltage
>>>> regulator attached to it, which is not correct. I sent out a patch to fix
>>>> that problem a minute ago.
>>>
>>> Yes that fixed it thanks.
>>
>> Can you please also check if this alternative fix from Viresh works:
>>
>> https://patchwork.kernel.org/patch/8316611/
>
> Yes that one too seems to fix the issue on SMP systems for
> me:
>
> Tested-by: Tony Lindgren <tony@atomide.com>
>

Same here.

Tested-by: Guenter Roeck <linux@roeck-us.net>

Guenter

[toc] | [prev] | [next] | [standalone]


#1334901 — Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...'

FromViresh Kumar <viresh.kumar@linaro.org>
Date2016-02-16 02:20 +0100
SubjectRe: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...'
Message-ID<r2Ct3-Dq-5@gated-at.bofh.it>
In reply to#1334728
On 15-02-16, 19:41, Rafael J. Wysocki wrote:
> On Mon, Feb 15, 2016 at 6:05 PM, Guenter Roeck <linux@roeck-us.net> wrote:
> > [    1.340000] [<c0958e78>] (__cpufreq_driver_target) from [<c095ca58>] (dbs_check_cpu+0x1ac/0x1e8)
> > [    1.340000] [<c095ca58>] (dbs_check_cpu) from [<c095cd04>] (cpufreq_governor_dbs+0x1fc/0x608)
> > [    1.340000] [<c095cd04>] (cpufreq_governor_dbs) from [<c0959c5c>] (__cpufreq_governor+0x1a8/0x204)
> > [    1.340000] [<c0959c5c>] (__cpufreq_governor) from [<c095a2dc>] (cpufreq_init_policy+0x60/0x8c)
> > [    1.340000] [<c095a2dc>] (cpufreq_init_policy) from [<c095a5f0>] (cpufreq_online+0x2e8/0x708)
> > [    1.340000] [<c095a5f0>] (cpufreq_online) from [<c075674c>] (subsys_interface_register+0x80/0xc4)
> > [    1.340000] [<c075674c>] (subsys_interface_register) from [<c0959764>] (cpufreq_register_driver+0x144/0x1a0)
> 
> This is the registration of the cpufreq driver (cpufreq-dt in this case).
> 
> It does cpufreq_online()->cpufreq_init_policy()->__cpufreq_governor()->cpufreq_governor_dbs()->dbs_check_cpu().
> 
> The only way that can happen is when cpufreq_set_policy() finds that
> the "old" and the "new" policies use the same governor, so it goes and
> calls __cpufreq_governor(policy, CPUFREQ_GOV_LIMITS), but I'm not sure
> how this is possible during the initialization ATM.
> 
> Viresh, any ideas?

You misread probably.

During init, policy->gov is NULL and new_policy->gov is set to the
default one, probably ondemand/conservative. And in that case, we do:
- INIT
- START
- LIMITS

So above sequence is guaranteed to happen rather.

-- 
viresh

[toc] | [prev] | [next] | [standalone]


#1334905 — Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...'

From"Rafael J. Wysocki" <rjw@rjwysocki.net>
Date2016-02-16 02:30 +0100
SubjectRe: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...'
Message-ID<r2CCK-GB-7@gated-at.bofh.it>
In reply to#1334901
On Tuesday, February 16, 2016 06:43:35 AM Viresh Kumar wrote:
> On 15-02-16, 19:41, Rafael J. Wysocki wrote:
> > On Mon, Feb 15, 2016 at 6:05 PM, Guenter Roeck <linux@roeck-us.net> wrote:
> > > [    1.340000] [<c0958e78>] (__cpufreq_driver_target) from [<c095ca58>] (dbs_check_cpu+0x1ac/0x1e8)
> > > [    1.340000] [<c095ca58>] (dbs_check_cpu) from [<c095cd04>] (cpufreq_governor_dbs+0x1fc/0x608)
> > > [    1.340000] [<c095cd04>] (cpufreq_governor_dbs) from [<c0959c5c>] (__cpufreq_governor+0x1a8/0x204)
> > > [    1.340000] [<c0959c5c>] (__cpufreq_governor) from [<c095a2dc>] (cpufreq_init_policy+0x60/0x8c)
> > > [    1.340000] [<c095a2dc>] (cpufreq_init_policy) from [<c095a5f0>] (cpufreq_online+0x2e8/0x708)
> > > [    1.340000] [<c095a5f0>] (cpufreq_online) from [<c075674c>] (subsys_interface_register+0x80/0xc4)
> > > [    1.340000] [<c075674c>] (subsys_interface_register) from [<c0959764>] (cpufreq_register_driver+0x144/0x1a0)
> > 
> > This is the registration of the cpufreq driver (cpufreq-dt in this case).
> > 
> > It does cpufreq_online()->cpufreq_init_policy()->__cpufreq_governor()->cpufreq_governor_dbs()->dbs_check_cpu().
> > 
> > The only way that can happen is when cpufreq_set_policy() finds that
> > the "old" and the "new" policies use the same governor, so it goes and
> > calls __cpufreq_governor(policy, CPUFREQ_GOV_LIMITS), but I'm not sure
> > how this is possible during the initialization ATM.
> > 
> > Viresh, any ideas?
> 
> You misread probably.
> 
> During init, policy->gov is NULL and new_policy->gov is set to the
> default one, probably ondemand/conservative. And in that case, we do:
> - INIT
> - START
> - LIMITS

Yes, that's what we should be doing, but it seemed to me that we didn't.

Or maybe the trace just contained the last one, because that's when the
crash happened.

Thanks,
Rafael

[toc] | [prev] | [next] | [standalone]


#1334911 — Re: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...'

FromViresh Kumar <viresh.kumar@linaro.org>
Date2016-02-16 02:40 +0100
SubjectRe: Crashes in arm qemu emulations due to 'cpufreq: governor: Replace timers with utilization ...'
Message-ID<r2CMq-JQ-3@gated-at.bofh.it>
In reply to#1334905
On 16-02-16, 02:27, Rafael J. Wysocki wrote:
> Yes, that's what we should be doing, but it seemed to me that we didn't.
> 
> Or maybe the trace just contained the last one, because that's when the
> crash happened.

Ofcourse, it wouldn't mention the function calls that have already
finished :)

-- 
viresh

[toc] | [prev] | [next] | [standalone]


#1334855

FromPeter Maydell <peter.maydell@linaro.org>
Date2016-02-15 23:40 +0100
Message-ID<r2zYd-7lT-1@gated-at.bofh.it>
In reply to#1334613
On 15 February 2016 at 17:05, Guenter Roeck <linux@roeck-us.net> wrote:
> I see crashes in various arm qemu tests due to 'cpufreq: governor: Replace
> timers with utilization update callbacks' with next-20160215. An example
> crash log and bisect results are attached below.
>
> Please let me know if there is anything I can do to help tracking down
> the problem.
>
> Thanks,
> Guenter
>
> ---
>
> Building arm:beagle:multi_v7_defconfig:omap3-beagle ... running ..... failed (crashed)
> ------------
> qemu log:

You're using the QEMU beagle board emulation? Can I ask which
QEMU you're using (qemu-linaro?). If the OMAP3 emulation is still
actively useful to people I might have another stab at getting
it into upstream QEMU some day...

thanks
-- PMM

[toc] | [prev] | [next] | [standalone]


#1334879

FromGuenter Roeck <linux@roeck-us.net>
Date2016-02-16 00:30 +0100
Message-ID<r2AKD-7Tu-15@gated-at.bofh.it>
In reply to#1334855
On 02/15/2016 02:29 PM, Peter Maydell wrote:
> On 15 February 2016 at 17:05, Guenter Roeck <linux@roeck-us.net> wrote:
>> I see crashes in various arm qemu tests due to 'cpufreq: governor: Replace
>> timers with utilization update callbacks' with next-20160215. An example
>> crash log and bisect results are attached below.
>>
>> Please let me know if there is anything I can do to help tracking down
>> the problem.
>>
>> Thanks,
>> Guenter
>>
>> ---
>>
>> Building arm:beagle:multi_v7_defconfig:omap3-beagle ... running ..... failed (crashed)
>> ------------
>> qemu log:
>
> You're using the QEMU beagle board emulation? Can I ask which
> QEMU you're using (qemu-linaro?). If the OMAP3 emulation is still
> actively useful to people I might have another stab at getting
> it into upstream QEMU some day...
>

Yes, I use qemu-linaro for those tests.

Is it useful ? Obviously for me, yes. It lets me test images in qemu,
and I don't need real hardware to run those tests. That means that
I don't depend on the hardware really working, and I am not hosed
if the hardware breaks down and I don't have a replacement. Plus,
of course, I don't need a lab with 90+ pieces of hardware.

Guenter

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | linux.kernel


csiph-web