lkml.org 
[lkml]   [2011]   [Oct]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/8] kernel/workqueue.c: unbound work queue rescuer runs on first cpu in cpumask_online_cpu
On Wed, 5 Oct 2011, Fenghua Yu wrote:

> From: Fenghua Yu <fenghua.yu@intel.com>
>
> If work queue is unbound to a specific cpu, run rescuer on first cpu in
> cpumask_online_cpu instead BSP which could be offlined.

This patch needs to be applied separate from that series as it fixes a
bug which affects all architectures which can offline the boot cpu.

Thanks,

tglx


> Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
> ---
> kernel/workqueue.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> index 1783aab..d26e411 100644
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -1496,9 +1496,9 @@ static bool send_mayday(struct work_struct *work)
>
> /* mayday mayday mayday */
> cpu = cwq->gcwq->cpu;
> - /* WORK_CPU_UNBOUND can't be set in cpumask, use cpu 0 instead */
> + /* WORK_CPU_UNBOUND can't be set in cpumask, use first cpu instead */
> if (cpu == WORK_CPU_UNBOUND)
> - cpu = 0;
> + cpu = cpumask_first(cpu_online_mask);
> if (!mayday_test_and_set_cpu(cpu, wq->mayday_mask))
> wake_up_process(wq->rescuer->task);
> return true;
> --
> 1.6.0.3
>
>


\
 
 \ /
  Last update: 2011-10-05 20:55    [from the cache]
©2003-2011 Jasper Spaans