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

Cc: "Paul E. McKenney" <paul...@linux.vnet.ibm.com>
Signed-off-by: Alexander Gordeev <agord...@redhat.com>
---
 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to