[lkml]   [2009]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: 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 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)

 \ /
  Last update: 2009-12-21 16:23    [W:0.091 / U:2.792 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site