Skip to content

Commit f0bdf6d

Browse files
Lai Jiangshanpaulmckrcu
authored andcommitted
rcu: Remove unused ->rcu_read_unlock_special.b.deferred_qs field
The ->rcu_read_unlock_special.b.deferred_qs field is set to true in rcu_read_unlock_special() but never set to false. This is not particularly useful, so this commit removes this field. The only possible justification for this field is to ease debugging of RCU deferred quiscent states, but the combination of the other ->rcu_read_unlock_special fields plus ->rcu_blocked_node and of course ->rcu_read_lock_nesting should cover debugging needs. And if this last proves incorrect, this patch can always be reverted, along with the required setting of ->rcu_read_unlock_special.b.deferred_qs to false in rcu_preempt_deferred_qs_irqrestore(). Signed-off-by: Lai Jiangshan <[email protected]> Signed-off-by: Paul E. McKenney <[email protected]>
1 parent 07b4a93 commit f0bdf6d

File tree

2 files changed

+1
-2
lines changed

2 files changed

+1
-2
lines changed

include/linux/sched.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -613,7 +613,7 @@ union rcu_special {
613613
u8 blocked;
614614
u8 need_qs;
615615
u8 exp_hint; /* Hint for performance. */
616-
u8 deferred_qs;
616+
u8 pad; /* No garbage from compiler! */
617617
} b; /* Bits. */
618618
u32 s; /* Set of bits. */
619619
};

kernel/rcu/tree_plugin.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -634,7 +634,6 @@ static void rcu_read_unlock_special(struct task_struct *t)
634634
irq_work_queue_on(&rdp->defer_qs_iw, rdp->cpu);
635635
}
636636
}
637-
t->rcu_read_unlock_special.b.deferred_qs = true;
638637
local_irq_restore(flags);
639638
return;
640639
}

0 commit comments

Comments
 (0)