From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: Poor TCP performance with XPS enabled after scrubbing skb Date: Tue, 15 May 2018 14:08:09 -0700 Message-ID: References: <20180515193128.GA11901@plex.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: Paolo Abeni To: Flavio Leitner , netdev@vger.kernel.org Return-path: Received: from mail-pl0-f46.google.com ([209.85.160.46]:38225 "EHLO mail-pl0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752500AbeEOVIM (ORCPT ); Tue, 15 May 2018 17:08:12 -0400 Received: by mail-pl0-f46.google.com with SMTP id c11-v6so763432plr.5 for ; Tue, 15 May 2018 14:08:12 -0700 (PDT) In-Reply-To: <20180515193128.GA11901@plex.lan> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 05/15/2018 12:31 PM, Flavio Leitner wrote: > Hi, > > There is a significant throughput issue (~50% drop) for a single TCP > stream when the skb is scrubbed and XPS is enabled. > > If I turn CONFIG_XPS off, then the issue never happens and the test > reaches line rate. The same happens if I echo 0 to tx-*/xps_cpus. > > It looks like that when the skb is scrubbed, there is no more reference > to the struct sock, And this is really the problem here, since it breaks back pressure (and TCP Small queues) I am not sure why skb_orphan() is used in this scrubbing really.