Re: [PATCH] nohz/cpuset: Make a CPU stick with do_timer() duty in the presence of nohz cpusets

2012-11-30 Thread Hakan Akkan
On Fri, Nov 30, 2012 at 10:38 AM, Frederic Weisbecker wrote: > 2012/11/28 Hakan Akkan : >> +static int check_drop_timer_duty(int cpu) >> +{ >> + int curr_handler, prev_handler, new_handler; >> + int nrepeat = -1; >> + bool drop_recheck; >> + >> +repeat: >> + WARN_ON_ONCE(++

Re: [PATCH] nohz/cpuset: Make a CPU stick with do_timer() duty in the presence of nohz cpusets

2012-11-30 Thread Frederic Weisbecker
2012/11/28 Hakan Akkan : > +static int check_drop_timer_duty(int cpu) > +{ > + int curr_handler, prev_handler, new_handler; > + int nrepeat = -1; > + bool drop_recheck; > + > +repeat: > + WARN_ON_ONCE(++nrepeat > 1); > + drop_recheck = false; > + curr_handler = c

[PATCH] nohz/cpuset: Make a CPU stick with do_timer() duty in the presence of nohz cpusets

2012-11-28 Thread Hakan Akkan
(Please ignore the previous patch as it never really prevented the last idler from going longer than timekeeping_max_deferement sleeps.) An adaptive nohz (AHZ) CPU may not do do_timer() for a while despite being non-idle. When all other CPUs are idle, AHZ CPUs might be using stale jiffies values.

[PATCH] nohz/cpuset: Make a CPU stick with do_timer() duty in the presence of nohz cpusets

2012-11-28 Thread Hakan Akkan
An adaptive nohz (AHZ) CPU may not do do_timer() for a while despite being non-idle. When all other CPUs are idle, AHZ CPUs might be using stale jiffies values. To prevent this always keep a CPU with ticks if there is one or more AHZ CPUs. A new function, check_drop_timer_duty, handles the updates

Re: [PATCH] nohz/cpuset: Make a CPU stick with do_timer() duty in the presence of nohz cpusets

2012-11-19 Thread Frederic Weisbecker
2012/11/20 Steven Rostedt : > On Mon, 2012-11-19 at 17:27 -0700, Hakan Akkan wrote: > >> > >> > I suggest to rather define a tunable timekeeping duty CPU affinity in >> > a cpumask file at /sys/devices/system/cpu/timekeeping and a toggle at >> > /sys/devices/system/cpu/cpuX/timekeeping (like the on

Re: [PATCH] nohz/cpuset: Make a CPU stick with do_timer() duty in the presence of nohz cpusets

2012-11-19 Thread Steven Rostedt
On Mon, 2012-11-19 at 17:27 -0700, Hakan Akkan wrote: > > > > I suggest to rather define a tunable timekeeping duty CPU affinity in > > a cpumask file at /sys/devices/system/cpu/timekeeping and a toggle at > > /sys/devices/system/cpu/cpuX/timekeeping (like the online file). This > > way the user c

Re: [PATCH] nohz/cpuset: Make a CPU stick with do_timer() duty in the presence of nohz cpusets

2012-11-19 Thread Hakan Akkan
On Mon, Nov 19, 2012 at 7:46 AM, Frederic Weisbecker wrote: > > Hi Hakan, > > As I start to focus on timekeeing for full dynticks, I'm looking at > your patch. Sorry I haven't yet replied with a serious review until > now. But here is it, finally: > > 2012/6/17 Hakan Akkan : > > An adaptive nohz (

Re: [PATCH] nohz/cpuset: Make a CPU stick with do_timer() duty in the presence of nohz cpusets

2012-11-19 Thread Frederic Weisbecker
Hi Hakan, As I start to focus on timekeeing for full dynticks, I'm looking at your patch. Sorry I haven't yet replied with a serious review until now. But here is it, finally: 2012/6/17 Hakan Akkan : > An adaptive nohz (AHZ) CPU may not do do_timer() for a while > despite being non-idle. When all