netdev
[Top] [All Lists]

Re: RFC: NAPI packet weighting patch

To: "David S. Miller" <davem@xxxxxxxxxxxxx>
Subject: Re: RFC: NAPI packet weighting patch
From: Eric Dumazet <dada1@xxxxxxxxxxxxx>
Date: Wed, 22 Jun 2005 23:38:21 +0200
Cc: ak@xxxxxxx, leonid.grossman@xxxxxxxxxxxx, hadi@xxxxxxxxxx, becker@xxxxxxxxx, rick.jones2@xxxxxx, netdev@xxxxxxxxxxx, davem@xxxxxxxxxx
In-reply-to: <20050622.132241.21929037.davem@xxxxxxxxxxxxx>
References: <1119458226.6918.142.camel@xxxxxxxxxxxxxxxxxxxxx> <200506221801.j5MI11xS021866@xxxxxxxxxxxxxxxxx> <20050622180654.GX14251@xxxxxxxxxxxxx> <20050622.132241.21929037.davem@xxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)
David S. Miller a écrit :


2) As shown above, it gives you compute time which can be used to
   schedule the prefetch.  This nearly makes RX replenishment free.
   Instead of having the CPU spin on a cache miss when we run
   eth_type_trans() during those cycles, we do useful work.

I'm going to play around with these ideas in the tg3 driver.
Obvious patch below.


Then maybe we could also play with prefetchw() in the case the incoming frame
is small enough to be copied to a new skb.

drivers/net/tg3.c

        copy_skb = dev_alloc_skb(len + 2);
        if (copy_skb == NULL)
                goto drop_it_no_recycle;
+       prefetchw(copy_skb->data);

        copy_skb->dev = tp->dev;
        skb_reserve(copy_skb, 2);
        skb_put(copy_skb, len);


<Prev in Thread] Current Thread [Next in Thread>