[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1342104015.28010.11.camel@twins>
Date: Thu, 12 Jul 2012 16:40:15 +0200
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: Paul Turner <pjt@...gle.com>
Cc: linux-kernel@...r.kernel.org, Venki Pallipadi <venki@...gle.com>,
Srivatsa Vaddagiri <vatsa@...ibm.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Nikunj A Dadhania <nikunj@...ux.vnet.ibm.com>
Subject: Re: [PATCH 12/16] sched: refactor update_shares_cpu() ->
update_blocked_avgs()
On Wed, 2012-07-11 at 17:11 -0700, Paul Turner wrote:
> >> for_each_leaf_cfs_rq(rq, cfs_rq) {
> >> + __update_blocked_averages_cpu(cfs_rq->tg, rq->cpu);
> >>
> >> + /*
> >> + * Periodically release the lock so that a cfs_rq with many
> >> + * children cannot hold it for an arbitrary period of time.
> >> + */
> >> + if (num_updates++ % 20 == 0) {
> >> + raw_spin_unlock_irqrestore(&rq->lock, flags);
> >> + cpu_relax();
> >> + raw_spin_lock_irqsave(&rq->lock, flags);
> >
> > Gack.. that's not real pretty is it.. Esp. since we're still holding RCU
> > lock and are thus (mostly) still not preemptable.
> >
> > How much of a problem was this?, the changelog is silent on this.
>
> So the holding of RCU about these operations is nothing new (and
> indeed they should be much faster than before).
>
> As above, the bound is only for the crazy-large-numbers of cgroups
> case where we don't want to sit on with interrupts disabled forever.
> I suspect it wants to be larger, but picked a fairly conservative
> number to start with since I also think it's not a big performance
> factor either way.
How about you leave this ugly out for now (its unrelated to the rest of
the changes anyway).. and we can revisit this later?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists