aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2020-09-15 12:32:00 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2020-09-16 19:36:26 +0200
commit8747f2022fe8d8029193707ee86ff5c792cbef9b (patch)
treefdb28a11eb16c420a68394a907eb7c5f9e5c10d4 /include
parentACPI: processor: Use CPUIDLE_FLAG_TLB_FLUSHED (diff)
downloadwireguard-linux-8747f2022fe8d8029193707ee86ff5c792cbef9b.tar.xz
wireguard-linux-8747f2022fe8d8029193707ee86ff5c792cbef9b.zip
cpuidle: Allow cpuidle drivers to take over RCU-idle
Some drivers have to do significant work, some of which relies on RCU still being active. Instead of using RCU_NONIDLE in the drivers and flipping RCU back on, allow drivers to take over RCU-idle duty. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Borislav Petkov <bp@suse.de> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/cpuidle.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h
index 75895e6363b8..6175c77bf25e 100644
--- a/include/linux/cpuidle.h
+++ b/include/linux/cpuidle.h
@@ -82,6 +82,7 @@ struct cpuidle_state {
#define CPUIDLE_FLAG_UNUSABLE BIT(3) /* avoid using this state */
#define CPUIDLE_FLAG_OFF BIT(4) /* disable this state by default */
#define CPUIDLE_FLAG_TLB_FLUSHED BIT(5) /* idle-state flushes TLBs */
+#define CPUIDLE_FLAG_RCU_IDLE BIT(6) /* idle-state takes care of RCU */
struct cpuidle_device_kobj;
struct cpuidle_state_kobj;