Messages in this thread |  | | Date | Fri, 14 Sep 2018 08:01:33 +0200 | From | Steffen Klassert <> | Subject | Re: Regression: kernel 4.14 an later very slow with many ipsec tunnels |
| |
On Fri, Sep 14, 2018 at 07:54:37AM +0200, Florian Westphal wrote: > Steffen Klassert <steffen.klassert@secunet.com> wrote: > > On Thu, Sep 13, 2018 at 11:03:25PM +0200, Florian Westphal wrote: > > > David Miller <davem@davemloft.net> wrote: > > > > From: Florian Westphal <fw@strlen.de> > > > > Date: Thu, 13 Sep 2018 18:38:48 +0200 > > > > > > > > > Wolfgang Walter <linux@stwm.de> wrote: > > > > >> What I can say is that it depends mainly on number of policy rules and SA. > > > > > > > > > > Thats already a good hint, I guess we're hitting long hash chains in > > > > > xfrm_policy_lookup_bytype(). > > > > > > > > I don't really see how recent changes can influence that. > > > > > > I don't think there is a recent change that did this. > > > > > > Walter says < 4.14 is ok, so this is likely related to flow cache removal. > > > > > > F.e. it looks like all prefixed policies end up in a linked list > > > (net->xfrm.policy_inexact) and are not even in a hash table. > > > > > > I am staring at b58555f1767c9f4e330fcf168e4e753d2d9196e0 > > > but can't figure out how to configure that away from the > > > 'no hashing for prefixed policies' default or why we even have > > > policy_inexact in first place :/ > > > > The hash threshold can be configured like this: > > > > ip x p set hthresh4 0 0 > > > > This sets the hash threshold to local /0 and remote /0 netmasks. > > With this configuration, all policies should go to the hashtable. > > Yes, but won't they all be hashed to same bucket? > > [ jhash(addr & 0, addr & 0) ] ?
Hm, yes. Maybe something between /0 and /32 makes more sense.
|  |