summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEric Dumazet <dada1@cosmosbay.com>2005-10-17 20:01:21 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-17 15:27:58 -0700
commit5ee832dbc6770135ec8d63296af0a4374557bb79 (patch)
tree80ffdc157100df18f1c18d39f5036a9b798f2c06 /include
parentcc675230a9ca17010694bc8bd3c69ca9adf2efef (diff)
downloadlinux-5ee832dbc6770135ec8d63296af0a4374557bb79.tar.gz
linux-5ee832dbc6770135ec8d63296af0a4374557bb79.tar.bz2
linux-5ee832dbc6770135ec8d63296af0a4374557bb79.zip
[PATCH] rcu: keep rcu callback event counter
This makes call_rcu() keep track of how many events there are on the RCU list, and cause a reschedule event when the list gets too long. This helps keep RCU event lists down. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/rcupdate.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index 4e65eb44adfd..70191a5a148f 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -94,6 +94,7 @@ struct rcu_data {
long batch; /* Batch # for current RCU batch */
struct rcu_head *nxtlist;
struct rcu_head **nxttail;
+ long count; /* # of queued items */
struct rcu_head *curlist;
struct rcu_head **curtail;
struct rcu_head *donelist;