From: Amiram Perlmutter Date: Thu, 16 Nov 2006 13:48:33 +0000 (+0200) Subject: IB/sdp: poll cq in sendmsg only when sent size is larger than X-Git-Tag: v4.1.12-92~264^2~5^2~369 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=201fc1d96e7ab0e324f86d9744ce64624b838b61;p=users%2Fjedix%2Flinux-maple.git IB/sdp: poll cq in sendmsg only when sent size is larger than threshold to improve small message BW Signed-off-by: Amiram Perlmutter --- diff --git a/drivers/infiniband/ulp/sdp/sdp_main.c b/drivers/infiniband/ulp/sdp/sdp_main.c index 8fd590c5cdb6d..f6e8961b7b03a 100644 --- a/drivers/infiniband/ulp/sdp/sdp_main.c +++ b/drivers/infiniband/ulp/sdp/sdp_main.c @@ -110,6 +110,11 @@ static int recv_poll = 1000; module_param_named(recv_poll, recv_poll, int, 0644); MODULE_PARM_DESC(recv_poll, "How many times to poll recv."); +static int send_poll_thresh = 4096; + +module_param_named(send_poll_thresh, send_poll_thresh, int, 0644); +MODULE_PARM_DESC(send_poll_thresh, "Send message size thresh hold over which to start polling."); + struct workqueue_struct *sdp_workqueue; static int sdp_get_port(struct sock *sk, unsigned short snum) @@ -1189,7 +1194,8 @@ wait_for_memory: out: if (copied) sdp_push(sk, ssk, flags, mss_now, ssk->nonagle); - poll_send_cq(sk); + if (size > send_poll_thresh) + poll_send_cq(sk); release_sock(sk); return copied;