lkml.org 
[lkml]   [2015]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 3/3] rcu: Call trace_rcu_batch_start() with enabled interrupts
Date
Currently trace_rcu_batch_start() is called with local
interrupts disabled. Yet, there is no reason to do so.

Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@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


\
 
 \ /
  Last update: 2015-02-11 16:21    [W:0.072 / U:3.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site