Project

General

Profile

Actions

Feature #3283

open

131: Driver tries to stop an hrtimer which was never started

Added by Marina Makienko over 12 years ago. Updated about 12 years ago.

Status:
Resolved
Priority:
Normal
Start date:
07/25/2012
Due date:
% Done:

100%

Estimated time:
Published in build:

Description

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.

This problem also exist when 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.

Commit: 79db8ef


Related issues 1 (1 open0 closed)

Related to Linux Driver Verification - Bug #3325: The interrupt handlerNewIlja Zakharov08/03/2012

Actions
Actions

Also available in: Atom PDF