On Mon, 7 Jun 2010 07:54:41 am Herbert Xu wrote: > On Sun, Jun 06, 2010 at 11:13:00PM +0300, Michael S. Tsirkin wrote: > > > > 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. > > Indeed, this ultimately came from > > commit 9ab86bbcf8be755256f0a5e994e0b38af6b4d399 > Author: Shirley Ma <mashirle@xxxxxxxxxx> > Date: Fri Jan 29 03:20:04 2010 +0000 > > virtio_net: Defer skb allocation in receive path Date: Wed, 13 Jan 2010 12:53:38 -0800 > > (Greg, please don't apply this even though I've just given you > the upstream commit ID that you were asking for :) > > where it confuses a memory allocation error with an add_buf failure. > > > Possibly the right thing to do is to > > 1. handle ENOMEM specially > > 2. fix add_buf to return ENOMEM on error > > I think we should make it so that only a memory allocation error > is returned as before. There is no need for returning the add_buf > error unless add_buf is now doing an allocation itself that needs > to be retried. With indirect bufs, this is indeed the case. The code works except for the bigpackets !mergable case, but should be clarified anyway. See my other mail... Thanks, Rusty. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization