Peter Zijlstra
5b1e4fc298
kthread: Extract KTHREAD_IS_PER_CPU
...
[ Upstream commit ac687e6e8c26181a33270efd1a2e2241377924b0 ]
There is a need to distinguish geniune per-cpu kthreads from kthreads
that happen to have a single CPU affinity.
Geniune per-cpu kthreads are kthreads that are CPU affine for
correctness, these will obviously have PF_KTHREAD set, but must also
have PF_NO_SETAFFINITY set, lest userspace modify their affinity and
ruins things.
However, these two things are not sufficient, PF_NO_SETAFFINITY is
also set on other tasks that have their affinities controlled through
other means, like for instance workqueues.
Therefore another bit is needed; it turns out kthread_create_per_cpu()
already has such a bit: KTHREAD_IS_PER_CPU, which is used to make
kthread_park()/kthread_unpark() work correctly.
Expose this flag and remove the implicit setting of it from
kthread_create_on_cpu(); the io_uring usage of it seems dubious at
best.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20210121103506.557620262@infradead.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-02-07 15:35:49 +01:00
..
2019-08-09 09:15:05 +02:00
2019-06-26 09:18:54 -07:00
2020-11-18 19:20:19 +01:00
2020-04-02 15:11:02 +02:00
2019-09-17 10:27:46 -07:00
2019-07-17 09:55:43 -07:00
2020-04-01 11:01:34 +02:00
2019-09-18 11:14:31 -07:00
2019-07-24 14:11:52 -07:00
2020-02-19 19:53:09 +01:00
2019-08-28 17:24:22 +02:00
2019-08-11 10:48:28 +02:00
2020-04-29 16:33:12 +02:00
2020-07-22 09:33:13 +02:00
2019-08-20 10:35:46 +01:00
2019-07-03 17:52:08 -04:00
2019-09-17 00:40:05 -05:00
2020-06-24 17:50:33 +02:00
2020-12-08 10:40:27 +01:00
2020-10-01 13:17:20 +02:00
2020-11-01 12:01:05 +01:00
2020-12-30 11:50:54 +01:00
2019-09-13 12:47:36 +02:00
2019-09-13 12:47:36 +02:00
2019-09-13 12:47:36 +02:00
2019-09-13 12:47:36 +02:00
2019-07-08 09:54:55 -07:00
2019-08-23 11:09:41 +02:00
2020-10-29 09:58:09 +01:00
2020-02-01 09:34:49 +00:00
2020-10-01 13:18:18 +02:00
2020-02-24 08:36:47 +01:00
2020-02-11 04:35:55 -08:00
2021-01-09 13:44:55 +01:00
2019-09-19 16:24:24 -07:00
2019-09-04 14:57:28 +05:30
2020-11-24 13:29:22 +01:00
2020-12-30 11:51:16 +01:00
2020-11-05 11:43:15 +01:00
2019-08-10 15:25:47 -07:00
2021-01-19 18:26:16 +01:00
2020-01-09 10:19:59 +01:00
2019-08-20 22:09:52 +02:00
2019-08-09 17:30:40 +02:00
2019-07-22 09:36:18 -07:00
2020-11-18 19:20:21 +01:00
2019-08-30 21:29:32 -04:00
2020-05-14 07:58:30 +02:00
2020-05-14 07:58:30 +02:00
2019-09-02 15:55:03 +01:00
2020-10-01 13:17:47 +02:00
2020-01-09 10:19:54 +01:00
2020-08-19 08:16:28 +02:00
2019-10-14 15:04:01 -07:00
2020-06-24 17:50:39 +02:00
2019-07-16 19:23:22 -07:00
2019-08-28 21:17:12 -06:00
2019-08-28 21:17:04 -06:00
2019-09-05 19:52:34 -06:00
2020-07-22 09:32:52 +02:00
2020-03-05 16:43:52 +01:00
2019-07-29 13:50:48 -07:00
2020-10-29 09:58:06 +01:00
2019-06-27 15:25:16 -07:00
2020-08-07 09:34:02 +02:00
2020-04-23 10:36:15 +02:00
2019-09-05 10:15:16 +02:00
2020-12-16 10:56:58 +01:00
2020-09-09 19:12:34 +02:00
2019-08-09 09:17:05 -07:00
2020-07-22 09:32:50 +02:00
2020-07-22 09:32:49 +02:00
2019-09-19 15:31:27 -07:00
2019-09-20 15:45:07 -07:00
2019-07-16 19:23:23 -07:00
2019-09-24 15:54:10 -07:00
2019-11-29 10:10:08 +01:00
2019-10-11 09:26:05 -07:00
2020-11-18 19:20:26 +01:00
2020-12-16 10:56:59 +01:00
2021-01-23 15:57:55 +01:00
2020-12-16 10:56:59 +01:00
2019-07-21 13:31:14 -07:00
2019-09-04 13:38:26 +02:00
2020-04-17 10:50:11 +02:00
2020-02-11 04:35:25 -08:00
2020-02-24 08:36:34 +01:00
2019-09-03 09:36:36 +02:00
2019-09-17 19:15:14 -07:00
2019-09-25 17:51:40 -07:00
2019-07-25 15:55:04 +02:00
2019-08-09 22:52:10 +10:00
2019-09-23 11:21:04 -07:00
2019-07-08 20:57:08 -07:00
2020-09-23 12:40:47 +02:00
2019-07-31 13:31:05 -06:00
2020-10-01 13:17:21 +02:00
2020-04-17 10:50:09 +02:00
2019-08-25 12:44:38 +09:00
2020-07-29 10:18:45 +02:00
2019-09-18 10:33:46 -07:00
2019-07-25 11:34:39 -07:00
2021-01-19 18:26:13 +01:00
2020-07-29 10:18:29 +02:00
2019-08-21 07:14:10 +09:00
2020-01-04 19:17:24 +01:00
2019-08-17 18:46:33 +01:00
2020-01-04 19:17:00 +01:00
2019-08-29 16:43:22 +02:00
2019-08-16 12:40:58 +01:00
2020-02-24 08:36:40 +01:00
2020-04-01 11:01:53 +02:00
2019-06-27 23:02:12 +01:00
2019-10-22 12:54:44 -07:00
2019-09-03 19:21:19 +02:00
2020-09-03 11:26:49 +02:00
2019-09-05 19:52:33 -06:00
2021-01-23 15:57:55 +01:00
2020-06-17 16:40:20 +02:00
2019-06-24 19:23:39 +02:00
2019-08-07 13:52:43 +01:00
2020-02-11 04:35:37 -08:00
2019-10-18 15:32:52 +02:00
2019-07-31 13:31:05 -06:00
2019-08-21 22:23:48 +10:00
2020-04-23 10:36:33 +02:00
2020-09-03 11:27:09 +02:00
2020-07-16 08:16:45 +02:00
2019-07-26 14:51:57 +10:00
2020-10-14 10:32:56 +02:00
2019-09-25 09:55:59 -07:00
2019-07-16 22:52:37 -04:00
2021-01-30 13:54:11 +01:00
2021-01-06 14:48:35 +01:00
2019-07-03 18:52:20 +02:00
2020-05-14 07:58:30 +02:00
2019-08-12 19:33:50 -07:00
2020-03-25 08:25:58 +01:00
2019-08-26 11:40:24 +02:00
2019-07-12 15:13:55 -07:00
2020-10-07 08:01:29 +02:00
2019-10-28 16:17:31 -07:00
2019-09-05 11:40:54 +02:00
2019-08-27 19:02:59 +02:00
2020-09-05 11:22:49 +02:00
2020-11-05 11:43:36 +01:00
2019-08-20 09:35:02 -03:00
2019-06-25 12:59:43 +10:00
2020-01-04 19:18:41 +01:00
2019-09-29 10:33:41 -07:00
2020-04-23 10:36:36 +02:00
2019-07-15 11:03:02 -03:00
2019-10-02 06:36:50 -07:00
2019-06-29 21:08:14 -07:00
2020-08-11 15:33:38 +02:00
2020-09-23 12:40:38 +02:00
2019-09-24 16:48:02 -07:00
2019-07-09 14:52:14 -07:00
2019-09-03 11:33:29 +02:00
2019-11-08 08:46:49 -08:00
2020-06-03 08:21:36 +02:00
2019-07-05 21:34:50 +02:00
2020-01-12 12:21:46 +01:00
2019-10-24 14:53:49 -07:00
2019-07-30 14:42:13 -07:00
2019-07-26 14:20:06 -07:00
2019-07-08 19:25:19 -07:00
2019-10-24 14:53:48 -07:00
2020-07-22 09:32:49 +02:00
2019-09-28 08:14:15 -07:00
2019-06-26 13:19:46 -07:00
2020-03-18 07:17:38 +01:00
2019-08-28 11:50:33 +02:00
2019-07-04 22:01:59 -04:00
2019-08-20 12:04:07 -07:00
2019-07-15 11:42:31 +02:00
2019-07-25 13:03:18 +02:00
2021-02-03 23:26:01 +01:00
2019-06-26 14:08:11 +02:00
2020-02-28 17:22:26 +01:00
2019-08-13 23:02:48 +03:00
2019-08-13 23:02:44 +03:00
2019-09-17 19:15:14 -07:00
2019-09-25 17:51:39 -07:00
2020-07-29 10:18:44 +02:00
2019-08-30 16:12:10 +02:00
2020-05-10 10:31:30 +02:00
2020-04-17 10:50:04 +02:00
2019-09-19 15:32:45 -07:00
2019-08-23 10:09:58 +02:00
2020-06-24 17:50:35 +02:00
2019-07-23 09:51:00 +02:00
2019-12-31 16:44:14 +01:00
2020-08-21 13:05:20 +02:00
2020-12-11 13:23:30 +01:00
2019-07-08 14:01:43 +02:00
2020-06-24 17:50:48 +02:00
2020-07-16 08:16:44 +02:00
2019-07-12 11:05:42 -07:00
2019-07-12 11:05:42 -07:00
2021-01-09 13:44:54 +01:00
2019-09-07 04:28:05 -03:00
2019-12-13 08:42:53 +01:00
2019-09-28 08:14:15 -07:00
2020-04-23 10:36:45 +02:00
2019-09-02 11:43:54 +01:00
2020-06-22 09:31:03 +02:00
2020-10-14 10:33:05 +02:00
2020-10-01 13:18:23 +02:00
2021-02-07 15:35:49 +01:00
2020-06-17 16:40:26 +02:00
2020-02-11 04:35:40 -08:00
2019-08-05 21:52:53 +02:00
2019-07-25 20:07:50 +02:00
2019-10-08 22:05:58 +02:00
2020-10-01 13:18:26 +02:00
2020-01-04 19:18:28 +01:00
2019-08-29 13:49:13 -07:00
2019-08-06 08:20:10 -06:00
2020-11-10 12:37:24 +01:00
2020-02-24 08:36:45 +01:00
2019-06-29 01:31:08 +02:00
2019-07-11 15:30:05 -07:00
2019-07-25 15:43:27 +02:00
2020-09-09 19:12:29 +02:00
2019-08-13 14:54:24 +08:00
2019-09-28 08:14:15 -07:00
2019-07-16 19:23:24 -07:00
2019-09-05 12:32:05 +02:00
2019-08-09 22:52:10 +10:00
2020-05-20 08:20:27 +02:00
2020-01-09 10:19:56 +01:00
2019-11-15 18:34:00 -08:00
2019-09-28 14:05:38 -07:00
2019-09-29 10:33:41 -07:00
2020-10-07 08:01:25 +02:00
2019-10-17 16:31:52 -07:00
2019-08-20 09:35:03 -03:00
2019-10-04 18:11:08 -07:00
2019-12-13 08:43:18 +01:00
2019-09-25 17:51:40 -07:00
2019-11-06 08:28:58 -08:00
2020-11-10 12:37:27 +01:00
2019-09-07 04:28:04 -03:00
2020-10-07 08:01:29 +02:00
2020-07-29 10:18:36 +02:00
2019-08-06 13:41:04 -04:00
2019-09-27 19:37:27 -07:00
2019-08-14 15:30:35 +02:00
2019-08-08 09:09:25 +02:00
2019-07-03 19:28:40 +02:00
2019-09-03 09:30:45 -04:00
2020-10-14 10:33:00 +02:00
2020-06-30 15:36:44 -04:00
2019-09-13 12:35:33 +02:00
2020-11-18 19:20:17 +01:00
2020-11-18 19:20:17 +01:00
2020-12-02 08:49:44 +01:00
2019-07-01 19:12:10 -07:00
2019-07-18 15:50:28 -04:00
2019-07-06 14:54:50 -04:00
2020-06-24 17:50:44 +02:00
2020-10-01 13:17:52 +02:00
2020-05-06 08:15:05 +02:00
2020-10-07 08:01:30 +02:00
2020-04-17 10:50:10 +02:00
2019-12-31 16:44:40 +01:00
2019-12-31 16:44:43 +01:00
2019-09-11 14:46:02 +01:00
2021-01-06 14:48:37 +01:00
2019-07-22 20:56:37 +05:30
2019-08-09 19:56:05 +02:00
2019-07-10 23:08:44 -05:00
2020-10-29 09:57:45 +01:00
2020-10-29 09:57:51 +01:00
2020-06-17 16:40:22 +02:00
2019-10-14 15:04:00 -07:00
2020-10-29 09:57:52 +01:00
2019-08-03 07:02:01 -07:00
2020-03-25 08:25:58 +01:00
2019-07-12 11:05:43 -07:00
2019-09-24 15:54:08 -07:00
2019-09-07 04:28:04 -03:00
2019-08-28 15:25:53 -05:00
2020-06-22 09:31:17 +02:00
2020-04-17 10:50:11 +02:00
2019-08-16 08:41:26 -05:00
2020-10-29 09:57:54 +01:00
2020-04-23 10:36:37 +02:00
2020-02-11 04:35:44 -08:00
2019-07-08 16:12:03 -07:00
2019-07-04 08:05:52 -07:00
2019-10-28 11:02:01 +01:00
2019-07-16 19:23:25 -07:00
2019-09-05 11:54:14 +02:00
2020-03-18 07:17:46 +01:00
2019-07-08 19:48:57 -07:00
2019-08-01 21:49:46 +02:00
2020-03-18 07:17:56 +01:00
2019-08-05 10:58:19 +02:00
2019-07-26 13:24:59 +05:30
2019-12-21 11:04:31 +01:00
2020-12-30 11:50:53 +01:00
2019-08-21 00:20:40 +02:00
2020-11-01 12:01:06 +01:00
2020-05-20 08:20:27 +02:00
2019-07-16 19:23:22 -07:00
2020-01-04 19:18:48 +01:00
2019-09-05 21:16:22 +02:00
2019-07-15 21:06:15 -07:00
2020-11-18 19:20:20 +01:00
2019-07-31 19:03:34 +02:00
2020-12-30 11:50:55 +01:00
2020-05-02 08:48:42 +02:00
2021-01-12 20:16:10 +01:00
2019-08-26 11:35:13 +02:00
2019-08-09 17:51:39 +01:00
2019-09-21 03:25:10 +02:00
2019-07-22 16:25:20 -07:00
2020-11-01 12:01:06 +01:00
2020-01-04 19:17:25 +01:00
2019-12-17 19:56:43 +01:00
2019-11-01 22:26:34 -04:00
2019-09-12 21:05:34 -04:00
2020-08-07 09:34:01 +02:00
2019-09-25 17:51:39 -07:00
2019-07-16 19:23:22 -07:00
2019-08-13 14:35:49 -07:00
2019-08-09 11:01:08 -07:00
2020-02-24 08:36:45 +01:00
2019-08-09 11:00:35 -07:00
2019-09-16 17:25:49 -07:00
2019-08-26 16:27:01 -07:00
2019-07-31 19:03:35 +02:00
2019-09-25 17:42:29 +02:00
2019-07-09 12:34:26 -07:00
2019-06-29 12:02:17 -07:00
2019-10-28 12:18:23 +01:00
2019-10-24 10:26:33 +02:00
2020-08-05 09:59:47 +02:00
2019-09-16 11:43:38 -05:00
2021-01-09 13:44:55 +01:00
2020-04-17 10:50:12 +02:00
2019-08-12 12:23:02 +01:00
2020-12-30 11:51:30 +01:00
2019-06-29 10:33:57 -06:00
2020-04-02 15:11:00 +02:00
2020-12-30 11:51:21 +01:00
2019-07-03 17:52:50 -04:00
2020-10-01 13:17:25 +02:00
2019-07-15 11:03:03 -03:00
2020-06-17 16:40:31 +02:00
2019-09-12 21:05:34 -04:00
2019-09-24 15:54:11 -07:00
2019-08-19 06:34:13 -05:00
2019-07-09 09:07:00 -07:00
2019-07-09 11:35:38 -07:00
2021-01-23 15:57:57 +01:00
2020-08-07 09:34:02 +02:00
2019-10-07 15:47:20 -07:00
2019-07-08 16:12:03 -07:00
2019-10-31 14:01:40 -07:00
2019-08-19 13:14:53 -03:00
2019-07-31 19:03:35 +02:00
2019-07-31 19:03:35 +02:00
2019-07-25 15:43:26 +02:00
2019-09-11 15:27:09 +01:00
2019-07-03 17:52:50 -04:00
2020-06-22 09:31:12 +02:00
2020-02-19 19:52:56 +01:00
2020-04-13 10:48:07 +02:00
2019-09-25 17:51:41 -07:00
2020-04-23 10:36:37 +02:00
2020-11-24 13:29:04 +01:00
2019-08-05 14:56:30 -07:00
2019-09-07 21:42:25 +02:00
2019-07-18 17:08:07 -07:00
2019-10-02 10:06:45 +02:00
2019-09-17 20:03:49 -06:00
2020-07-31 18:39:31 +02:00
2019-07-31 13:25:15 -06:00
2020-01-04 19:18:42 +01:00
2019-08-26 12:15:06 +03:00
2020-11-18 19:20:15 +01:00
2019-12-18 16:08:43 +01:00
2019-08-23 02:12:11 +02:00
2019-06-25 08:54:51 +02:00
2019-08-01 20:51:22 +02:00
2019-08-02 14:45:14 +10:00
2019-08-28 11:50:43 +02:00
2020-01-23 08:22:44 +01:00
2019-09-16 17:25:49 -07:00
2019-07-31 19:03:35 +02:00
2020-08-19 08:15:57 +02:00
2020-08-19 08:16:27 +02:00
2019-08-31 06:51:49 -04:00
2020-12-30 11:51:21 +01:00
2019-07-16 19:23:24 -07:00
2020-08-19 08:15:53 +02:00
2020-12-11 13:23:28 +01:00
2020-01-17 19:48:40 +01:00
2019-07-13 10:36:53 -07:00
2020-12-21 13:27:06 +01:00
2019-08-21 10:03:35 -07:00
2019-06-26 21:02:32 +01:00
2019-08-05 18:40:18 -04:00
2019-08-14 01:10:42 +09:00
2020-06-10 20:24:55 +02:00
2020-10-07 08:01:24 +02:00
2020-04-29 16:33:14 +02:00
2019-07-12 11:05:43 -07:00
2020-04-02 15:11:00 +02:00
2019-09-04 14:34:31 +02:00
2019-09-17 12:35:15 -07:00
2019-07-14 16:51:47 -07:00
2019-09-13 21:15:39 +10:00
2019-08-27 09:22:38 -06:00
2020-04-17 10:50:18 +02:00
2020-08-11 15:33:39 +02:00
2019-09-24 15:54:12 -07:00
2020-12-16 10:56:59 +01:00