Re: [PATCH v2] oprofile: Fix the hang while offline the cpu

From: Robert Richter
Date: Wed Oct 27 2010 - 20:13:15 EST


On 27.10.10 11:17:15, Santosh Shilimkar wrote:
> The kernel build with CONFIG_OPROFILE and CPU_HOTPLUG enabled.
> The oprofile is initialised using system timer in absence of hardware
> counters supports. Oprofile isn't started from userland.
>
> In this setup while doing a CPU offline the kernel hangs in infinite
> for loop inside lock_hrtimer_base() function
>
> This happens because as part of oprofile_cpu_notify(, it tries to
> stop an hrtimer which was never started. These per-cpu hrtimers
> are started when the oprfile is started.
> echo 1 > /dev/oprofile/enable
>
> This problem also existwhen the cpu is booted with maxcpus parameter
> set. When bringing the remaining cpus online the timers are started
> even if oprofile is not yet enabled.
>
> This patch fix this issue by adding a state variable so that
> these hrtimer start/stop is only attempted when oprofile is
> started
>
> Reported-by: Jan Sebastien <s-jan@xxxxxx>
> Signed-off-by: sricharan <r.sricharan@xxxxxx>
> Tested-by: sricharan <r.sricharan@xxxxxx>
> Cc: Robert Richter <robert.richter@xxxxxxx>
> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> ---
> V2: Updated patch with comments from Robert Richter
> drivers/oprofile/timer_int.c | 13 +++++++++++++
> 1 files changed, 13 insertions(+), 0 deletions(-)

Applied to oprofile/urgent, thanks Santosh.

-Robert

--
Advanced Micro Devices, Inc.
Operating System Research Center

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/