Frederic Weisbecker
b913c3fe68
rcu/nocb: Make IRQs disablement symmetric
...
Currently IRQs are disabled on call_rcu() and then depending on the
context:
* If the CPU is in nocb mode:
- If the callback is enqueued in the bypass list, IRQs are re-enabled
implictly by rcu_nocb_try_bypass()
- If the callback is enqueued in the normal list, IRQs are re-enabled
implicitly by __call_rcu_nocb_wake()
* If the CPU is NOT in nocb mode, IRQs are reenabled explicitly from call_rcu()
This makes the code a bit hard to follow, especially as it interleaves
with nocb locking.
To make the IRQ flags coverage clearer and also in order to prepare for
moving all the nocb enqueue code to its own function, always re-enable
the IRQ flags explicitly from call_rcu().
Reviewed-by: Neeraj Upadhyay (AMD) <neeraj.iitr10@gmail.com>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
2024-02-14 07:50:45 -08:00
..
2024-01-17 20:20:06 -08:00
2024-01-18 09:48:40 -08:00
2023-09-22 09:50:55 -07:00
2024-01-17 17:19:06 +00:00
2024-01-18 16:49:34 -08:00
2023-12-21 23:12:18 +01:00
2024-01-09 11:18:47 -08:00
2024-01-19 12:58:17 +01:00
2023-10-18 14:43:22 -07:00
2024-01-24 14:15:41 +01:00
2023-10-18 14:34:17 -07:00
2023-09-20 11:24:18 +02:00
2024-01-12 16:35:58 -08:00
2024-01-10 18:00:18 -08:00
2023-12-20 19:19:26 +01:00
2023-11-03 15:44:25 -10:00
2024-02-14 07:50:45 -08:00
2024-01-18 11:57:33 -08:00
2024-01-25 09:52:40 +01:00
2024-01-22 17:15:40 -05:00
2023-09-11 15:05:50 +02:00
2024-01-10 16:43:55 -08:00
2022-08-22 18:50:06 -04:00
2023-11-02 20:53:31 -10:00
2023-11-14 17:34:27 -05:00
2023-11-12 22:33:49 -05:00
2023-07-21 12:17:25 -04:00
2023-08-15 18:16:14 -04:00
2023-10-13 18:34:46 +02:00
2022-09-26 19:46:09 -07:00
2023-08-08 16:48:47 -04:00
2022-09-26 10:13:13 -07:00
2023-03-14 19:32:38 -07:00
2023-06-05 09:57:20 +02:00
2023-01-13 11:48:15 +01:00
2024-01-09 10:36:07 -08:00
2024-01-12 15:20:47 -08:00
2023-12-15 14:19:48 -08:00
2023-04-18 16:39:34 -07:00
2024-01-10 16:43:55 -08:00
2023-09-21 12:03:50 -06:00
2023-02-08 13:36:22 +01:00
2024-01-24 11:48:52 -08:00
2023-12-23 15:52:13 +01:00
2023-05-28 16:20:21 +09:00
2023-09-29 11:28:39 -07:00
2023-04-08 13:45:37 -07:00
2023-08-21 13:37:28 -07:00
2023-03-24 11:01:29 +01:00
2022-12-01 15:53:05 -08:00
2022-11-12 18:47:36 -08:00
2023-08-29 17:32:32 -07:00
2022-11-15 00:42:02 -08:00
2023-08-25 15:00:36 -07:00
2023-10-19 11:02:48 +02:00
2023-12-20 13:46:19 -08:00
2023-06-09 17:44:17 -07:00
2024-01-12 15:20:47 -08:00
2023-12-29 12:22:25 -08:00
2022-09-11 21:55:06 -07:00
2023-10-09 16:59:47 +10:00
2023-03-24 20:10:59 -07:00
2023-12-01 14:53:55 +09:00
2023-06-08 12:27:20 -07:00
2023-08-24 16:25:14 -07:00
2023-11-02 20:53:31 -10:00
2022-09-11 21:55:12 -07:00
2023-12-20 19:26:30 -05:00
2023-04-08 13:45:38 -07:00
2023-08-21 11:29:12 -07:00
2023-12-20 19:26:30 -05:00
2023-10-27 18:04:24 +08:00
2023-10-04 10:41:56 -07:00
2023-12-01 09:51:44 -08:00
2023-12-20 19:26:31 -05:00
2023-08-21 13:37:59 -07:00
2023-12-12 14:24:14 +01:00
2022-09-11 21:55:12 -07:00
2024-01-09 11:46:20 -08:00
2024-01-09 16:20:17 -08:00
2023-12-29 12:22:27 -08:00
2024-01-09 11:46:20 -08:00
2022-12-27 12:52:12 +01:00
2023-07-14 15:02:57 -07:00
2022-11-09 18:06:35 +00:00
2023-12-12 14:24:14 +01:00
2023-12-10 17:21:32 -08:00
2023-10-30 17:56:53 -10:00
2023-10-04 10:41:57 -07:00
2023-07-13 15:21:50 +02:00
2023-04-20 11:36:35 +02:00
2023-12-29 12:22:29 -08:00
2022-10-17 16:41:16 +02:00
2024-01-09 12:57:46 -08:00
2023-11-18 19:35:31 +01:00
2022-09-08 16:56:45 -07:00
2023-11-01 15:28:33 -10:00
2023-09-19 13:21:32 -07:00
2023-10-04 10:41:57 -07:00
2023-09-24 17:24:01 +02:00
2023-02-18 14:34:36 -05:00
2023-08-15 15:26:17 -07:00
2023-06-29 15:19:43 -07:00
2023-09-13 14:59:24 +02:00
2023-11-28 14:08:47 +01:00
2023-10-11 08:46:01 -07:00
2023-04-13 11:49:35 -07:00
2023-06-08 15:43:09 -04:00
2023-12-21 13:17:54 +01:00
2023-06-19 16:25:28 -07:00
2023-06-09 17:44:21 -07:00
2023-12-29 12:22:30 -08:00
2023-08-07 15:57:22 -10:00
2023-11-22 06:18:49 -10:00