Oleg Nesterov 00dfcaf748 workqueues: shrink cpu_populated_map when CPU dies
When cpu_populated_map was introduced, it was supposed that cwq->thread can
survive after CPU_DEAD, that is why we never shrink cpu_populated_map.

This is not very nice, we can safely remove the already dead CPU from the map.
 The only required change is that destroy_workqueue() must hold the hotplug
lock until it destroys all cwq->thread's, to protect the cpu_populated_map.
We could make the local copy of cpu mask and drop the lock, but
sizeof(cpumask_t) may be very large.

Also, fix the comment near queue_work().  Unless _cpu_down() happens we do
guarantee the cpu-affinity of the work_struct, and we have users which rely on
this.

[akpm@linux-foundation.org: repair comment]
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-29 08:06:11 -07:00
..
2008-04-25 00:25:08 +02:00
2008-04-19 09:59:43 +10:00
2008-04-28 08:58:22 -07:00
2008-04-29 08:06:10 -07:00
2008-04-29 08:06:10 -07:00
2008-04-28 08:58:23 -07:00
2008-04-29 08:05:59 -07:00
2008-04-19 19:45:01 +02:00
2008-04-19 19:45:00 +02:00
2008-04-19 19:45:00 +02:00
2008-04-21 22:15:06 +00:00
2008-04-29 08:05:59 -07:00