diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2013-06-14 05:56:14 -0400 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2013-06-14 14:07:11 -0400 |
commit | 86e92ad299fb0be359efdd61812944497d4d8d52 (patch) | |
tree | d2c7b7f9096b51f6fc2c7b750d509fe6ccd5a91f /fs/dlm/lowcomms.c | |
parent | 5d6898714fe2ce485e95ac74479ed40ebd8d5748 (diff) |
dlm: disable nagle for SCTP
For TCP we disable Nagle and I cannot think of why it would be needed
for SCTP. When disabled it seems to improve dlm_lock operations like it
does for TCP.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/lowcomms.c')
-rw-r--r-- | fs/dlm/lowcomms.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c index a4fad32bb788..4f539dd9b1e9 100644 --- a/fs/dlm/lowcomms.c +++ b/fs/dlm/lowcomms.c | |||
@@ -1346,6 +1346,7 @@ static int sctp_listen_for_all(void) | |||
1346 | int result = -EINVAL, num = 1, i, addr_len; | 1346 | int result = -EINVAL, num = 1, i, addr_len; |
1347 | struct connection *con = nodeid2con(0, GFP_NOFS); | 1347 | struct connection *con = nodeid2con(0, GFP_NOFS); |
1348 | int bufsize = NEEDED_RMEM; | 1348 | int bufsize = NEEDED_RMEM; |
1349 | int one = 1; | ||
1349 | 1350 | ||
1350 | if (!con) | 1351 | if (!con) |
1351 | return -ENOMEM; | 1352 | return -ENOMEM; |
@@ -1380,6 +1381,11 @@ static int sctp_listen_for_all(void) | |||
1380 | goto create_delsock; | 1381 | goto create_delsock; |
1381 | } | 1382 | } |
1382 | 1383 | ||
1384 | result = kernel_setsockopt(sock, SOL_SCTP, SCTP_NODELAY, (char *)&one, | ||
1385 | sizeof(one)); | ||
1386 | if (result < 0) | ||
1387 | log_print("Could not set SCTP NODELAY error %d\n", result); | ||
1388 | |||
1383 | /* Init con struct */ | 1389 | /* Init con struct */ |
1384 | sock->sk->sk_user_data = con; | 1390 | sock->sk->sk_user_data = con; |
1385 | con->sock = sock; | 1391 | con->sock = sock; |