[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B2F9212.3000407@linux.intel.com>
Date: Mon, 21 Dec 2009 16:19:46 +0100
From: Arjan van de Ven <arjan@...ux.intel.com>
To: Tejun Heo <tj@...nel.org>
CC: Jens Axboe <jens.axboe@...cle.com>,
Andi Kleen <andi@...stfloor.org>,
Peter Zijlstra <peterz@...radead.org>,
torvalds@...ux-foundation.org, awalls@...ix.net,
linux-kernel@...r.kernel.org, jeff@...zik.org, mingo@...e.hu,
akpm@...ux-foundation.org, rusty@...tcorp.com.au,
cl@...ux-foundation.org, dhowells@...hat.com, avi@...hat.com,
johannes@...solutions.net
Subject: Re: workqueue thing
On 12/21/2009 15:19, Tejun Heo wrote:
>
> Ah... okay, there are two aspects cmwq invovles the scheduler.
>
> A. Concurrency management. This is achieved by the scheduler
> callbacks which watches how many workers are working.
>
> B. Deadlock avoidance. This requires migrating rescuers to CPUs under
> allocation distress. The problem here is that
> set_cpus_allowed_ptr() doesn't allow migrating tasks to CPUs which
> are online but !active (CPU_DOWN_PREPARE).
why would you get involved in what-runs-where at all? Wouldn't the scheduler
load balancer be a useful thing ? ;-)
>
> For A, it's far more efficient and robust with scheduler callbacks.
> It's conceptually pretty simple too.
Assuming you don't get tasks that do lots of cpu intense work and that need
to get preempted etc...like raid5/6 sync but also the btrfs checksumming etc etc.
That to me is the weak spot of the scheduler callback thing. We already have
a whole thing that knows how to load balance and preempt tasks... it's called "scheduler".
Let the scheduler do its job and just give it insight in the work (by having a runnable thread)
--
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