|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: [3/11] [NET] front: Stop using rx->id
On Thu, Jul 27, 2006 at 02:28:48PM +0100, Keir Fraser wrote:
>
> >Had we used the body of the second loop for the initial segment we
> >would
> >end up wiping out the values of rx_skbs and grant_rx_ref when we do the
> >assignments
> >
> > skb = np->rx_skbs[requeue_idx] = xennet_get_rx_skb(np, i);
> > ref = np->grant_rx_ref[requeue_idx] = xennet_get_rx_ref(np,
> > i);
> >
> >because for the initial segment requeue_idx is always the same as i.
>
> But wouldn't the xennet_get_* functions wipe the entries, only to be
> immediately filled in again by the assignment to e.g.,
> np->rx_skbs[requeue_idx], so it would all work out okay (except a
> needless wipe-then-rewrite)?
That was the reason of having two loops instead of the one. In the first
loop, we're not moving entries so we don't assign rx_skbs/grant_rx_ref
at all. In the second loop, we know that requeue_idx != i so we're
always moving entries forward in which case clearing the original position
is necessary.
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|