Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753275AbdC0Ot1 (ORCPT ); Mon, 27 Mar 2017 10:49:27 -0400 Received: from mail.santannapisa.it ([193.205.80.99]:63688 "EHLO mail.santannapisa.it" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752607AbdC0OtT (ORCPT ); Mon, 27 Mar 2017 10:49:19 -0400 Date: Mon, 27 Mar 2017 16:48:48 +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 9/9] sched/deadline: also reclaim bandwidth not used by dl tasks Message-ID: <20170327164848.510bf8c7@luca> In-Reply-To: <20170327140341.yvjjr6hbow2jug3t@hirez.programming.kicks-ass.net> References: <1490327582-4376-1-git-send-email-luca.abeni@santannapisa.it> <1490327582-4376-10-git-send-email-luca.abeni@santannapisa.it> <20170327140341.yvjjr6hbow2jug3t@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: 1161 Lines: 42 Hi Peter, On Mon, 27 Mar 2017 16:03:41 +0200 Peter Zijlstra wrote: > On Fri, Mar 24, 2017 at 04:53:02AM +0100, luca abeni wrote: > > > +static inline > > +void __dl_update(struct dl_bw *dl_b, s64 bw) > > +{ > > + struct root_domain *rd = container_of(dl_b, struct > > root_domain, dl_bw); > > + int i; > > + > > + RCU_LOCKDEP_WARN(!rcu_read_lock_sched_held(), > > + "sched RCU must be held"); > > + for_each_cpu_and(i, rd->span, cpu_active_mask) { > > + struct rq *rq = cpu_rq(i); > > + > > + rq->dl.extra_bw += bw; > > + } > > So this is unfortunate (and we already have one such instance). > > It effectively does an for_each_online_cpu() with IRQs disabled, and > on SGI class hardware that takes _forever_. I have to admit I copied this code from somewhere else... :) I am happy to discuss a better solution. Thanks, Luca > > This is also what I got stuck on trying to rewrite AC to use Tommaso's > recoverable thing. In the end I had to do a 2 stage try/commit > variant. Which ended up being a pain and I didn't finish. > > I'm not saying this patch is bad, but this is something we need to > thing about.