Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751796AbdGXHzO (ORCPT ); Mon, 24 Jul 2017 03:55:14 -0400 Received: from mail.santannapisa.it ([193.205.80.98]:64090 "EHLO mail.santannapisa.it" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750822AbdGXHzI (ORCPT ); Mon, 24 Jul 2017 03:55:08 -0400 X-Greylist: delayed 330 seconds by postgrey-1.27 at vger.kernel.org; Mon, 24 Jul 2017 03:55:07 EDT Date: Mon, 24 Jul 2017 09:54:54 +0200 From: Luca Abeni To: Peter Zijlstra Cc: linux-kernel@vger.kernel.org, Ingo Molnar , Juri Lelli , Claudio Scordino , Steven Rostedt , Tommaso Cucinotta , Daniel Bristot de Oliveira , Joel Fernandes , Mathieu Poirier Subject: Re: [RFC v5 2/9] sched/deadline: improve the tracking of active utilization Message-ID: <20170724095454.32e873d9@luca> In-Reply-To: <20170324132351.txtq244rxbaery3g@hirez.programming.kicks-ass.net> References: <1490327582-4376-1-git-send-email-luca.abeni@santannapisa.it> <1490327582-4376-3-git-send-email-luca.abeni@santannapisa.it> <20170324132351.txtq244rxbaery3g@hirez.programming.kicks-ass.net> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2479 Lines: 76 Hi Peter, I put this change in a local tree together with other fixes / cleanups I plan to submit in the next weeks. Should I send it together with the other patches, or are you going to apply it separately? In the first case, what is the correct authorship / SOB chain (I ask because I keep getting this wrong every time :) Thanks, Luca On Fri, 24 Mar 2017 14:23:51 +0100 Peter Zijlstra wrote: > On Fri, Mar 24, 2017 at 04:52:55AM +0100, luca abeni wrote: > > @@ -2518,6 +2520,7 @@ static int dl_overflow(struct task_struct *p, int policy, > > !__dl_overflow(dl_b, cpus, p->dl.dl_bw, new_bw)) { > > __dl_clear(dl_b, p->dl.dl_bw); > > __dl_add(dl_b, new_bw); > > + dl_change_utilization(p, new_bw); > > err = 0; > > Every time I see that I want to do this.. > > > --- > kernel/sched/core.c | 4 ++-- > kernel/sched/deadline.c | 2 +- > kernel/sched/sched.h | 2 +- > 3 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > index 3b31fc05a0f1..b845ee4b3e55 100644 > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -2512,11 +2512,11 @@ static int dl_overflow(struct task_struct *p, int policy, > err = 0; > } else if (dl_policy(policy) && task_has_dl_policy(p) && > !__dl_overflow(dl_b, cpus, p->dl.dl_bw, new_bw)) { > - __dl_clear(dl_b, p->dl.dl_bw); > + __dl_sub(dl_b, p->dl.dl_bw); > __dl_add(dl_b, new_bw); > err = 0; > } else if (!dl_policy(policy) && task_has_dl_policy(p)) { > - __dl_clear(dl_b, p->dl.dl_bw); > + __dl_sub(dl_b, p->dl.dl_bw); > err = 0; > } > raw_spin_unlock(&dl_b->lock); > diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c > index a2ce59015642..229660088138 100644 > --- a/kernel/sched/deadline.c > +++ b/kernel/sched/deadline.c > @@ -1695,7 +1695,7 @@ static void set_cpus_allowed_dl(struct task_struct *p, > * until we complete the update. > */ > raw_spin_lock(&src_dl_b->lock); > - __dl_clear(src_dl_b, p->dl.dl_bw); > + __dl_sub(src_dl_b, p->dl.dl_bw); > raw_spin_unlock(&src_dl_b->lock); > } > > diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h > index 5cbf92214ad8..1a521324ecee 100644 > --- a/kernel/sched/sched.h > +++ b/kernel/sched/sched.h > @@ -226,7 +226,7 @@ struct dl_bw { > }; > > static inline > -void __dl_clear(struct dl_bw *dl_b, u64 tsk_bw) > +void __dl_sub(struct dl_bw *dl_b, u64 tsk_bw) > { > dl_b->total_bw -= tsk_bw; > }