Paul E. McKenney
486e259340
rcu: Avoid waking up CPUs having only kfree_rcu() callbacks
...
When CONFIG_RCU_FAST_NO_HZ is enabled, RCU will allow a given CPU to
enter dyntick-idle mode even if it still has RCU callbacks queued.
RCU avoids system hangs in this case by scheduling a timer for several
jiffies in the future. However, if all of the callbacks on that CPU
are from kfree_rcu(), there is no reason to wake the CPU up, as it is
not a problem to defer freeing of memory.
This commit therefore tracks the number of callbacks on a given CPU
that are from kfree_rcu(), and avoids scheduling the timer if all of
a given CPU's callbacks are from kfree_rcu().
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org >
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
2012-02-21 09:03:25 -08:00
..
2012-01-17 18:40:24 -08:00
2012-01-17 09:54:08 -05:00
2012-01-13 09:32:20 +10:30
2012-02-03 19:03:44 +01:00
2012-01-22 15:08:43 -05:00
2012-02-13 20:39:05 -05:00
2012-02-04 07:17:47 -08:00
2012-01-16 14:01:23 +01:00
2012-01-14 12:26:41 -08:00
2012-02-01 15:56:19 -08:00
2012-01-17 04:35:20 -05:00
2012-01-18 15:51:48 -08:00
2012-01-17 16:17:03 -05:00
2012-02-06 15:15:20 -08:00
2012-01-13 08:15:33 +01:00
2012-02-18 15:24:05 -08:00
2012-02-07 07:51:30 +01:00
2012-01-14 18:36:33 -08:00
2012-02-08 20:03:14 +01:00
2012-01-13 09:32:20 +10:30
2012-01-18 15:51:48 -08:00
2012-01-12 20:13:11 -08:00
2012-01-13 10:29:21 -08:00
2012-01-24 10:47:41 -08:00
2012-01-18 10:46:21 +11:00
2012-02-08 09:19:42 +01:00
2012-01-12 20:13:04 -08:00
2012-01-29 20:35:52 +01:00
2012-01-23 17:17:45 -08:00
2012-02-01 09:13:11 -08:00
2012-01-12 20:13:08 -08:00
2012-02-02 14:35:12 -05:00
2012-01-24 15:51:00 -05:00
2012-01-13 09:32:18 +10:30
2012-02-07 07:51:30 +01:00
2012-01-12 20:13:03 -08:00
2012-01-23 08:38:48 -08:00
2012-01-19 16:17:35 +11:00
2012-01-12 20:13:11 -08:00
2012-01-17 15:40:51 -08:00
2012-01-12 20:13:03 -08:00
2012-02-02 15:43:40 -08:00
2012-01-12 20:13:07 -08:00
2012-01-23 08:38:47 -08:00
2012-01-23 08:38:47 -08:00
2012-01-13 10:12:23 -08:00
2012-01-12 20:13:10 -08:00
2012-01-12 20:13:03 -08:00
2012-01-12 20:13:10 -08:00
2012-01-20 17:38:58 +00:00
2012-01-13 09:32:14 +10:30
2012-01-13 09:32:28 +10:30
2012-02-02 00:23:14 +11:00
2012-01-12 20:13:06 -08:00
2012-01-12 20:13:07 -08:00
2012-01-12 20:13:10 -08:00
2012-01-27 12:06:39 +01:00
2012-01-12 15:23:04 -08:00
2012-01-12 20:05:28 -08:00
2012-02-04 22:23:17 +01:00
2012-01-12 20:13:13 -08:00
2012-02-01 16:53:46 +08:00
2012-01-17 16:41:31 -08:00
2012-01-12 13:09:09 +01:00
2012-01-12 20:13:12 -08:00
2012-02-21 09:03:25 -08:00
2012-02-21 09:03:25 -08:00
2012-02-21 09:03:25 -08:00
2012-01-22 15:08:46 -05:00
2012-01-12 20:13:06 -08:00
2012-02-02 12:55:17 -08:00
2012-01-14 18:36:33 -08:00
2012-01-14 13:05:21 -08:00
2012-02-01 22:23:53 +05:30
2012-01-23 08:38:48 -08:00
2012-01-22 15:08:44 -05:00
2012-01-19 23:25:33 +01:00
2012-01-23 08:38:48 -08:00
2012-01-23 03:15:25 -05:00
2012-01-17 10:30:38 -08:00
2012-01-24 12:25:14 -08:00
2012-01-15 12:49:56 -08:00
2012-01-12 15:44:42 +10:30
2012-01-12 15:44:44 +10:30