From bc25b3df44732efb3d9cfda22e6014378bafbd43 Mon Sep 17 00:00:00 2001 From: Lai Jiangshan Date: Thu, 18 Mar 2010 12:25:33 -0700 Subject: [PATCH] --- yaml --- r: 189071 b: refs/heads/master c: 0cff810f54b3b52075c27f7a7021d5b195264b6c h: refs/heads/master i: 189069: 2e588f6e7e472eb79d718b5b11a5847cd9892114 189067: bab769518d38e07f21694ea2359be76110b0b59f 189063: 33e6480e989e25db9560cde65ab0d46882c756b1 189055: a85d903278214b149205900f159dacc2534fa1f6 v: v3 --- [refs] | 2 +- trunk/include/linux/rcupdate.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 0a56c25021df..cfaefaa07e24 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7f5b774275df8c76a959eae7488128b637fcbfc8 +refs/heads/master: 0cff810f54b3b52075c27f7a7021d5b195264b6c diff --git a/trunk/include/linux/rcupdate.h b/trunk/include/linux/rcupdate.h index e1bdc4bfd275..872a98e13d6a 100644 --- a/trunk/include/linux/rcupdate.h +++ b/trunk/include/linux/rcupdate.h @@ -149,7 +149,7 @@ static inline int rcu_read_lock_sched_held(void) return 1; if (debug_locks) lockdep_opinion = lock_is_held(&rcu_sched_lock_map); - return lockdep_opinion || preempt_count() != 0; + return lockdep_opinion || preempt_count() != 0 || irqs_disabled(); } #else /* #ifdef CONFIG_PREEMPT */ static inline int rcu_read_lock_sched_held(void) @@ -180,7 +180,7 @@ static inline int rcu_read_lock_bh_held(void) #ifdef CONFIG_PREEMPT static inline int rcu_read_lock_sched_held(void) { - return !rcu_scheduler_active || preempt_count() != 0; + return !rcu_scheduler_active || preempt_count() != 0 || irqs_disabled(); } #else /* #ifdef CONFIG_PREEMPT */ static inline int rcu_read_lock_sched_held(void)