diff options
author | David S. Miller <davem@davemloft.net> | 2005-12-13 23:26:29 -0800 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-01-03 13:10:59 -0800 |
commit | fbe9cc4a87030d5cad5f944ffaef6af7efd119e4 (patch) | |
tree | f4e9ce6608e1b8b7e160e44e68853a2b6e5e84d5 /net/unix/garbage.c | |
parent | d83d8461f902c672bc1bd8fbc6a94e19f092da97 (diff) | |
download | lwn-fbe9cc4a87030d5cad5f944ffaef6af7efd119e4.tar.gz lwn-fbe9cc4a87030d5cad5f944ffaef6af7efd119e4.zip |
[AF_UNIX]: Use spinlock for unix_table_lock
This lock is actually taken mostly as a writer,
so using a rwlock actually just makes performance
worse especially on chips like the Intel P4.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/unix/garbage.c')
-rw-r--r-- | net/unix/garbage.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/unix/garbage.c b/net/unix/garbage.c index 6ffc64e1712d..411802bd4d37 100644 --- a/net/unix/garbage.c +++ b/net/unix/garbage.c @@ -182,7 +182,7 @@ void unix_gc(void) if (down_trylock(&unix_gc_sem)) return; - read_lock(&unix_table_lock); + spin_lock(&unix_table_lock); forall_unix_sockets(i, s) { @@ -301,7 +301,7 @@ void unix_gc(void) } u->gc_tree = GC_ORPHAN; } - read_unlock(&unix_table_lock); + spin_unlock(&unix_table_lock); /* * Here we are. Hitlist is filled. Die. |