23 Aug, 2012
1 commit
-
Since we have already in BH context when *_write_space(),
*_data_ready() as well as *_state_change() are called, it's
unnecessary to disable BH.Signed-off-by: Ying Xue
Signed-off-by: David S. Miller
21 Oct, 2010
1 commit
-
The RDS protocol has lots of functions that should be
declared static. rds_message_get/add_version_extension is
removed since it defined but never used.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
27 Sep, 2010
1 commit
-
Conflicts:
drivers/net/qlcnic/qlcnic_init.c
net/ipv4/ip_output.c
25 Sep, 2010
1 commit
-
We have for each socket :
One spinlock (sk_slock.slock)
One rwlock (sk_callback_lock)Possible scenarios are :
(A) (this is used in net/sunrpc/xprtsock.c)
read_lock(&sk->sk_callback_lock) (without blocking BH)spin_lock(&sk->sk_slock.slock);
...
read_lock(&sk->sk_callback_lock);
...(B)
write_lock_bh(&sk->sk_callback_lock)
stuff
write_unlock_bh(&sk->sk_callback_lock)(C)
spin_lock_bh(&sk->sk_slock)
...
write_lock_bh(&sk->sk_callback_lock)
stuff
write_unlock_bh(&sk->sk_callback_lock)
spin_unlock_bh(&sk->sk_slock)This (C) case conflicts with (A) :
CPU1 [A] CPU2 [C]
read_lock(callback_lock)
spin_lock_bh(slock)We have one problematic (C) use case in inet_csk_listen_stop() :
local_bh_disable();
bh_lock_sock(child); // spin_lock_bh(&sk->sk_slock)
WARN_ON(sock_owned_by_user(child));
...
sock_orphan(child); // write_lock_bh(&sk->sk_callback_lock)lockdep is not happy with this, as reported by Tetsuo Handa
It seems only way to deal with this is to use read_lock_bh(callbacklock)
everywhere.Thanks to Jarek for pointing a bug in my first attempt and suggesting
this solution.Reported-by: Tetsuo Handa
Tested-by: Tetsuo Handa
Signed-off-by: Eric Dumazet
CC: Jarek Poplawski
Tested-by: Eric Dumazet
Signed-off-by: David S. Miller
09 Sep, 2010
4 commits
-
We now ask the transport to give us a rm for the congestion
map, and then we handle it normally. Previously, the
transport defined a function that we would call to send
a congestion map.Convert TCP and loop transports to new cong map method.
Signed-off-by: Andy Grover
-
For consistency.
Signed-off-by: Andy Grover
-
Clearly separate rdma-related variables in rm from data-related ones.
This is in anticipation of adding atomic support.Signed-off-by: Andy Grover
-
Favor "if (foo)" style over "if (foo != NULL)".
Signed-off-by: Andy Grover
17 Mar, 2010
1 commit
-
Instead of waking the send thread whenever any send space is available,
wait until it is at least half empty. This is modeled on how
sock_def_write_space() does it, and may help to minimize context
switches.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller
04 Feb, 2010
1 commit
-
Signed-off-by: Joe Perches
Cc: Andy Grover
Signed-off-by: Andrew Morton
Signed-off-by: David S. Miller
24 Aug, 2009
1 commit
-
This code allows RDS to be tunneled over a TCP connection.
RDMA operations are disabled when using TCP transport,
but this frees RDS from the IB/RDMA stack dependency, and allows
it to be used with standard Ethernet adapters, or in a VM.Signed-off-by: Andy Grover
Signed-off-by: David S. Miller