[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190509110748.GU17989@gauss3.secunet.de>
Date: Thu, 9 May 2019 13:07:48 +0200
From: Steffen Klassert <steffen.klassert@...unet.com>
To: Florian Westphal <fw@...len.de>
CC: <netdev@...r.kernel.org>
Subject: Re: [PATCH ipsec-next 0/6] xfrm: reduce xfrm_state_afinfo size
On Fri, May 03, 2019 at 05:46:13PM +0200, Florian Westphal wrote:
> xfrm_state_afinfo is a very large struct; its over 4kbyte on 64bit systems.
>
> The size comes from two arrays to store the l4 protocol type pointers
> (esp, ah, ipcomp and so on).
>
> There are only a handful of those, so just use pointers for protocols
> that we implement instead of mostly-empty arrays.
>
> This also removes the template init/sort related indirections.
> Structure size goes down to 120 bytes on x86_64.
>
> include/net/xfrm.h | 49 ++---
> net/ipv4/ah4.c | 3
> net/ipv4/esp4.c | 3
> net/ipv4/esp4_offload.c | 4
> net/ipv4/ipcomp.c | 3
> net/ipv4/xfrm4_state.c | 45 -----
> net/ipv4/xfrm4_tunnel.c | 3
> net/ipv6/ah6.c | 4
> net/ipv6/esp6.c | 3
> net/ipv6/esp6_offload.c | 4
> net/ipv6/ipcomp6.c | 3
> net/ipv6/mip6.c | 6
> net/ipv6/xfrm6_state.c | 137 ----------------
> net/xfrm/xfrm_input.c | 24 +-
> net/xfrm/xfrm_policy.c | 2
> net/xfrm/xfrm_state.c | 400 +++++++++++++++++++++++++++++++++++-------------
> 16 files changed, 343 insertions(+), 350 deletions(-)
>
> Florian Westphal (6):
> xfrm: remove init_tempsel indirection from xfrm_state_afinfo
> xfrm: remove init_temprop indirection from xfrm_state_afinfo
> xfrm: remove init_flags indirection from xfrm_state_afinfo
> xfrm: remove state and template sort indirections from xfrm_state_afinfo
> xfrm: remove eth_proto value from xfrm_state_afinfo
> xfrm: remove type and offload_type map from xfrm_state_afinfo
I have deferred this until after the merge window. I'll
consider applying them then.
Thanks!
Powered by blists - more mailing lists