From: Amir Vadai Date: Sun, 6 Mar 2011 12:31:27 +0000 (+0200) Subject: sdp: make sure memory is reclaimed X-Git-Tag: v4.1.12-92~264^2~5^2~30 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=39a86fe2bdb3df8b0fb2d4e9b286204422efca01;p=users%2Fjedix%2Flinux-maple.git sdp: make sure memory is reclaimed Signed-off-by: Amir Vadai --- diff --git a/drivers/infiniband/ulp/sdp/sdp_main.c b/drivers/infiniband/ulp/sdp/sdp_main.c index d6c96f395ed21..db04097116573 100644 --- a/drivers/infiniband/ulp/sdp/sdp_main.c +++ b/drivers/infiniband/ulp/sdp/sdp_main.c @@ -2043,6 +2043,9 @@ fin: sdp_dbg(sk, "can't send anymore\n"); } + + sk_mem_reclaim(sk); + release_sock(sk); return err; @@ -2467,6 +2470,9 @@ out: sdp_dbg(sk, "data won't be available anymore\n"); } + + sk_mem_reclaim(sk); + release_sock(sk); sdp_dbg_data(sk, "recvmsg finished. ret = %d\n", err); return err; diff --git a/drivers/infiniband/ulp/sdp/sdp_rx.c b/drivers/infiniband/ulp/sdp/sdp_rx.c index adf595ff29ddc..0afe5f15029e1 100644 --- a/drivers/infiniband/ulp/sdp/sdp_rx.c +++ b/drivers/infiniband/ulp/sdp/sdp_rx.c @@ -709,6 +709,9 @@ int sdp_poll_rx_cq(struct sdp_sock *ssk) if (wc_processed) { sdp_prf(sk_ssk(ssk), NULL, "processed %d", wc_processed); + + sk_mem_reclaim(sk_ssk(ssk)); + sdp_bzcopy_write_space(ssk); } diff --git a/drivers/infiniband/ulp/sdp/sdp_tx.c b/drivers/infiniband/ulp/sdp/sdp_tx.c index e54a109c2735c..a14e886e7271a 100644 --- a/drivers/infiniband/ulp/sdp/sdp_tx.c +++ b/drivers/infiniband/ulp/sdp/sdp_tx.c @@ -286,6 +286,9 @@ static int sdp_process_tx_cq(struct sdp_sock *ssk) struct sock *sk = sk_ssk(ssk); sdp_prf1(sk, NULL, "Waking sendmsg. inflight=%d", (u32) tx_ring_posted(ssk)); + + sk_mem_reclaim(sk); + sk_stream_write_space(sk_ssk(ssk)); if (sk->sk_write_pending && test_bit(SOCK_NOSPACE, &sk->sk_socket->flags) &&