On Mon, Jan 04, 2010 at 01:25:44PM -0800, Shirley Ma wrote: > Hello Amit, > > Sorry for late response. I am just back from vacation. > > On Thu, 2009-12-24 at 19:07 +0530, Amit Shah wrote: > > > +static void free_unused_bufs(struct virtnet_info *vi) > > > +{ > > > + void *buf; > > > + while (vi->num) { > > > + buf = vi->rvq->vq_ops->detach_unused_buf(vi->rvq); > > > + if (!buf) > > > + continue; > > > > Do you mean 'break' here? > > Nope, it means break since the buffer usage is not sorted by descriptors > from my understanding. It breaks when vi->num reaches 0. > > Thanks > Shirley t I don't understand. detach_unused_buf has: + if (!vq->data[i]) + continue; so it will never return NULL unless no more buffers? breaking here ad BUG_ON(vi->num) as Amit suggests seems cleaner than looping forever if there's a bug. -- MST -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html