git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ring-buffer: Replace this_cpu_*() with __this_cpu_*()
[pandora-kernel.git]
/
kernel
/
trace
/
ring_buffer.c
diff --git
a/kernel/trace/ring_buffer.c
b/kernel/trace/ring_buffer.c
index
5040d44
..
922048a
100644
(file)
--- a/
kernel/trace/ring_buffer.c
+++ b/
kernel/trace/ring_buffer.c
@@
-2679,7
+2679,7
@@
static DEFINE_PER_CPU(unsigned int, current_context);
static __always_inline int trace_recursive_lock(void)
{
static __always_inline int trace_recursive_lock(void)
{
- unsigned int val = this_cpu_read(current_context);
+ unsigned int val =
__
this_cpu_read(current_context);
int bit;
if (in_interrupt()) {
int bit;
if (in_interrupt()) {
@@
-2696,18
+2696,17
@@
static __always_inline int trace_recursive_lock(void)
return 1;
val |= (1 << bit);
return 1;
val |= (1 << bit);
- this_cpu_write(current_context, val);
+
__
this_cpu_write(current_context, val);
return 0;
}
static __always_inline void trace_recursive_unlock(void)
{
return 0;
}
static __always_inline void trace_recursive_unlock(void)
{
- unsigned int val = this_cpu_read(current_context);
+ unsigned int val =
__
this_cpu_read(current_context);
- val--;
- val &= this_cpu_read(current_context);
- this_cpu_write(current_context, val);
+ val &= val & (val - 1);
+ __this_cpu_write(current_context, val);
}
#else
}
#else