<html>
<body>
<font size=3>At 04:14 PM 10/13/2005, Roland Dreier wrote:<br>
<blockquote type=cite class=cite cite="">    Roland> My
plan is to change the receive handling of IPoIB<br>
    Roland> slightly, so that if it can't allocate a
new receive<br>
    Roland> buffer, it reposts the old buffer and drops
the packet it<br>
    Roland> just received.<br><br>
Here's a patch that changes IPoIB to use this scheme.  This should
be<br>
much more robust when the system gets low on GFP_ATOMIC memory.<br><br>
I'd appreciate it if people could stress test and benchmark this. 
It<br>
works well for me, but I'm wondering if this patch has any effect on<br>
performance (either better or worse).<br><br>
Helen, it would be especially interesting if you could run your test<br>
with this patch and without increasing min_free_kbytes, since you
are<br>
able to reproduce GFP_ATOMIC failures.  I'd be curious to know
what<br>
you see in /sys/class/net/ib0/statistics/rx_dropped after running the
test.</blockquote><br>
As a general rule, dropping a packet that has traversed the network is
frowned upon by the IETF (this is perhaps more due to the view of the
network being all of IP and not just within a data center).  I
understand the idea but given it is UD, the HCA can effectively drop the
packet without causing any side effects which should result in lower host
CPU / I/O / memory utilitization.<br><br>
Mike</font></body>
</html>