[PATCH 3/3] rcu: Call trace_rcu_batch_start() with enabled interrupts

From: Alexander Gordeev
Date: Wed Feb 11 2015 - 09:43:10 EST


Currently trace_rcu_batch_start() is called with local
interrupts disabled. Yet, there is no reason to do so.

Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx>
---
kernel/rcu/tiny.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c
index 069742d..01e80ac 100644
--- a/kernel/rcu/tiny.c
+++ b/kernel/rcu/tiny.c
@@ -166,11 +166,12 @@ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp)
const char *rn = NULL;
struct rcu_head *next, *list;
unsigned long flags;
+ RCU_TRACE(long qlen);
RCU_TRACE(int cb_count = 0);

/* Move the ready-to-invoke callbacks to a local list. */
local_irq_save(flags);
- RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, rcp->qlen, -1));
+ RCU_TRACE(qlen = rcp->qlen);
list = rcp->rcucblist;
rcp->rcucblist = *rcp->donetail;
*rcp->donetail = NULL;
@@ -180,6 +181,7 @@ static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp)
local_irq_restore(flags);

/* Invoke the callbacks on the local list. */
+ RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, qlen, -1));
RCU_TRACE(rn = rcp->name);
while (list) {
next = list->next;
--
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/