Messages in this thread |  | | | Date | Wed, 5 Oct 2011 20:52:12 +0200 (CEST) | | From | Thomas Gleixner <> | | Subject | Re: [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 > >
|  |