[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180503.142219.1096215769645052846.davem@davemloft.net>
Date: Thu, 03 May 2018 14:22:19 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: pabeni@...hat.com
Cc: netdev@...r.kernel.org, edumazet@...gle.com, jasowang@...hat.com
Subject: Re: [PATCH net-next] net: core: rework skb_probe_transport_header()
From: Paolo Abeni <pabeni@...hat.com>
Date: Thu, 03 May 2018 19:59:16 +0200
> On Thu, 2018-05-03 at 13:32 -0400, David Miller wrote:
>> From: Paolo Abeni <pabeni@...hat.com>
>> Date: Thu, 3 May 2018 11:35:35 +0200
>>
>> > When the transport header is not available, skb_probe_transport_header()
>> > resorts to fully dissect the flow keys, even if it only needs the
>> > ransport offset. We can obtain the latter using a simpler flow dissector -
>> > flow_keys_buf_dissector - and a smaller struct for key storage.
>> >
>> > The above gives ~50% performance improvement in micro benchmarking around
>> > skb_probe_transport_header(), mostly due to the smaller memset. Small, but
>> > measurable improvement is measured also in macro benchmarking - raw xmit
>> > tput from a VM.
>> >
>> > Signed-off-by: Paolo Abeni <pabeni@...hat.com>
>>
>> Please make this optimization generally, then every driver using
>> eth_get_headlen() (11 or so) will get the same improvement, for all
>> traffic!
>
> Sure! I though about sending a follow-up patch for other
> flow_keys_buf_dissector users, but if you prefer a single patch, I'm
> fine with your version (just give me a little time tomorrow to test it)
Ok, please give is a spin and let me know how the testing goes.
Powered by blists - more mailing lists