]> www.infradead.org Git - users/jedix/linux-maple.git/commit
RDS/IB: always free recv frag as we free its ring entry
authorZach Brown <zach.brown@oracle.com>
Fri, 3 Feb 2012 16:07:40 +0000 (11:07 -0500)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 7 Jul 2015 23:41:27 +0000 (16:41 -0700)
commit1ba3656c8b98163eb45abd6cc14676fcd48a2f43
treee7a1c2d929c4518662ecbafb4bb705c64ad9df94
parent4ac0d047bc679d065485526288668e71bc28a33c
RDS/IB: always free recv frag as we free its ring entry

We were still seeing rare occurances of the WARN_ON() that indicates
that the recv refill path was finding allocated frags in ring entries
that were marked free.  These were usually followed by oom crashes.
They only seem to be occuring in the presence of interesting completion
errors and connection resets.

There are error paths in rds_ib_recv_cqe_handler() that could leave a
recv frag sitting in the ring.  This patch ensures that we free the frag
as we mark the ring entry free.  This should stop the refill path from
finding allocated frags in ring entries that were marked free.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Bang Nguyen <bang.nguyen@oracle.com>
net/rds/ib_recv.c