From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Abeni Subject: Re: [PATCH net-next] net: core: rework skb_probe_transport_header() Date: Thu, 03 May 2018 19:59:16 +0200 Message-ID: <1525370356.3233.8.camel@redhat.com> References: <7cbdf466f4a1bf44ddbb948428dc7bb0dad091a7.1525340013.git.pabeni@redhat.com> <20180503.133254.1527765573520854366.davem@davemloft.net> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, edumazet@google.com, jasowang@redhat.com To: David Miller Return-path: Received: from mx3-rdu2.redhat.com ([66.187.233.73]:43490 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751075AbeECR7S (ORCPT ); Thu, 3 May 2018 13:59:18 -0400 In-Reply-To: <20180503.133254.1527765573520854366.davem@davemloft.net> Sender: netdev-owner@vger.kernel.org List-ID: On Thu, 2018-05-03 at 13:32 -0400, David Miller wrote: > From: Paolo Abeni > 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 > > 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) Please let me know, Paolo