Michal Suchanek d5f85e
From 624e46d03576dd4d5667bad9d2ef814135d0075c Mon Sep 17 00:00:00 2001
Michal Suchanek d5f85e
From: Nicholas Piggin <npiggin@gmail.com>
Michal Suchanek d5f85e
Date: Wed, 14 Jun 2017 23:02:40 +1000
Michal Suchanek d5f85e
Subject: [PATCH] cpuidle: powerpc: read mostly for common globals
Michal Suchanek d5f85e
Michal Suchanek d5f85e
References: PED-3947 bsc#1210544 ltc#202303
Michal Suchanek d5f85e
Patch-mainline: v4.13-rc1
Michal Suchanek d5f85e
Git-commit: 624e46d03576dd4d5667bad9d2ef814135d0075c
Michal Suchanek d5f85e
Michal Suchanek d5f85e
Ensure these don't get put into bouncing cachelines.
Michal Suchanek d5f85e
Michal Suchanek d5f85e
Reviewed-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Michal Suchanek d5f85e
Reviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
Michal Suchanek d5f85e
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Michal Suchanek d5f85e
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Michal Suchanek d5f85e
Acked-by: Michal Suchanek <msuchanek@suse.de>
Michal Suchanek d5f85e
---
Michal Suchanek d5f85e
 drivers/cpuidle/cpuidle-powernv.c | 10 +++++-----
Michal Suchanek d5f85e
 drivers/cpuidle/cpuidle-pseries.c |  8 ++++----
Michal Suchanek d5f85e
 2 files changed, 9 insertions(+), 9 deletions(-)
Michal Suchanek d5f85e
Michal Suchanek d5f85e
diff --git a/drivers/cpuidle/cpuidle-powernv.c b/drivers/cpuidle/cpuidle-powernv.c
Michal Suchanek d5f85e
index 50b3c2e0306f..9d03326ac05e 100644
Michal Suchanek d5f85e
--- a/drivers/cpuidle/cpuidle-powernv.c
Michal Suchanek d5f85e
+++ b/drivers/cpuidle/cpuidle-powernv.c
Michal Suchanek d5f85e
@@ -32,18 +32,18 @@ static struct cpuidle_driver powernv_idle_driver = {
Michal Suchanek d5f85e
 	.owner            = THIS_MODULE,
Michal Suchanek d5f85e
 };
Michal Suchanek d5f85e
 
Michal Suchanek d5f85e
-static int max_idle_state;
Michal Suchanek d5f85e
-static struct cpuidle_state *cpuidle_state_table;
Michal Suchanek d5f85e
+static int max_idle_state __read_mostly;
Michal Suchanek d5f85e
+static struct cpuidle_state *cpuidle_state_table __read_mostly;
Michal Suchanek d5f85e
 
Michal Suchanek d5f85e
 struct stop_psscr_table {
Michal Suchanek d5f85e
 	u64 val;
Michal Suchanek d5f85e
 	u64 mask;
Michal Suchanek d5f85e
 };
Michal Suchanek d5f85e
 
Michal Suchanek d5f85e
-static struct stop_psscr_table stop_psscr_table[CPUIDLE_STATE_MAX];
Michal Suchanek d5f85e
+static struct stop_psscr_table stop_psscr_table[CPUIDLE_STATE_MAX] __read_mostly;
Michal Suchanek d5f85e
 
Michal Suchanek d5f85e
-static u64 snooze_timeout;
Michal Suchanek d5f85e
-static bool snooze_timeout_en;
Michal Suchanek d5f85e
+static u64 snooze_timeout __read_mostly;
Michal Suchanek d5f85e
+static bool snooze_timeout_en __read_mostly;
Michal Suchanek d5f85e
 
Michal Suchanek d5f85e
 static int snooze_loop(struct cpuidle_device *dev,
Michal Suchanek d5f85e
 			struct cpuidle_driver *drv,
Michal Suchanek d5f85e
diff --git a/drivers/cpuidle/cpuidle-pseries.c b/drivers/cpuidle/cpuidle-pseries.c
Michal Suchanek d5f85e
index 7b12bb2ea70f..a404f352d284 100644
Michal Suchanek d5f85e
--- a/drivers/cpuidle/cpuidle-pseries.c
Michal Suchanek d5f85e
+++ b/drivers/cpuidle/cpuidle-pseries.c
Michal Suchanek d5f85e
@@ -25,10 +25,10 @@ struct cpuidle_driver pseries_idle_driver = {
Michal Suchanek d5f85e
 	.owner            = THIS_MODULE,
Michal Suchanek d5f85e
 };
Michal Suchanek d5f85e
 
Michal Suchanek d5f85e
-static int max_idle_state;
Michal Suchanek d5f85e
-static struct cpuidle_state *cpuidle_state_table;
Michal Suchanek d5f85e
-static u64 snooze_timeout;
Michal Suchanek d5f85e
-static bool snooze_timeout_en;
Michal Suchanek d5f85e
+static int max_idle_state __read_mostly;
Michal Suchanek d5f85e
+static struct cpuidle_state *cpuidle_state_table __read_mostly;
Michal Suchanek d5f85e
+static u64 snooze_timeout __read_mostly;
Michal Suchanek d5f85e
+static bool snooze_timeout_en __read_mostly;
Michal Suchanek d5f85e
 
Michal Suchanek d5f85e
 static inline void idle_loop_prolog(unsigned long *in_purr)
Michal Suchanek d5f85e
 {
Michal Suchanek d5f85e
-- 
Michal Suchanek d5f85e
2.40.0
Michal Suchanek d5f85e