From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D170CC282C2 for ; Sun, 10 Feb 2019 14:28:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9D966207E0 for ; Sun, 10 Feb 2019 14:28:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="QErd8FVq" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726274AbfBJO2S (ORCPT ); Sun, 10 Feb 2019 09:28:18 -0500 Received: from mail-wm1-f68.google.com ([209.85.128.68]:33354 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726177AbfBJO2P (ORCPT ); Sun, 10 Feb 2019 09:28:15 -0500 Received: by mail-wm1-f68.google.com with SMTP id h22so11829683wmb.0 for ; Sun, 10 Feb 2019 06:28:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=b1uKT9HPw7YleDq1lpY3ypeCSl8gVpmgRXEfUGI8kDI=; b=QErd8FVq6Poc8xA2c7OWJmhbvsqih6NsON3Wlh9PCGmMt0MHW2VanCMEmLJQE18W61 7tAR7zFM9mH+16XdDar7RCjAFQSTpzRkFMlzKX2s8yso3UhbkSTdE/aqC+yn5RlqaiKU IXPPC5xHyhUeXOUiQJ6urRhiFd5hec+Sd1PSIKE7PBn9r4O1o9rMkCB+O01cAKg/AnIa jBTBc0AaXmFn5tum4e68pTxNh9kUVZr1yaWftPERbrEXR/BIo4t3qDEHuIftv98L892V jVJVXgWMNqTDxKJTe9TZwPhPkcQoRTeqs4Pt0/jOJnJAWuTXxnHJfDW41yB0bbjFgVTc ELfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=b1uKT9HPw7YleDq1lpY3ypeCSl8gVpmgRXEfUGI8kDI=; b=BZ1VDnIyOaOJrR4/eJCSPiF0UloGaURanbCjk3Lu0dpyUA4yVs6lbtFWSRV+lW1GKo re/pXRd5rtZZgs8MTF/qbzhgY1wurnsmphnIjZqnYmIFzn6CzpGnkLaixC0oqKQ4iJBO el0CVUxoZqbr8v1QvbGTR3W+djmGmnG2iSdvnwkaH8LJpf9h3DzJiDuTbS4mOF3KDKhk JIFH89wlQI8qzM/BgH99jv/4bO9uoD1nFlwzrh1tMvHJacjIElxB8XubxwnXw+HyDS+g /UnqQAtFZm+ZwmSpNCYEymsx7IkYsX+7wgLlsZcy2duSScdKc5zLm+XD4WJjyI4OjFpI ngeQ== X-Gm-Message-State: AHQUAubpfJxvvs2vJoYpvhm73ZWVvqPPch7LQKv9Cjccb6PKg7XK5tNY iEtbN7u6rT8Vd58ugJsZGgHNI3ZN X-Google-Smtp-Source: AHgI3IZuvPYAJWBGP4su60L7rgnPboL1F9x+kHOU4EUwzpstblbWc57oENzgOFz56CIrQH+4gK4/2A== X-Received: by 2002:a1c:2856:: with SMTP id o83mr6544385wmo.45.1549808893776; Sun, 10 Feb 2019 06:28:13 -0800 (PST) Received: from ?IPv6:2003:ea:8bf1:e200:1513:f24d:17d6:1a6d? (p200300EA8BF1E2001513F24D17D61A6D.dip0.t-ipconnect.de. [2003:ea:8bf1:e200:1513:f24d:17d6:1a6d]) by smtp.googlemail.com with ESMTPSA id h184sm45104690wmf.0.2019.02.10.06.28.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Feb 2019 06:28:13 -0800 (PST) Subject: [PATCH v2 net 2/2] Revert "r8169: make use of xmit_more and __netdev_sent_queue" From: Heiner Kallweit To: Realtek linux nic maintainers , David Miller Cc: Sander Eikelenboom , "netdev@vger.kernel.org" References: <63e9e767-f78b-8865-fe25-41d77e4e7a58@gmail.com> Message-ID: <5498a0c0-e4ae-42e1-aa9d-13c6f173d1cd@gmail.com> Date: Sun, 10 Feb 2019 15:28:04 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0 MIME-Version: 1.0 In-Reply-To: <63e9e767-f78b-8865-fe25-41d77e4e7a58@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This reverts commit 2e6eedb4813e34d8d84ac0eb3afb668966f3f356. Sander reported a regression causing a kernel panic[1], therefore let's revert this commit. [1] https://marc.info/?t=154965066400001&r=1&w=2 Signed-off-by: Heiner Kallweit --- drivers/net/ethernet/realtek/r8169.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index bba806ce57d3..6e36b88ca7c9 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -6074,7 +6074,6 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, struct device *d = tp_to_dev(tp); dma_addr_t mapping; u32 opts[2], len; - bool stop_queue; int frags; if (unlikely(!rtl_tx_slots_avail(tp, skb_shinfo(skb)->nr_frags))) { @@ -6116,6 +6115,8 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, txd->opts2 = cpu_to_le32(opts[1]); + netdev_sent_queue(dev, skb->len); + skb_tx_timestamp(skb); /* Force memory writes to complete before releasing descriptor */ @@ -6128,16 +6129,16 @@ static netdev_tx_t rtl8169_start_xmit(struct sk_buff *skb, tp->cur_tx += frags + 1; - stop_queue = !rtl_tx_slots_avail(tp, MAX_SKB_FRAGS); - if (unlikely(stop_queue)) - netif_stop_queue(dev); + RTL_W8(tp, TxPoll, NPQ); - if (__netdev_sent_queue(dev, skb->len, skb->xmit_more)) { - RTL_W8(tp, TxPoll, NPQ); - mmiowb(); - } + mmiowb(); - if (unlikely(stop_queue)) { + if (!rtl_tx_slots_avail(tp, MAX_SKB_FRAGS)) { + /* Avoid wrongly optimistic queue wake-up: rtl_tx thread must + * not miss a ring update when it notices a stopped queue. + */ + smp_wmb(); + netif_stop_queue(dev); /* Sync with rtl_tx: * - publish queue status and cur_tx ring index (write barrier) * - refresh dirty_tx ring index (read barrier). -- 2.20.1