Thread (8 messages) 8 messages, 5 authors, 2010-06-10

Re: [PATCH] virtio_net: indicate oom when addbuf returns failure

From: Bruce Rogers <hidden>
Date: 2010-06-10 15:46:30

 >>> On 6/6/2010 at 02:13 PM, "Michael S. Tsirkin" [off-list ref] wrote: 
On Fri, Jun 04, 2010 at 10:28:56AM +0930, Rusty Russell wrote:
quoted
This patch is a subset of an already upstream patch, but this portion
is useful in earlier releases.

Please consider for the 2.6.32 and 2.6.33 stable trees.

If the add_buf operation fails, indicate failure to the caller.

Signed-off-by: Bruce Rogers <redacted>
Signed-off-by: Rusty Russell <redacted>
Actually this code looks strange:
Note that add_buf inicates out of memory
condition with a positive return value, and ring full
(which is not an error!) with -ENOSPC.

So it seems that this patch (and upstream code) will fill
the ring and then end up setting oom = true and rescheduling the work
forever.  And I suspect I actually saw this at some point
on one of my systems: observed BW would drop
with high CPU usage until reboot.
Can't reproduce it now anymore ..
Thanks for looking into this.

We've decided not to use this patch, since it is not a part of the
solution we need. The upstream patch from whence it came at first glance seemed useful, but is problematic as you point out.

We've retested without that patch and are still getting good results.

Bruce
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help