Messages in this thread | | | Date | Wed, 19 Feb 2014 20:43:55 +0100 | From | Henrik Austad <> | Subject | Re: [PATCH Resend] Expose do_timer CPU via sysctl to userspace as R/W |
| |
On Wed, Feb 19, 2014 at 05:42:07PM +0100, Thomas Gleixner wrote: > On Wed, 19 Feb 2014, henrik@austad.us wrote: > > From: Henrik Austad <haustad@cisco.com> > > > > 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
| |