On Mon,  9 Jan 2017 14:16:01 -0800
Alexander Loktionov <alexander.loktio...@aquantia.com> wrote:

>               ++self->stats.rx_packets;
> +             ++ndev->stats.rx_packets;
> +             ndev->stats.rx_bytes += buff->len;

Why keep two sets of statistics (self->stats and ndev->stats); seems redundant.
Could also use per-cpu network stats pcpu_sw_netstats

You could also optimize by doing only one addition of ndev->stats after 
processing
several packets.

> +             skb = netdev_alloc_skb(ndev, ETH_HLEN);
> +             skb_put(skb, ETH_HLEN);
> +             memcpy(skb->data, page_address(buff->page), ETH_HLEN);

Why not use build_skb() here?

Reply via email to