diff options
| author | David S. Miller <davem@davemloft.net> | 2012-10-02 23:02:10 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2012-10-02 23:02:10 -0400 |
| commit | 954f9ac43b87b44152b8c21163cefd466a87145e (patch) | |
| tree | 31c4197f975c66c96976948663e6ce844900b41a /kernel/rcupdate.c | |
| parent | 1b62ca7bf5775bed048032b7e779561e1fe66aa0 (diff) | |
| parent | 7fe0b14b725d6d09a1d9e1409bd465cb88b587f9 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
There's a Niagara 2 memcpy fix in this tree and I have
a Kconfig fix from Dave Jones which requires the sparc-next
changes which went upstream yesterday.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/rcupdate.c')
| -rw-r--r-- | kernel/rcupdate.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c index 4e6a61b15e86..29ca1c6da594 100644 --- a/kernel/rcupdate.c +++ b/kernel/rcupdate.c | |||
| @@ -45,6 +45,7 @@ | |||
| 45 | #include <linux/mutex.h> | 45 | #include <linux/mutex.h> |
| 46 | #include <linux/export.h> | 46 | #include <linux/export.h> |
| 47 | #include <linux/hardirq.h> | 47 | #include <linux/hardirq.h> |
| 48 | #include <linux/delay.h> | ||
| 48 | 49 | ||
| 49 | #define CREATE_TRACE_POINTS | 50 | #define CREATE_TRACE_POINTS |
| 50 | #include <trace/events/rcu.h> | 51 | #include <trace/events/rcu.h> |
| @@ -81,6 +82,9 @@ void __rcu_read_unlock(void) | |||
| 81 | } else { | 82 | } else { |
| 82 | barrier(); /* critical section before exit code. */ | 83 | barrier(); /* critical section before exit code. */ |
| 83 | t->rcu_read_lock_nesting = INT_MIN; | 84 | t->rcu_read_lock_nesting = INT_MIN; |
| 85 | #ifdef CONFIG_PROVE_RCU_DELAY | ||
| 86 | udelay(10); /* Make preemption more probable. */ | ||
| 87 | #endif /* #ifdef CONFIG_PROVE_RCU_DELAY */ | ||
| 84 | barrier(); /* assign before ->rcu_read_unlock_special load */ | 88 | barrier(); /* assign before ->rcu_read_unlock_special load */ |
| 85 | if (unlikely(ACCESS_ONCE(t->rcu_read_unlock_special))) | 89 | if (unlikely(ACCESS_ONCE(t->rcu_read_unlock_special))) |
| 86 | rcu_read_unlock_special(t); | 90 | rcu_read_unlock_special(t); |
