Re: [LKP] [tcp] 8b27dae5a2: netperf.Throughput_Mbps -25.7% regression

From: Feng Tang
Date: Tue Jun 04 2019 - 06:11:46 EST


On Thu, May 30, 2019 at 11:23:14PM +0800, Feng Tang wrote:
> Hi Eric,
>
> On Thu, May 30, 2019 at 05:21:40AM -0700, Eric Dumazet wrote:
> > On Thu, May 30, 2019 at 3:31 AM Feng Tang <feng.tang@xxxxxxxxx> wrote:
> > >
> > > On Wed, Apr 03, 2019 at 02:34:36PM +0800, kernel test robot wrote:
> > > > Greeting,
> > > >
> > > > FYI, we noticed a -25.7% regression of netperf.Throughput_Mbps due to commit:
> > > >
> > > >
> > > > commit: 8b27dae5a2e89a61c46c6dbc76c040c0e6d0ed4c ("tcp: add one skb cache for rx")
> > > > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
> > >
> > > Hi Eric,
> > >
> > > Could you help to check this? thanks,
> > >
> >
> > Hmmm... patch is old and had some bugs that have been fixed.
> >
> > What numbers do you have with more recent kernels ?
>
>
> I just run the test with 5.2-rc2, and the regression is still there.

Hi Eric,

Any hint on this?

>From the perf data, the spinlock contention has an obvious increase:

9.28 +7.6 16.91 perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock.free_one_page.__free_pages_ok.___pskb_trim
18.55 +8.6 27.14 perf-profile.calltrace.cycles-pp.native_queued_spin_lock_slowpath._raw_spin_lock_irqsave.get_page_from_freelist.__alloc_pages_nodemask.skb_page_frag_refill

And for commit 8b27dae5a2 ("tcp: add one skb cache for rx"), IIUC, it
is not a real cache like the "tx skb cache" patch, and kind of a
delayed freeing.

Thanks,
Feng