Re: PATCH] via-rhine.c: don't reference skb after passing it to netif_rx

Arnaldo Carvalho de Melo (acme@conectiva.com.br)
Mon, 26 Feb 2001 21:15:36 -0300


Em Mon, Feb 26, 2001 at 08:52:39PM -0500, Donald Becker escreveu:
> On Mon, 26 Feb 2001, Arnaldo Carvalho de Melo wrote:
>
> > Em Mon, Feb 26, 2001 at 08:33:59PM -0300, Arnaldo Carvalho de Melo escreveu:
> > I've just read davem's post at netdev about the brokeness of
> > referencing skbs after passing it to netif_rx, so please consider applying
> > this patch. Ah, this was just added to the Janitor's TODO list at
>
> > --- linux-2.4.2/drivers/net/via-rhine.c Mon Dec 11 19:38:29 2000
> > +++ linux-2.4.2.acme/drivers/net/via-rhine.c Mon Feb 26 22:36:18 2001
> > @@ -1147,9 +1147,9 @@
> > np->rx_buf_sz, PCI_DMA_FROMDEVICE);
> > }
> > skb->protocol = eth_type_trans(skb, dev);
> > + np->stats.rx_bytes += skb->len;
> > netif_rx(skb);
> > dev->last_rx = jiffies;
> > - np->stats.rx_bytes += skb->len;
> > np->stats.rx_packets++;
> > }
>
> Easier fix:
> - np->stats.rx_bytes += skb->len;
> + np->stats.rx_bytes += pkt_len;
>
> Grouping the writes to np->stats results in better cache usage.

thanks, I'll take that into account for the remaining ones and this should
be checked by the driver authors for the ones I've already sent.

- Arnaldo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/