lkml.org 
[lkml]   [2012]   [Jun]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC patch 1/5] kthread: Implement park/unpark facility
On Thu, Jun 14, 2012 at 03:13:31PM -0700, Silas Boyd-Wickizer wrote:
> Hello,
>
> Attached is a rough patch that uses park/unpark for workqueue idle
> threads. The patch is a hack, it probably has bugs, and it certainly
> doesn't simplify the workqueue code. Perhaps, however, the patch
> might be useful in guiding future changes to smp_boot_threads or
> workqueues.
>
> A difficulty in applying park/unpark (or smp_boot_threads
> potentially), it that there is no single per-CPU thread for each CPU.
> That is, the thread that starts out as the initial worker/idle thread
> could be different from any thread that is idling when a CPU goes
> offline. An additional complication is that a per-cpu worker that is
> idle may have initially been unbound (e.g. worker creation in the
> trustee_thread can cause this).

I haven't looked at it in any detail yet but if the goal is just
keeping workers around for temporarily down CPUs, workqueue changes
can be pretty simple. I *think* all that's necessary is trustee not
butchering on cpu down. wq already has mechanisms to recycle dangling
workers when a cpu comes back online. I'll give it a shot next week.

Thanks.

--
tejun


\
 
 \ /
  Last update: 2012-06-15 04:21    [W:0.117 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site