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

From: Martin Schwidefsky
Date: Fri May 29 2009 - 08:58:54 EST

On Thu, 28 May 2009 22:29:38 +0200 (CEST)
Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> On Thu, 28 May 2009, Martin Schwidefsky wrote:
> > From: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
> >
> > 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.

What is stupid, the bug or the fix?

> 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.

That should be no problem. We used to have the hz_timer system control
with the old no-tick solution on s390.

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

Ok, so you are in principle fine with the patch?

blue skies,

"Reality continues to ruin my life." - Calvin.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at