Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1353842pxk; Thu, 10 Sep 2020 13:19:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxSMFWWAkv5QbhR5sdpdTTyx9CH0IuRSl4ArGTb0ghQqXnyuy+WqRRtxS1rEJ1+6o10aWH+ X-Received: by 2002:a17:906:7f15:: with SMTP id d21mr10965799ejr.470.1599769178624; Thu, 10 Sep 2020 13:19:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599769178; cv=none; d=google.com; s=arc-20160816; b=B3PZbE5Y4sQW26+Mc5R2PuUPib+W6Ryc/bBzzaKRHsiw15EnGgX2XPgkEpS+aj9o3B wA+2+v0gftB0IhUItvdAWZx6a2+jNAdiebeFl1SdBP019+xHsOydK5uDA5Fsa8MCmH4V pWMx8QQqqT2RhGnN5F/sDvLNjomLbEyerlVyf0UFrDZSnlNly/DZm+npOsXRbEZpFdYS nK2MdPB8bq1KtZuy38YfYd2yLeK8/MtRIg9oPtBV0uQZNLc86lM3+EDOHs2QcVoEHtUH oaiuKhKQPB8TkMQ2+fSpUnSQ1vQFWHmrIJDZAhWHDhlqKh6ftD6BqRe4N/DgcbHzGqN2 e9Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=D3rZXN/M5buU4UjqwEW2O7loIxNlYUmjQb6smWkzqBg=; b=YH9amOX2mzkmqx2hoZVjU7T25U9s3Y7OKxJmVXeorBI7LKuau5tkZNl08h6Ce3ny2Q 68Yr3ge4QQuDHyfYGpQad/ht5wXWIFVpzkCHc14RS6vlplA3m3jnUCCXesMI/lkNQToj Ve//wxV6+tpd71dnZCvDMwk/joPDHzlnNu1dTNDZxwLwRPltQZjo/1joXv6flhsaeLdm WE2EPxjq0J2LLz56IfqbPHYVyehzkh+rCMxA0NmVsZZ0lHxTxkkQePuYICiGYOmBLDS7 ahaA9mwxVv8nd9/If+G9lJCGY3TqGRdJacsMhtMeB1uj8CMAd5AiKFOJug1ep0XOzwro 8uVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=VTdYTP6k; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a12si4268325edt.557.2020.09.10.13.19.16; Thu, 10 Sep 2020 13:19:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=VTdYTP6k; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726848AbgIJUSP (ORCPT + 99 others); Thu, 10 Sep 2020 16:18:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53872 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726760AbgIJUP1 (ORCPT ); Thu, 10 Sep 2020 16:15:27 -0400 Received: from mail-il1-x141.google.com (mail-il1-x141.google.com [IPv6:2607:f8b0:4864:20::141]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CC69BC061573; Thu, 10 Sep 2020 13:15:26 -0700 (PDT) Received: by mail-il1-x141.google.com with SMTP id p13so6964046ils.3; Thu, 10 Sep 2020 13:15:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=D3rZXN/M5buU4UjqwEW2O7loIxNlYUmjQb6smWkzqBg=; b=VTdYTP6ksg2hPwjOXuVHwHnK/LWAy+MORKzIMxhWBuXxVfb5VJ+q7CHpHgt/xy0q5O 9UTprebf4ZdFm8XzykbZPqwoGRiKuzrcv3wDr7Ol7ieHJ06M5NGPxS27PoSNbrSYFNXl N5kdxkS4CFcx5BLWZ1ypTKhFs4fmEjoGKOUmfFTP9MPTLMJYWQIvmDtRP0uHtiYDr3of npN4t1iAmjdZcPNCXiHWP9Qkbbp24dK0saU2yHStbwahZwH/ZqnrNF6MABg4ZVAAhXTN Q6qpzxHbERYO5sbYodFmQbZ5YC7tsFU2VG+YHHe4RqogiUXiEQXQbBQryPsk9jrZpNmZ 6UJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=D3rZXN/M5buU4UjqwEW2O7loIxNlYUmjQb6smWkzqBg=; b=ocOJBGFSMJuRdJdP+78vBkRDSq7cjJX5n4df6wkeZlgdVIdbEpSYxwpXGTZ6cHgEjN qQIaCRp6zRFZv09mpXcxes3KYmUa+BBNHhTkBoh10dDpYm6yNjth4duzvq7RT2rZ7Aw1 wbncO87gI/uxbEwZp3xzx9VvIP2cjdbMdO+Z4zOuKgcRavlw6C3jyPvBLUFz5cYIlySj wD11FSOdAUe0n5gI81pAnicNdXxGOQCCvdI2819MsMqL5qZnsKm8vnmavaXENJ6tSycT MGbx7ja5YmfvdMJZEcrs99U2w6o7a0ZQjahg3/yo90m0ge3IlDEOZikf3tlebcK+EXjP pQNQ== X-Gm-Message-State: AOAM531GbR5p87oQ2e15fQ6rpa6g6EYqXmSV/b+yqu8qRQJt5IRiu9cc 4ujK6QGNclraizwP5RHfGNx5SC2iM3RF7iQRIyw= X-Received: by 2002:a92:9145:: with SMTP id t66mr9259698ild.305.1599768926155; Thu, 10 Sep 2020 13:15:26 -0700 (PDT) MIME-Version: 1.0 References: <465a540e-5296-32e7-f6a6-79942dfe2618@netrounds.com> <20200623134259.8197-1-mzhivich@akamai.com> <1849b74f-163c-8cfa-baa5-f653159fefd4@akamai.com> <7fd86d97-6785-0b5f-1e95-92bc1da9df35@netrounds.com> <500b4843cb7c425ea5449fe199095edd5f7feb0c.camel@redhat.com> <25ca46e4-a8c1-1c88-d6a9-603289ff44c3@akamai.com> <20200822032800.16296-1-hdanton@sina.com> <20200825032312.11776-1-hdanton@sina.com> <20200825162329.11292-1-hdanton@sina.com> <5f46032e.1c69fb81.9880c.7a6cSMTPIN_ADDED_MISSING@mx.google.com> <20200827125747.5816-1-hdanton@sina.com> <5f51cbad3cc2_3eceb208fc@john-XPS-13-9370.notmuch> In-Reply-To: <5f51cbad3cc2_3eceb208fc@john-XPS-13-9370.notmuch> From: Cong Wang Date: Thu, 10 Sep 2020 13:15:14 -0700 Message-ID: Subject: Re: Packet gets stuck in NOLOCK pfifo_fast qdisc To: John Fastabend Cc: Paolo Abeni , Kehuan Feng , Hillf Danton , Jike Song , Josh Hunt , Jonas Bonn , Michael Zhivich , David Miller , LKML , Netdev Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Sep 3, 2020 at 10:08 PM John Fastabend wrote: > Maybe this would unlock us, > > diff --git a/net/core/dev.c b/net/core/dev.c > index 7df6c9617321..9b09429103f1 100644 > --- a/net/core/dev.c > +++ b/net/core/dev.c > @@ -3749,7 +3749,7 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q, > > if (q->flags & TCQ_F_NOLOCK) { > rc = q->enqueue(skb, q, &to_free) & NET_XMIT_MASK; > - qdisc_run(q); > + __qdisc_run(q); > > if (unlikely(to_free)) > kfree_skb_list(to_free); > > > Per other thread we also need the state deactivated check added > back. I guess no, because pfifo_dequeue() seems to require q->seqlock, according to comments in qdisc_run(), so we can not just get rid of qdisc_run_begin()/qdisc_run_end() here. Thanks.