> -----Original Message-----
> From: Florian Westphal <f...@strlen.de>
> Sent: Tuesday, April 23, 2019 11:27 AM
> To: Vakul Garg <vakul.g...@nxp.com>
> Cc: Florian Westphal <f...@strlen.de>; netdev@vger.kernel.org
> Subject: Re: ipsec tunnel performance degrade
>
> Vakul Garg <vakul.g...@nxp.com> wrote:
> > > Do you use xfrm interfaces?
> >
> > I don't think so. I use setkey to create policies/SAs.
> > Can you please give me some hint about it?
>
> Then you're not using ipsec interfaces.
>
Instead of creating policies/SA using setkey, I shifted to using 'ip xfrm'
commands.
With this, I get good performance improvement (20% better in one case).
Now xfrm_state_find() function is not taking much cpu.
Is this what you meant by 'xfrm interfaces'?
> > > > Further, perf show that a lot of atomic primitives such as
> > > > __ll_sc___cmpxchg_case_mb_4(),
> > > > __ll_sc_atomic_sub_return() are being invoked. On 16 core system,
> > > > they
> > > consume more than 30% of cpu.
> > >
> > > Thats not good, perhaps we should look at pcpu refcounts for the
> > > xfrm state structs.
> >
> > What else data can I collect?
>
> I have no further suggestions. I don't know yet when I will have time to look
> into refcnt optimizations.
>
> Idea would be to make them same as dev_hold/put.
I will try to address it. Can you provide some guidance? Thanks.