Re: [PATCH Resend] Expose do_timer CPU via sysctl to userspace as R/W

From: Henrik Austad
Date: Wed Feb 19 2014 - 14:46:30 EST


On Wed, Feb 19, 2014 at 05:42:07PM +0100, Thomas Gleixner wrote:
> On Wed, 19 Feb 2014, henrik@xxxxxxxxx wrote:
> > From: Henrik Austad <haustad@xxxxxxxxx>
> >
> > Looks like this got dropped by vger a few days ago, resending.
> >
> > This allows everybody in a system to read which core is currently
> > running do_timer() as well as letting root change this.
> >
> > A few things to keep in mind
> >
> > - This is intended as a debug-feature, except for testing whether or not
> > the target CPU is present or not, the logic will not care -one- bit if
> > moving the do_timer to that particular CPU is a good idea.
>
> Well at least it must check that the cpu is online and neither in
> nohz idle nor nohz full mode.

The online-part should be taken care of by the cpu_present(), no?

But the nohz idle/nohz full should be checked, I agree.

> And we probably want to have that in sysfs with two files:
>
> timekeeping/current_cpu
> timekeeping/forced_cpu

Fair enough, I can add that

> The latter contains -1 when the system boots and if you write to it,
> the duty gets hard assigned to that core, which in turn makes it
> blocked from NOHZ idle and NOHZ full modes. If the core goes offline,
> then the value must got back to -1. Writing -1 to it undoes the hard
> assignment.

Yeah, sounds like a good approach.

> > - It introduces more ifdeffery in the kernel.
>
> There is no reason to do that.

probably not, as you can see, I wrapped everything in
CONFIG_EXPOSE_TICK_CPU and added an option in Kconfig. Just drop all of
that?

Thanks for the feedback! :)

--
Henrik Austad
--
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/