rcu: Remove redundant grace-period check
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 4 Jan 2010 23:09:08 +0000 (15:09 -0800)
committerIngo Molnar <mingo@elte.hu>
Wed, 13 Jan 2010 08:06:04 +0000 (09:06 +0100)
commit45f014c52eef022873b19d6a20eb0ec9668f2b09
tree036e3987276a5e689869a47b3641d70588db2489
parentee47eb9f4da6f44af965d6d049e77ee8c8a4b822
rcu: Remove redundant grace-period check

The rcu_process_dyntick() function checks twice for the end of
the current grace period.  However, it holds the current
rcu_node structure's ->lock field throughout, and doesn't get to
the second call to rcu_gp_in_progress() unless there is at least
one CPU corresponding to this rcu_node structure that has not
yet checked in for the current grace period, which would prevent
the current grace period from ending. So the current grace
period cannot have ended, and the second check is redundant, so
remove it.

Also, given that this function is used even with !CONFIG_NO_HZ,
its name is quite misleading.  Change from rcu_process_dyntick()
to force_qs_rnp().

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: mathieu.desnoyers@polymtl.ca
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: Valdis.Kletnieks@vt.edu
Cc: dhowells@redhat.com
LKML-Reference: <1262646550562-git-send-email->
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/rcutree.c