Re: [patch 2/2] keep on ticking if oprofile is active

Thomas Gleixner
2009-05-28T20:30:00Z

On Thu, 28 May 2009, Martin Schwidefsky wrote:
> From: Martin Schwidefsky <schwidefsky@de.ibm.com>
>
> On a NOHZ system with oprofile enabled the timer tick should not be
> stopped when a cpu goes idle. Oprofile needs the pt_regs structure
> of the interrupt and allocates memory in the ring buffer for each
> sample. Current a maximum of 1 tick is accounted with oprofile if a
> cpu sleeps for a longer period of time. This does bad things to the
> percentages in the oprofile output. To postpone the oprofile tick to
> tick_nohz_restart_sched_tick analog to the in kernel profiler is not
> possible as there is no pt_regs structure in the context the
> tick_nohz_restart_sched_tick function is called and it is not a good
> idea to create hundreds of samples at once.

Sigh. That's stupid.

OTOH, thinking more about the patch itself it might be even useful
for things aside oprofile. Runtime switching from and to nohz mode
for debugging or evaluation purposes comes to my mind. That would
need some sysfs interface, but that's not too hard to do.

So yeah, I think we should satisfy oprofile needs and utilize it further.

Thanks,

tglx