From patchwork Tue Apr 28 11:40:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Westphal X-Patchwork-Id: 220388 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4AB6FC83000 for ; Tue, 28 Apr 2020 11:40:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 30EBE206A1 for ; Tue, 28 Apr 2020 11:40:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726826AbgD1Lkg (ORCPT ); Tue, 28 Apr 2020 07:40:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35800 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726554AbgD1Lkg (ORCPT ); Tue, 28 Apr 2020 07:40:36 -0400 Received: from Chamillionaire.breakpoint.cc (Chamillionaire.breakpoint.cc [IPv6:2a0a:51c0:0:12e:520::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1868C03C1A9 for ; Tue, 28 Apr 2020 04:40:35 -0700 (PDT) Received: from fw by Chamillionaire.breakpoint.cc with local (Exim 4.92) (envelope-from ) id 1jTObK-0004PN-1N; Tue, 28 Apr 2020 13:40:34 +0200 From: Florian Westphal To: Subject: [PATCH ipsec-next 0/7] xfrm: remove three more indirect calls from packet path Date: Tue, 28 Apr 2020 13:40:21 +0200 Message-Id: <20200428114028.20693-1-fw@strlen.de> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch series removes three more indirect calls from the state_afinfo struct: - extract_input (no dependencies on other modules) - output_finish (same) - extract_output (has dependency on ipv6 module, but that is only needed for pmtu detection, so the indirect call cost is not required for each packet). Note that the 4th patch conflicts with Sabrinas ESP-in-TCP patches (both change ipv6_stubs). I will send a rebased v2 once those patches are in. Florian Westphal (7): xfrm: avoid extract_output indirection for ipv4 xfrm: state: remove extract_input indirection from xfrm_state_afinfo xfrm: move xfrm4_extract_header to common helper xfrm: expose local_rxpmtu via ipv6_stubs xfrm: place xfrm6_local_dontfrag in xfrm.h xfrm: remove extract_output indirection from xfrm_state_afinfo xfrm: remove output_finish indirection from xfrm_state_afinfo include/net/ipv6_stubs.h | 3 ++ include/net/xfrm.h | 26 ++++++---- net/ipv4/xfrm4_input.c | 5 -- net/ipv4/xfrm4_output.c | 63 +---------------------- net/ipv4/xfrm4_state.c | 24 --------- net/ipv6/af_inet6.c | 4 ++ net/ipv6/xfrm6_input.c | 5 -- net/ipv6/xfrm6_output.c | 98 ++--------------------------------- net/ipv6/xfrm6_state.c | 26 ---------- net/xfrm/xfrm_inout.h | 32 ++++++++++++ net/xfrm/xfrm_input.c | 21 ++++---- net/xfrm/xfrm_output.c | 129 ++++++++++++++++++++++++++++++++++++++++++++--- 12 files changed, 193 insertions(+), 243 deletions(-)