linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus
@ 2015-08-13  9:25 Vatika Harlalka
  2015-08-13  9:25 ` [PATCH 1/2] nohz_full: Move tick related code to tick.c Vatika Harlalka
  2015-08-13 12:22 ` [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus Peter Zijlstra
  0 siblings, 2 replies; 10+ messages in thread
From: Vatika Harlalka @ 2015-08-13  9:25 UTC (permalink / raw)
  To: mingo, peterz, tglx, rafael.j.wysocki, fweisbec, schwidefsky,
	linux-kernel, preetium
  Cc: preeti.murthy

This patchset is for offloading task_tick() to a remote housekeeping
cpu. The larger aim is to stop ticks on nohz_full cpus. For this, extra
work must be done by housekeeping cpus. So, task_tick is called from a
delayed workqueue for nohz_full cpus and the work is requeued every second
for those nohz_full cpus whose ticks are stopped while they are busy. In
the rest of the cases it will lead to redundant accounting. To facilitate
this, a new function tick_nohz_remote_tick_stopped is added to indicate
whether ticks are stopped on a remote cpu.
Tick related code in core.c is moved to tick.c

Vatika Harlalka (2):
  nohz_full: Move tick related code to tick.c
  nohz_full: Offload task_tick to remote housekeeping cpu

 include/linux/tick.h     |  2 ++
 kernel/sched/Makefile    |  2 +-
 kernel/sched/core.c      | 27 ---------------
 kernel/sched/tick.c      | 85 ++++++++++++++++++++++++++++++++++++++++++++++++
 kernel/time/tick-sched.c |  5 +++
 5 files changed, 93 insertions(+), 28 deletions(-)
 create mode 100644 kernel/sched/tick.c

-- 
2.4.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] nohz_full: Move tick related code to tick.c
  2015-08-13  9:25 [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus Vatika Harlalka
@ 2015-08-13  9:25 ` Vatika Harlalka
  2015-08-13 12:22 ` [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus Peter Zijlstra
  1 sibling, 0 replies; 10+ messages in thread
From: Vatika Harlalka @ 2015-08-13  9:25 UTC (permalink / raw)
  To: mingo, peterz, tglx, rafael.j.wysocki, fweisbec, schwidefsky,
	linux-kernel, preetium
  Cc: preeti.murthy

Offloading task_tick off nohz_full cpus introduces tick related code
in the scheduler code. It is therefore better to create a new file
tick.c and move the existing tick related code there.

Signed-off-by: Vatika Harlalka <vatikaharlalka@gmail.com>
---
 kernel/sched/Makefile |  2 +-
 kernel/sched/core.c   | 27 ---------------------------
 kernel/sched/tick.c   | 43 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 44 insertions(+), 28 deletions(-)
 create mode 100644 kernel/sched/tick.c

diff --git a/kernel/sched/Makefile b/kernel/sched/Makefile
index 46be870..3b31182 100644
--- a/kernel/sched/Makefile
+++ b/kernel/sched/Makefile
@@ -11,7 +11,7 @@ ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
 CFLAGS_core.o := $(PROFILING) -fno-omit-frame-pointer
 endif
 
-obj-y += core.o proc.o clock.o cputime.o
+obj-y += core.o proc.o clock.o cputime.o tick.o
 obj-y += idle_task.o fair.o rt.o deadline.o stop_task.o
 obj-y += wait.o completion.o idle.o
 obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 57bd333..64beceb 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -2481,33 +2481,6 @@ unsigned long long task_sched_runtime(struct task_struct *p)
 	return ns;
 }
 
-/*
- * This function gets called by the timer code, with HZ frequency.
- * We call it with interrupts disabled.
- */
-void scheduler_tick(void)
-{
-	int cpu = smp_processor_id();
-	struct rq *rq = cpu_rq(cpu);
-	struct task_struct *curr = rq->curr;
-
-	sched_clock_tick();
-
-	raw_spin_lock(&rq->lock);
-	update_rq_clock(rq);
-	curr->sched_class->task_tick(rq, curr, 0);
-	update_cpu_load_active(rq);
-	raw_spin_unlock(&rq->lock);
-
-	perf_event_task_tick();
-
-#ifdef CONFIG_SMP
-	rq->idle_balance = idle_cpu(cpu);
-	trigger_load_balance(rq);
-#endif
-	rq_last_tick_reset(rq);
-}
-
 #ifdef CONFIG_NO_HZ_FULL
 /**
  * scheduler_tick_max_deferment
diff --git a/kernel/sched/tick.c b/kernel/sched/tick.c
new file mode 100644
index 0000000..3bc32c7
--- /dev/null
+++ b/kernel/sched/tick.c
@@ -0,0 +1,43 @@
+#include <linux/smp.h>
+#include <linux/cpumask.h>
+#include <linux/tick.h>
+#include <linux/sched.h>
+#include <linux/spinlock.h>
+#include <linux/percpu.h>
+#include <linux/perf_event.h>
+#include <linux/workqueue.h>
+#include <linux/jiffies.h>
+#include "sched.h"
+
+/*
+ * This function gets called by the timer code, with HZ frequency.
+ * We call it with interrupts disabled.
+ */
+
+void scheduler_tick(void)
+{
+	int cpu = smp_processor_id();
+	struct rq *rq = cpu_rq(cpu);
+	struct task_struct *curr;
+
+	raw_spin_lock(&rq->lock);
+	curr = rq->curr;
+	raw_spin_unlock(&rq->lock);
+
+	sched_clock_tick();
+
+	raw_spin_lock(&rq->lock);
+	update_rq_clock(rq);
+	curr->sched_class->task_tick(rq, curr, 0);
+	update_cpu_load_active(rq);
+	raw_spin_unlock(&rq->lock);
+
+	perf_event_task_tick();
+
+#ifdef CONFIG_SMP
+	rq->idle_balance = idle_cpu(cpu);
+	trigger_load_balance(rq);
+#endif
+	rq_last_tick_reset(rq);
+}
+
-- 
2.4.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus
  2015-08-13  9:25 [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus Vatika Harlalka
  2015-08-13  9:25 ` [PATCH 1/2] nohz_full: Move tick related code to tick.c Vatika Harlalka
@ 2015-08-13 12:22 ` Peter Zijlstra
  2015-08-13 12:44   ` Frederic Weisbecker
  1 sibling, 1 reply; 10+ messages in thread
From: Peter Zijlstra @ 2015-08-13 12:22 UTC (permalink / raw)
  To: Vatika Harlalka
  Cc: mingo, tglx, rafael.j.wysocki, fweisbec, schwidefsky,
	linux-kernel, preetium, preeti.murthy

On Thu, Aug 13, 2015 at 02:55:36PM +0530, Vatika Harlalka wrote:
> This patchset is for offloading task_tick() to a remote housekeeping
> cpu. The larger aim is to stop ticks on nohz_full cpus. For this, extra
> work must be done by housekeeping cpus. So, task_tick is called from a
> delayed workqueue for nohz_full cpus and the work is requeued every second
> for those nohz_full cpus whose ticks are stopped while they are busy. In
> the rest of the cases it will lead to redundant accounting. To facilitate
> this, a new function tick_nohz_remote_tick_stopped is added to indicate
> whether ticks are stopped on a remote cpu.
> Tick related code in core.c is moved to tick.c

*sigh* of course you didn't read what I've written on this topic..

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus
  2015-08-13 12:22 ` [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus Peter Zijlstra
@ 2015-08-13 12:44   ` Frederic Weisbecker
  2015-08-13 15:05     ` Peter Zijlstra
  0 siblings, 1 reply; 10+ messages in thread
From: Frederic Weisbecker @ 2015-08-13 12:44 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Vatika Harlalka, mingo, tglx, rafael.j.wysocki, schwidefsky,
	linux-kernel, preetium, preeti.murthy

On Thu, Aug 13, 2015 at 02:22:23PM +0200, Peter Zijlstra wrote:
> On Thu, Aug 13, 2015 at 02:55:36PM +0530, Vatika Harlalka wrote:
> > This patchset is for offloading task_tick() to a remote housekeeping
> > cpu. The larger aim is to stop ticks on nohz_full cpus. For this, extra
> > work must be done by housekeeping cpus. So, task_tick is called from a
> > delayed workqueue for nohz_full cpus and the work is requeued every second
> > for those nohz_full cpus whose ticks are stopped while they are busy. In
> > the rest of the cases it will lead to redundant accounting. To facilitate
> > this, a new function tick_nohz_remote_tick_stopped is added to indicate
> > whether ticks are stopped on a remote cpu.
> > Tick related code in core.c is moved to tick.c
> 
> *sigh* of course you didn't read what I've written on this topic..

What is it? Note Vatika wrote this after my suggestion, so if there is an issue,
I'm likely the responsible :-) But I don't recall you opposed to this solution.

Thanks.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus
  2015-08-13 12:44   ` Frederic Weisbecker
@ 2015-08-13 15:05     ` Peter Zijlstra
  2015-08-13 15:36       ` Frederic Weisbecker
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Zijlstra @ 2015-08-13 15:05 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: Vatika Harlalka, mingo, tglx, rafael.j.wysocki, schwidefsky,
	linux-kernel, preetium, preeti.murthy

On Thu, Aug 13, 2015 at 02:44:02PM +0200, Frederic Weisbecker wrote:
> On Thu, Aug 13, 2015 at 02:22:23PM +0200, Peter Zijlstra wrote:
> > On Thu, Aug 13, 2015 at 02:55:36PM +0530, Vatika Harlalka wrote:
> > > This patchset is for offloading task_tick() to a remote housekeeping
> > > cpu. The larger aim is to stop ticks on nohz_full cpus. For this, extra
> > > work must be done by housekeeping cpus. So, task_tick is called from a
> > > delayed workqueue for nohz_full cpus and the work is requeued every second
> > > for those nohz_full cpus whose ticks are stopped while they are busy. In
> > > the rest of the cases it will lead to redundant accounting. To facilitate
> > > this, a new function tick_nohz_remote_tick_stopped is added to indicate
> > > whether ticks are stopped on a remote cpu.
> > > Tick related code in core.c is moved to tick.c
> > 
> > *sigh* of course you didn't read what I've written on this topic..
> 
> What is it? Note Vatika wrote this after my suggestion, so if there is an issue,
> I'm likely the responsible :-) But I don't recall you opposed to this solution.

*sigh* of course you _could_ all use Google yourselves.

Re-read: https://patches.linaro.org/28290/

I see nothing like the stuff I asked for in here, on top it creates the
stupid tick.c file.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus
  2015-08-13 15:05     ` Peter Zijlstra
@ 2015-08-13 15:36       ` Frederic Weisbecker
  2015-08-13 19:22         ` Vatika Harlalka
  2015-08-20 12:50         ` preetium
  0 siblings, 2 replies; 10+ messages in thread
From: Frederic Weisbecker @ 2015-08-13 15:36 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Vatika Harlalka, mingo, tglx, rafael.j.wysocki, schwidefsky,
	linux-kernel, preetium, preeti.murthy

On Thu, Aug 13, 2015 at 05:05:45PM +0200, Peter Zijlstra wrote:
> On Thu, Aug 13, 2015 at 02:44:02PM +0200, Frederic Weisbecker wrote:
> > On Thu, Aug 13, 2015 at 02:22:23PM +0200, Peter Zijlstra wrote:
> > > On Thu, Aug 13, 2015 at 02:55:36PM +0530, Vatika Harlalka wrote:
> > > > This patchset is for offloading task_tick() to a remote housekeeping
> > > > cpu. The larger aim is to stop ticks on nohz_full cpus. For this, extra
> > > > work must be done by housekeeping cpus. So, task_tick is called from a
> > > > delayed workqueue for nohz_full cpus and the work is requeued every second
> > > > for those nohz_full cpus whose ticks are stopped while they are busy. In
> > > > the rest of the cases it will lead to redundant accounting. To facilitate
> > > > this, a new function tick_nohz_remote_tick_stopped is added to indicate
> > > > whether ticks are stopped on a remote cpu.
> > > > Tick related code in core.c is moved to tick.c
> > > 
> > > *sigh* of course you didn't read what I've written on this topic..
> > 
> > What is it? Note Vatika wrote this after my suggestion, so if there is an issue,
> > I'm likely the responsible :-) But I don't recall you opposed to this solution.
> 
> *sigh* of course you _could_ all use Google yourselves.
> 
> Re-read: https://patches.linaro.org/28290/

Sorry, there were dozens of threads about this issue and I got a bit confused.

> 
> I see nothing like the stuff I asked for in here, on top it creates the
> stupid tick.c file.

Right. I initially thought that we should make sched_tick() just work with long delays.
Then tglx suggested the offline idea but I lost track about our conversation.

But yeah making that scheduler_tick() working with long delays sound much better. Certainly
much more work but that's a natural evolution after all. It should pay in longer term.

We can start with update_cpu_load_active() which only works with HZ frequency updates or
nohz idle zero load decay. Now I think that stuff is only used for load balancing. I had
hopes this thing could be removed. I think Alex Shin (IIRC) tried but the patchset didn't
make it.

Thanks.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus
  2015-08-13 15:36       ` Frederic Weisbecker
@ 2015-08-13 19:22         ` Vatika Harlalka
  2015-08-20 12:50         ` preetium
  1 sibling, 0 replies; 10+ messages in thread
From: Vatika Harlalka @ 2015-08-13 19:22 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: Peter Zijlstra, mingo, Thomas Gleixner, rafael.j.wysocki,
	schwidefsky, linux-kernel, preetium, Preeti Murthy

Hi Peter :)

I'm very sorry about this. I should've gone through what was written
on the topic before
attempting to write this patch. I'll go through the link and work on
what is discussed
to make a new relevant patch.

Thanks
Vatika

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus
  2015-08-13 15:36       ` Frederic Weisbecker
  2015-08-13 19:22         ` Vatika Harlalka
@ 2015-08-20 12:50         ` preetium
  2015-08-21 15:55           ` Frederic Weisbecker
  1 sibling, 1 reply; 10+ messages in thread
From: preetium @ 2015-08-20 12:50 UTC (permalink / raw)
  To: Frederic Weisbecker, Peter Zijlstra, Vatika Harlalka
  Cc: mingo, tglx, rafael.j.wysocki, schwidefsky, linux-kernel,
	preetium, preeti.murthy

> On Thu, Aug 13, 2015 at 05:05:45PM +0200, Peter Zijlstra wrote:
>> On Thu, Aug 13, 2015 at 02:44:02PM +0200, Frederic Weisbecker wrote:
>> > On Thu, Aug 13, 2015 at 02:22:23PM +0200, Peter Zijlstra wrote:
>> > > On Thu, Aug 13, 2015 at 02:55:36PM +0530, Vatika Harlalka wrote:
>> > > > This patchset is for offloading task_tick() to a remote
>> housekeeping
>> > > > cpu. The larger aim is to stop ticks on nohz_full cpus. For this,
>> extra
>> > > > work must be done by housekeeping cpus. So, task_tick is called
>> from a
>> > > > delayed workqueue for nohz_full cpus and the work is requeued
>> every second
>> > > > for those nohz_full cpus whose ticks are stopped while they are
>> busy. In
>> > > > the rest of the cases it will lead to redundant accounting. To
>> facilitate
>> > > > this, a new function tick_nohz_remote_tick_stopped is added to
>> indicate
>> > > > whether ticks are stopped on a remote cpu.
>> > > > Tick related code in core.c is moved to tick.c
>> > >
>> > > *sigh* of course you didn't read what I've written on this topic..
>> >
>> > What is it? Note Vatika wrote this after my suggestion, so if there is
>> an issue,
>> > I'm likely the responsible :-) But I don't recall you opposed to this
>> solution.
>>
>> *sigh* of course you _could_ all use Google yourselves.
>>
>> Re-read: https://patches.linaro.org/28290/
>
> Sorry, there were dozens of threads about this issue and I got a bit
> confused.
>
>>
>> I see nothing like the stuff I asked for in here, on top it creates the
>> stupid tick.c file.
>
> Right. I initially thought that we should make sched_tick() just work with
> long delays.
> Then tglx suggested the offline idea but I lost track about our
> conversation.
>
> But yeah making that scheduler_tick() working with long delays sound much
> better. Certainly
> much more work but that's a natural evolution after all. It should pay in
> longer term.
>
> We can start with update_cpu_load_active() which only works with HZ
> frequency updates or
> nohz idle zero load decay. Now I think that stuff is only used for load
> balancing. I had
> hopes this thing could be removed. I think Alex Shin (IIRC) tried but the
> patchset didn't
> make it.

I don't think Peter is talking about delays in updating the scheduler stats.
Looking at the earlier discussion, it looks like we need to do periodic tick
tasks only on demand on the nohz_full cpus. We will perhaps need to do the
following(reiterating some points that Peter said earlier) :

1. One of the tasks that scheduler_tick() does is trigger_load_balance(). If
we have to get rid of the residual tick, we need to move load balancing on
nohz_full cpus into nohz_idle_balance(). In addition to load balancing on
the idle cpus, this routine will load balance on the nohz_full cpus as well,
when they are running single tasks.

This seems to be a good move because it will avoid pulling more tasks on
to the nohz_full cpus, when they are running single tasks, unless needed.

2. In nohz_idle_load_balance(), there needs to be routines similar to
update_idle_cpu_load() for nohz_full cpus so that the cpu loads are updated
before triggering load balance on them. Lets call this
update_nohz_full_cpu_load().
This should include update_curr() and update_cpu_load_active() for nohz_full
cpus.

3. When scheduling stats are read, update_curr() and
update_cpu_load_active() will
be called remotely.

The above three will ensure that work done during the scheduling tick is
always
on demand on the nohz_full cpus; i.e. during load balancing and reading of
stats.

Peter, Frederic can you let us know if this is the right approach ?

Regards
Preeti U Murthy

>
> Thanks.
>



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus
  2015-08-20 12:50         ` preetium
@ 2015-08-21 15:55           ` Frederic Weisbecker
       [not found]             ` <CACFGFQQ8mBzS-NhfNsp2nao2XpUksxu3t_Jse2zL2EQHLAK_Hg@mail.gmail.com>
  0 siblings, 1 reply; 10+ messages in thread
From: Frederic Weisbecker @ 2015-08-21 15:55 UTC (permalink / raw)
  To: preetium
  Cc: Peter Zijlstra, Vatika Harlalka, mingo, tglx, rafael.j.wysocki,
	schwidefsky, linux-kernel, preeti.murthy

On Thu, Aug 20, 2015 at 08:50:55AM -0400, preetium@andrew.cmu.edu wrote:
> > On Thu, Aug 13, 2015 at 05:05:45PM +0200, Peter Zijlstra wrote:
> >> I see nothing like the stuff I asked for in here, on top it creates the
> >> stupid tick.c file.
> >
> > Right. I initially thought that we should make sched_tick() just work with
> > long delays.
> > Then tglx suggested the offline idea but I lost track about our
> > conversation.
> >
> > But yeah making that scheduler_tick() working with long delays sound much
> > better. Certainly
> > much more work but that's a natural evolution after all. It should pay in
> > longer term.
> >
> > We can start with update_cpu_load_active() which only works with HZ
> > frequency updates or
> > nohz idle zero load decay. Now I think that stuff is only used for load
> > balancing. I had
> > hopes this thing could be removed. I think Alex Shin (IIRC) tried but the
> > patchset didn't
> > make it.
> 
> I don't think Peter is talking about delays in updating the scheduler stats.
> Looking at the earlier discussion, it looks like we need to do periodic tick
> tasks only on demand on the nohz_full cpus. We will perhaps need to do the
> following(reiterating some points that Peter said earlier) :
> 
> 1. One of the tasks that scheduler_tick() does is trigger_load_balance(). If
> we have to get rid of the residual tick, we need to move load balancing on
> nohz_full cpus into nohz_idle_balance(). In addition to load balancing on
> the idle cpus, this routine will load balance on the nohz_full cpus as well,
> when they are running single tasks.
> 
> This seems to be a good move because it will avoid pulling more tasks on
> to the nohz_full cpus, when they are running single tasks, unless needed.

I suspect trigger_load_balance() is fine because now nohz full CPUs are part
of cpu_isolated_map. I believe in that case they are on_null_domains(). If not
then we should have a similar ignore check.

> 
> 2. In nohz_idle_load_balance(), there needs to be routines similar to
> update_idle_cpu_load() for nohz_full cpus so that the cpu loads are updated
> before triggering load balance on them. Lets call this
> update_nohz_full_cpu_load().
> This should include update_curr() and update_cpu_load_active() for nohz_full
> cpus.

nohz_idle_load_balance() shouldn't happen if trigger_load_balance() is ignored.

> 
> 3. When scheduling stats are read, update_curr() and
> update_cpu_load_active() will
> be called remotely.

Concerning update_cpu_load_active(), I wonder if rq->cpu_load[i > 0] are read
for CPUs from cpu_isolated_map. I suspect that an isolated CPU shouldn't belong
to any struct sched_group.

Now we can force disable SCHED_LB_BIAS otherwise.

Concerning update_curr(), we have yet to find all the places that do remote
read. But again, perhaps an isolated cpu isn't subject to sched stats
(involved in upodate_curr()) remotely read.

That's all stuff we need to verify.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus
       [not found]             ` <CACFGFQQ8mBzS-NhfNsp2nao2XpUksxu3t_Jse2zL2EQHLAK_Hg@mail.gmail.com>
@ 2015-09-11 17:05               ` Vatika Harlalka
  0 siblings, 0 replies; 10+ messages in thread
From: Vatika Harlalka @ 2015-09-11 17:05 UTC (permalink / raw)
  To: Preeti Murthy
  Cc: Frederic Weisbecker, preetium, Peter Zijlstra, mingo,
	Thomas Gleixner, rafael.j.wysocki, schwidefsky, linux-kernel

> 1. If LB_BIAS is false for nohz_full CPUs. This will help us figure out if
> rq->cpu_load
> is read for them.

lb_bias feature is not disabled for full dynticks. rq->cpu_load[] is
never used for them.
nohz_full cpus verify the condition on_null_domain(rq)

> 2. When a cpu reports scheduling stats for all cpus such as
> sum_exec_runtime,
> does it consider cpu_isolated_map (most likely it will) ? If it does, we
> need to be
> able to remotely update those statistics before reporting them. i.e. call
> update_curr(rq) on behalf of the nohz_full cpus.

Yeah, cpu stats are reported and updated for all cpus.

The next step would be to offload these on other cpus now for nohz_full cpus
running a single task now?

Thanks
Vatika

>
>
>
> --
> This is Preeti, signing off.

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-09-11 17:05 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-13  9:25 [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus Vatika Harlalka
2015-08-13  9:25 ` [PATCH 1/2] nohz_full: Move tick related code to tick.c Vatika Harlalka
2015-08-13 12:22 ` [PATCH 0/2] nohz_full: Offload task_tick to remote housekeeping cpus for nohz_full cpus Peter Zijlstra
2015-08-13 12:44   ` Frederic Weisbecker
2015-08-13 15:05     ` Peter Zijlstra
2015-08-13 15:36       ` Frederic Weisbecker
2015-08-13 19:22         ` Vatika Harlalka
2015-08-20 12:50         ` preetium
2015-08-21 15:55           ` Frederic Weisbecker
     [not found]             ` <CACFGFQQ8mBzS-NhfNsp2nao2XpUksxu3t_Jse2zL2EQHLAK_Hg@mail.gmail.com>
2015-09-11 17:05               ` Vatika Harlalka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).