24 Mar, 2013
1 commit
-
This reverts commit 11b80f459adaf91a712f95e7734a17655a36bf30.
Bcache needs rw semaphores for cache coherency in writeback mode -
writes have to take a read lock on a per cache device rw sem, and
release it when the bio completes.But since this is for bios it's naturally not in the context of the
process that originally took the lock.Signed-off-by: Kent Overstreet
CC: Christoph Hellwig
CC: David Howells
17 Jan, 2013
1 commit
-
Commit 1b963c81b145 ("lockdep, rwsem: provide down_write_nest_lock()")
contains a bug in a codepath when CONFIG_DEBUG_LOCK_ALLOC is disabled,
which causes down_read() to be called instead of down_write() by mistake
on such configurations. Fix that.Reported-and-tested-by: Andrew Clayton
Reported-and-tested-by: Zlatko Calusic
Signed-off-by: Jiri Kosina
Reviewed-by: Rik van Riel
Signed-off-by: Linus Torvalds
12 Jan, 2013
1 commit
-
down_write_nest_lock() provides a means to annotate locking scenario
where an outer lock is guaranteed to serialize the order nested locks
are being acquired.This is analogoue to already existing mutex_lock_nest_lock() and
spin_lock_nest_lock().Signed-off-by: Jiri Kosina
Cc: Rik van Riel
Cc: Ingo Molnar
Cc: Peter Zijlstra
Cc: Mel Gorman
Tested-by: Sedat Dilek
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
29 Mar, 2012
1 commit
-
Remove all #inclusions of asm/system.h preparatory to splitting and killing
it. Performed with the following command:perl -p -i -e 's!^#\s*include\s*.*\n!!' `grep -Irl '^#\s*include\s*' *`
Signed-off-by: David Howells
13 Sep, 2011
1 commit
-
There is no reason to allow the lock protecting rwsems (the
ownerless variant) to be preemptible on -rt. Convert it to raw.In mainline this change documents the low level nature of
the lock - otherwise there's no functional difference. Lockdep
and Sparse checking will work as usual.Signed-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar
27 Jul, 2011
1 commit
-
This allows us to move duplicated code in
(atomic_inc_not_zero() for now) toSigned-off-by: Arun Sharma
Reviewed-by: Eric Dumazet
Cc: Ingo Molnar
Cc: David Miller
Cc: Eric Dumazet
Acked-by: Mike Frysinger
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
21 Jul, 2011
1 commit
-
Now that the last users is gone these can be removed.
Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro
27 Jan, 2011
6 commits
-
Peter Zijlstra pointed out, that the only user of asmregparm (x86) is
compiling the kernel already with -mregparm=3. So the annotation of
the rwsem functions is redundant. Remove it.Signed-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Matt Turner
Cc: Tony Luck
Cc: Heiko Carstens
Cc: Paul Mundt
Cc: David Miller
Cc: Chris Zankel
LKML-Reference:
Signed-off-by: Thomas Gleixner -
All architecture specific rwsem headers carry the same function
prototypes. Just x86 adds asmregparm, which is an empty define on all
other architectures. S390 has a stale rwsem_downgrade_write()
prototype.Remove the duplicates and add the prototypes to linux/rwsem.h
Signed-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Richard Henderson
Acked-by: Tony Luck
Acked-by: Heiko Carstens
Cc: Paul Mundt
Acked-by: David Miller
Cc: Chris Zankel
LKML-Reference:
Signed-off-by: Thomas Gleixner -
Instead of having the same implementation in each architecture, move
it to linux/rwsem.h and remove the duplicates. It's unlikely that an
arch will ever implement something different, but we can deal with
that when it happens.Signed-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Matt Turner
Acked-by: Tony Luck
Acked-by: Heiko Carstens
Cc: Paul Mundt
Acked-by: David Miller
Cc: Chris Zankel
LKML-Reference:
Signed-off-by: Thomas Gleixner -
The rwsem initializers and related macros and functions are mostly the
same. Some of them lack the lockdep initializer, but having it in
place does not matter for architectures which do not support lockdep.powerpc, sparc, x86: No functional change
sh, s390: Removes the duplicate init_rwsem (inline and #define)
alpha, ia64, xtensa: Use the lockdep capable init function in
lib/rwsem.c which is just uninlining the init
function for the LOCKDEP=n caseSigned-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Matt Turner
Acked-by: Tony Luck
Acked-by: Heiko Carstens
Cc: Paul Mundt
Acked-by: David Miller
Cc: Chris Zankel
LKML-Reference: -
The difference between these declarations is the data type of the
count member and the lack of lockdep in some architectures/long is equivivalent to signed long and the #ifdef guarded dep_map
member does not hurt anyone.Signed-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Matt Turner
Acked-by: Tony Luck
Acked-by: Heiko Carstens
Cc: Paul Mundt
Acked-by: David Miller
Cc: Chris Zankel
LKML-Reference:
Signed-off-by: Thomas Gleixner -
All rwsem implementations include the same headers. Include them from
include/linux/rwsem.hSigned-off-by: Thomas Gleixner
Cc: Peter Zijlstra
Cc: David Howells
Cc: Benjamin Herrenschmidt
Cc: Matt Turner
Acked-by: Tony Luck
Acked-by: Heiko Carstens
Cc: Paul Mundt
Acked-by: David Miller
Cc: Chris Zankel
LKML-Reference:
30 Apr, 2008
1 commit
-
Remove the "#ifdef __KERNEL__" tests from unexported header files in
linux/include whose entire contents are wrapped in that preprocessor
test.Signed-off-by: Robert P. J. Day
Cc: David Woodhouse
Cc: Sam Ravnborg
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
11 Jul, 2006
1 commit
-
Add more documentation to rwsem.h.
Signed-off-by: Ingo Molnar
Cc: David Howells
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
04 Jul, 2006
2 commits
-
Use the lock validator framework to prove rwsem locking correctness.
Signed-off-by: Ingo Molnar
Signed-off-by: Arjan van de Ven
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Clean up rwsems.
Signed-off-by: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
26 Apr, 2006
1 commit
-
Signed-off-by: David Woodhouse
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!