[PATCH V2 3/7] rcu: remove useless special.b.deferred_qs

From: Lai Jiangshan
Date: Sat Nov 02 2019 - 08:47:53 EST


->read_read_unlock_special.b.deferred_qs is set when
->read_read_unlock_special is non-zero, and it is cleared when
->read_read_unlock_special is cleared.

So it is useless.

Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxxxxx>
---
include/linux/sched.h | 2 +-
kernel/rcu/tree_plugin.h | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/include/linux/sched.h b/include/linux/sched.h
index 2c2e56bd8913..3ba392d71de9 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -604,7 +604,7 @@ union rcu_special {
u8 blocked;
u8 need_qs;
u8 exp_hint; /* Hint for performance. */
- u8 deferred_qs;
+ u8 pad; /* No garbage from compiler! */
} b; /* Bits. */
u32 s; /* Set of bits. */
};
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index 2fab8be2061f..f2fd7d687bdb 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -622,7 +622,6 @@ static void rcu_read_unlock_special(struct task_struct *t)
irq_work_queue_on(&rdp->defer_qs_iw, rdp->cpu);
}
}
- t->rcu_read_unlock_special.b.deferred_qs = true;
local_irq_restore(flags);
return;
}
--
2.20.1