Hi Tejun,

On Mon, Jul 31, 2017 at 5:38 PM, Tejun Heo <t...@kernel.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 -- ge...@linux-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

Reply via email to