[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20090517.204810.15778716.davem@davemloft.net>
Date: Sun, 17 May 2009 20:48:10 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: dada1@...mosbay.com
Cc: mchan@...adcom.com, netdev@...r.kernel.org
Subject: Re: [PATCH] bnx2: bnx2_tx_int() optimizations
From: Eric Dumazet <dada1@...mosbay.com>
Date: Wed, 13 May 2009 08:48:02 +0200
> When using bnx2 in a high transmit load, bnx2_tx_int() cost is pretty high.
...
> This patch :
>
> 1) avoids calling bnx2_get_hw_tx_cons(bnapi) too many times.
>
> 2) makes bnx2_start_xmit() cache is_gso & nr_frags into sw_tx_bd descriptor.
> This uses a litle bit more ram (256 longs per device on x86), but helps a lot.
>
> 3) uses a prefetch(&skb->end) to speedup dev_kfree_skb(), bringing
> cache line that will be needed in skb_release_data()
>
>
> result is 5 % bandwidth increase in benchmarks, involving UDP or TCP receive
> & transmits, when a cpu is dedicated to ksoftirqd for bnx2.
>
> bnx2_tx_int going from 3.33 % cpu to 0.5 % cpu in oprofile
>
> Note : skb_dma_unmap() still very expensive but this is for another patch,
> not related to bnx2 (2.9 % of cpu, while it does nothing on x86_32)
>
> Signed-off-by: Eric Dumazet <dada1@...mosbay.com>
Looks great, I've applied this, thanks Eric!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists