From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steffen Klassert Subject: Re: xfrm4_state_afinfo size increase (was: Re: xfrm: Add a xfrm type offload.) Date: Thu, 4 May 2017 11:16:40 +0200 Message-ID: <20170504091640.GR2649@secunet.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Cc: Herbert Xu , "David S. Miller" , Linux Kernel Mailing List , "netdev@vger.kernel.org" To: Geert Uytterhoeven Return-path: Received: from a.mx.secunet.com ([62.96.220.36]:34620 "EHLO a.mx.secunet.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751765AbdEDJQx (ORCPT ); Thu, 4 May 2017 05:16:53 -0400 Content-Disposition: inline In-Reply-To: Sender: netdev-owner@vger.kernel.org List-ID: On Thu, May 04, 2017 at 10:08:07AM +0200, Geert Uytterhoeven wrote: > > @@ -314,12 +316,14 @@ void km_state_expired(struct xfrm_state *x, int hard, u32 portid); > > int __xfrm_state_delete(struct xfrm_state *x); > > > > struct xfrm_state_afinfo { > > - unsigned int family; > > - unsigned int proto; > > - __be16 eth_proto; > > - struct module *owner; > > - const struct xfrm_type *type_map[IPPROTO_MAX]; > > - struct xfrm_mode *mode_map[XFRM_MODE_MAX]; > > + unsigned int family; > > + unsigned int proto; > > + __be16 eth_proto; > > + struct module *owner; > > + const struct xfrm_type *type_map[IPPROTO_MAX]; > > + const struct xfrm_type_offload *type_offload_map[IPPROTO_MAX]; > > + struct xfrm_mode *mode_map[XFRM_MODE_MAX]; > > Bloat-o-meter reports the addition of xfrm_state_afinfo.type_offload_map[] > increases the static kernel size by 1 KiB on 32-bit platforms (double on 64-bit > platforms): > > function old new delta > xfrm4_state_afinfo 1102 2126 +1024 > > While IPPROTO_MAX = 256, the defined list of IP protocols is spread > sparsely over the number space, but I assume all values may occur? Actually no, I think we could boil this down to less than ten really used protocols by mapping the IPPROTO numbers to some XFRMPROTO numbers. I'll look into this. Thanks!