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
SUNRPC: Deal with the lack of a SYN_SENT sk->sk_state_change callback...
[pandora-kernel.git]
/
kernel
/
rwsem.c
diff --git
a/kernel/rwsem.c
b/kernel/rwsem.c
index
291ded5
..
cae050b
100644
(file)
--- a/
kernel/rwsem.c
+++ b/
kernel/rwsem.c
@@
-6,6
+6,7
@@
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/kernel.h>
+#include <linux/sched.h>
#include <linux/module.h>
#include <linux/rwsem.h>
#include <linux/module.h>
#include <linux/rwsem.h>
@@
-15,12
+16,12
@@
/*
* lock for reading
*/
/*
* lock for reading
*/
-void down_read(struct rw_semaphore *sem)
+void
__sched
down_read(struct rw_semaphore *sem)
{
might_sleep();
rwsem_acquire_read(&sem->dep_map, 0, 0, _RET_IP_);
{
might_sleep();
rwsem_acquire_read(&sem->dep_map, 0, 0, _RET_IP_);
-
__down_read(sem
);
+
LOCK_CONTENDED(sem, __down_read_trylock, __down_read
);
}
EXPORT_SYMBOL(down_read);
}
EXPORT_SYMBOL(down_read);
@@
-42,12
+43,12
@@
EXPORT_SYMBOL(down_read_trylock);
/*
* lock for writing
*/
/*
* lock for writing
*/
-void down_write(struct rw_semaphore *sem)
+void
__sched
down_write(struct rw_semaphore *sem)
{
might_sleep();
rwsem_acquire(&sem->dep_map, 0, 0, _RET_IP_);
{
might_sleep();
rwsem_acquire(&sem->dep_map, 0, 0, _RET_IP_);
-
__down_write(sem
);
+
LOCK_CONTENDED(sem, __down_write_trylock, __down_write
);
}
EXPORT_SYMBOL(down_write);
}
EXPORT_SYMBOL(down_write);
@@
-60,7
+61,7
@@
int down_write_trylock(struct rw_semaphore *sem)
int ret = __down_write_trylock(sem);
if (ret == 1)
int ret = __down_write_trylock(sem);
if (ret == 1)
- rwsem_acquire(&sem->dep_map, 0,
0
, _RET_IP_);
+ rwsem_acquire(&sem->dep_map, 0,
1
, _RET_IP_);
return ret;
}
return ret;
}
@@
-111,7
+112,7
@@
void down_read_nested(struct rw_semaphore *sem, int subclass)
might_sleep();
rwsem_acquire_read(&sem->dep_map, subclass, 0, _RET_IP_);
might_sleep();
rwsem_acquire_read(&sem->dep_map, subclass, 0, _RET_IP_);
-
__down_read(sem
);
+
LOCK_CONTENDED(sem, __down_read_trylock, __down_read
);
}
EXPORT_SYMBOL(down_read_nested);
}
EXPORT_SYMBOL(down_read_nested);
@@
-130,7
+131,7
@@
void down_write_nested(struct rw_semaphore *sem, int subclass)
might_sleep();
rwsem_acquire(&sem->dep_map, subclass, 0, _RET_IP_);
might_sleep();
rwsem_acquire(&sem->dep_map, subclass, 0, _RET_IP_);
-
__down_write_nested(sem, subclass
);
+
LOCK_CONTENDED(sem, __down_write_trylock, __down_write
);
}
EXPORT_SYMBOL(down_write_nested);
}
EXPORT_SYMBOL(down_write_nested);