Files
linux/kernel
Mathias Krause 6953f88cd3 padata: ensure padata_do_serial() runs on the correct CPU
commit 350ef88e7e upstream.

If the algorithm we're parallelizing is asynchronous we might change
CPUs between padata_do_parallel() and padata_do_serial(). However, we
don't expect this to happen as we need to enqueue the padata object into
the per-cpu reorder queue we took it from, i.e. the same-cpu's parallel
queue.

Ensure we're not switching CPUs for a given padata object by tracking
the CPU within the padata object. If the serial callback gets called on
the wrong CPU, defer invoking padata_reorder() via a kernel worker on
the CPU we're expected to run on.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-27 16:41:38 +02:00
..
2016-01-22 18:04:28 -05:00
2016-04-04 09:46:47 -04:00
2019-11-28 18:28:55 +01:00
2015-04-12 21:03:31 +02:00
2020-04-02 17:20:28 +02:00
2015-11-23 09:44:58 +01:00
2018-08-03 07:55:12 +02:00
2020-04-02 17:20:26 +02:00
2016-02-16 13:04:58 -05:00
2015-01-17 10:02:23 +13:00
2020-04-24 07:58:54 +02:00
2016-03-01 20:36:56 +01:00
2018-08-03 07:55:24 +02:00
2020-01-12 11:24:12 +01:00
2018-05-09 09:50:20 +02:00
2016-09-22 20:00:36 -05:00