Message ID | 1602019897-25904-1-git-send-email-manjunath.b.patil@oracle.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [v3,1/1] net/rds: suppress page allocation failure error in recv buffer refill | expand |
On Tue, 6 Oct 2020 14:31:37 -0700 Manjunath Patil wrote: > RDS/IB tries to refill the recv buffer in softirq context using > GFP_NOWAIT flag. However alloc failure is handled by queueing a work to > refill the recv buffer with GFP_KERNEL flag. This means failure to > allocate with GFP_NOWAIT isn't fatal. Do not print the PAF warnings if > softirq context fails to refill the recv buffer. We will see the PAF > warnings when worker also fails to allocate. > > Signed-off-by: Manjunath Patil <manjunath.b.patil@oracle.com> > Reviewed-by: Aruna Ramakrishna <aruna.ramakrishna@oracle.com> Applied to net-next, thanks!
diff --git a/net/rds/ib_recv.c b/net/rds/ib_recv.c index 694d411dc72f..3cffcec5fb37 100644 --- a/net/rds/ib_recv.c +++ b/net/rds/ib_recv.c @@ -310,8 +310,8 @@ static int rds_ib_recv_refill_one(struct rds_connection *conn, struct rds_ib_connection *ic = conn->c_transport_data; struct ib_sge *sge; int ret = -ENOMEM; - gfp_t slab_mask = GFP_NOWAIT; - gfp_t page_mask = GFP_NOWAIT; + gfp_t slab_mask = gfp; + gfp_t page_mask = gfp; if (gfp & __GFP_DIRECT_RECLAIM) { slab_mask = GFP_KERNEL; @@ -1020,7 +1020,7 @@ void rds_ib_recv_cqe_handler(struct rds_ib_connection *ic, rds_ib_stats_inc(s_ib_rx_ring_empty); if (rds_ib_ring_low(&ic->i_recv_ring)) { - rds_ib_recv_refill(conn, 0, GFP_NOWAIT); + rds_ib_recv_refill(conn, 0, GFP_NOWAIT | __GFP_NOWARN); rds_ib_stats_inc(s_ib_rx_refill_from_cq); } }