On (Thu) Aug 27 2009 [19:17:20], Rusty Russell wrote: > On Wed, 26 Aug 2009 06:58:28 pm Amit Shah wrote: > > Saves us one cycle of alloc-add-free if the queue was full. > > > > Signed-off-by: Amit Shah <amit.shah@xxxxxxxxxx> > > Thanks, applied with one change: > > > @@ -323,7 +323,7 @@ static bool try_fill_recv_maxbufs(struct virtnet_info *vi, gfp_t gfp) > > break; > > } > > vi->num++; > > - } > > + } while (err > 0); > > This is better as "while (err >= num)". The other one is right (we only need > 1 buffer), this one we need to be able to fit "num" entries. I'm missing something though: the value of 'num' changes in the loop and the value of num when it will be compared will just have been used by add_buf. The next iteration of the loop will probably use a different value (-- from just reading the code, not going over the cases in which this function is called). Amit _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization