[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdUOoKAB9RXWF3gkEf6m0ww1XrYWL6QGzV6ucLQuOX3rUg@mail.gmail.com>
Date: Mon, 7 Aug 2017 14:18:51 +0200
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Tejun Heo <tj@...nel.org>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Lai Jiangshan <jiangshanlai@...il.com>,
Michael Bringmann <mwb@...ux.vnet.ibm.com>
Subject: Re: [GIT PULL] workqueue fixes for v4.13-rc3
Hi Tejun,
On Mon, Jul 31, 2017 at 5:38 PM, Tejun Heo <tj@...nel.org> wrote:
> Two notable fixes.
> * Workqueue assumes that CPU <-> NUMA node mapping remains static.
> This is a general assumption - we don't have any synchronization
> mechanism around CPU <-> node mapping. Unfortunately, powerpc may
> change the mapping dynamically leading to crashes. Michael added a
> workaround so that we at least don't crash while powerpc hotplug
> code gets updated.
> Michael Bringmann (1):
> workqueue: Work around edge cases for calc of pool's cpumask
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -3577,6 +3577,13 @@ static bool wq_calc_node_cpumask(const struct workqueue_attrs *attrs, int node,
>
> /* yeap, return possible CPUs in @node that @attrs wants */
> cpumask_and(cpumask, attrs->cpumask, wq_numa_possible_cpumask[node]);
> +
> + if (cpumask_empty(cpumask)) {
> + pr_warn_once("WARNING: workqueue cpumask: online intersect > "
> + "possible intersect\n");
> + return false;
> + }
> +
This triggers on m68k, which doesn't have SMP.
Haven't tried it yet on any other system due to holidays.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Powered by blists - more mailing lists