This commit rearranges Tiny SRCU's srcu_struct structure, substitutes
u8 for bool, and shrinks counters down to short.

Signed-off-by: Paul E. McKenney <[email protected]>
---
 include/linux/srcutiny.h | 8 ++++----
 kernel/rcu/rcutorture.c  | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/linux/srcutiny.h b/include/linux/srcutiny.h
index 42311ee0334f..b8859179b001 100644
--- a/include/linux/srcutiny.h
+++ b/include/linux/srcutiny.h
@@ -27,15 +27,15 @@
 #include <linux/swait.h>
 
 struct srcu_struct {
-       int srcu_lock_nesting[2];       /* srcu_read_lock() nesting depth. */
+       short srcu_lock_nesting[2];     /* srcu_read_lock() nesting depth. */
+       short srcu_idx;                 /* Current reader array element. */
+       u8 srcu_gp_running;             /* GP workqueue running? */
+       u8 srcu_gp_waiting;             /* GP waiting for readers? */
        struct swait_queue_head srcu_wq;
                                        /* Last srcu_read_unlock() wakes GP. */
        unsigned long srcu_gp_seq;      /* GP seq # for callback tagging. */
        struct rcu_segcblist srcu_cblist;
                                        /* Pending SRCU callbacks. */
-       int srcu_idx;                   /* Current reader array element. */
-       bool srcu_gp_running;           /* GP workqueue running? */
-       bool srcu_gp_waiting;           /* GP waiting for readers? */
        struct work_struct srcu_work;   /* For driving grace periods. */
 #ifdef CONFIG_DEBUG_LOCK_ALLOC
        struct lockdep_map dep_map;
diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index ae6e574d4cf5..a58592b73f19 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -609,7 +609,7 @@ static void srcu_torture_stats(void)
        pr_cont("\n");
 #elif defined(CONFIG_TINY_SRCU)
        idx = READ_ONCE(srcu_ctlp->srcu_idx) & 0x1;
-       pr_alert("%s%s Tiny SRCU per-CPU(idx=%d): (%d,%d)\n",
+       pr_alert("%s%s Tiny SRCU per-CPU(idx=%d): (%hd,%hd)\n",
                 torture_type, TORTURE_FLAG, idx,
                 READ_ONCE(srcu_ctlp->srcu_lock_nesting[!idx]),
                 READ_ONCE(srcu_ctlp->srcu_lock_nesting[idx]));
-- 
2.5.2

Reply via email to