Received: by 10.223.176.5 with SMTP id f5csp1550257wra; Wed, 7 Feb 2018 22:49:56 -0800 (PST) X-Google-Smtp-Source: AH8x2268SBajPfZ78yUrCG8+4hs+/vnY+5lkr5ppXm2qxU3nkZ2eEVA+8zwZ/azCVGSrml3D2KHH X-Received: by 2002:a17:902:7441:: with SMTP id e1-v6mr8696902plt.204.1518072596139; Wed, 07 Feb 2018 22:49:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518072596; cv=none; d=google.com; s=arc-20160816; b=Nr8nQPpDh+CXCHMAVf6HC9lsj45R7khxHknwp/yfNOzrgDEdD0wG+bYUVH8qY8Wfh/ 9agriNOLwPWIicU/kSNMlHXkN9t2xTHkk2JEsYc7Xt8YTLJIqWE9I+/HeeRvQATHsIfs Ghx23XLm8eyqr7NjCuDSWe6wvMf+sktQKfZFFMhhIrnUoMfKpM9nlL7a+UGdSkb24y3w N5xLx6PtSrmfzLFpilPrB0s+QweEESqucsvukFXioTmmN9yI2Gqxpyp3WQgu7oIL8vgG XbvHtOsdMml+sejymE09OxN1kmXVpXCTaDhSQyXb3flhjsLFsOGu976suoHNA+fNLJl2 U4Rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=mSWV96yRKqBcUWYIzXI4NoiF3eSARByopCWtTVDMkw0=; b=Wyci/XK7p241PzYsgwu5iiRB5YVcVQs2b/D0VhifbaRvxJZ9GyQzg74qYKONHa3j/P FpAWS4hRTjclDqE0l5v5KrEDRdvg5jBfRMt8feJXpy4EHwQySdkzFukltE0NrnpIPsoD 1xS3tNepNv8K7df9TrvJnFKFzzrjwgouguSMnecQyNXq8N8Ajcnbp91EZDU8USTKPpg2 VPx8OY4yFgbyST11Nvq+ew8Z+bC+4balMsILLisJ9mhV05EPlEKp2AcaFJIQUtPF/PWV yhMx9LwRzrV+L2VOmRGPu5mtuMr9ML11n+Fdif7VihfjXlwGit8QhRfX9DNqVZ/R2WKw 8VIw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o4si2019607pgq.710.2018.02.07.22.49.42; Wed, 07 Feb 2018 22:49:56 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751009AbeBHGrX (ORCPT + 99 others); Thu, 8 Feb 2018 01:47:23 -0500 Received: from mx2.suse.de ([195.135.220.15]:54965 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750807AbeBHGrW (ORCPT ); Thu, 8 Feb 2018 01:47:22 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id DDF84AE22; Thu, 8 Feb 2018 06:47:20 +0000 (UTC) From: Benjamin Poirier To: Jeff Kirsher Cc: Alexander Duyck , intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-queue 1/3] Partial revert "e1000e: Avoid receiver overrun interrupt bursts" Date: Thu, 8 Feb 2018 15:47:12 +0900 Message-Id: <20180208064714.6042-1-bpoirier@suse.com> X-Mailer: git-send-email 2.16.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This partially reverts commit 4aea7a5c5e940c1723add439f4088844cd26196d. We keep the fix for the first part of the problem (1) described in the log of that commit, that is to read ICR in the other interrupt handler. We remove the fix for the second part of the problem (2), Other interrupt throttling. Bursts of "Other" interrupts may once again occur during rxo (receive overflow) traffic conditions. This is deemed acceptable in the interest of avoiding unforeseen fallout from changes that are not strictly necessary. As discussed, the e1000e driver should be in "maintenance mode". Link: https://www.spinics.net/lists/netdev/msg480675.html Signed-off-by: Benjamin Poirier --- drivers/net/ethernet/intel/e1000e/netdev.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index 153ad406c65e..3b36efa6228d 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c @@ -1915,21 +1915,10 @@ static irqreturn_t e1000_msix_other(int __always_unused irq, void *data) struct e1000_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; u32 icr; - bool enable = true; icr = er32(ICR); ew32(ICR, E1000_ICR_OTHER); - if (icr & E1000_ICR_RXO) { - ew32(ICR, E1000_ICR_RXO); - enable = false; - /* napi poll will re-enable Other, make sure it runs */ - if (napi_schedule_prep(&adapter->napi)) { - adapter->total_rx_bytes = 0; - adapter->total_rx_packets = 0; - __napi_schedule(&adapter->napi); - } - } if (icr & E1000_ICR_LSC) { ew32(ICR, E1000_ICR_LSC); hw->mac.get_link_status = true; @@ -1938,7 +1927,7 @@ static irqreturn_t e1000_msix_other(int __always_unused irq, void *data) mod_timer(&adapter->watchdog_timer, jiffies + 1); } - if (enable && !test_bit(__E1000_DOWN, &adapter->state)) + if (!test_bit(__E1000_DOWN, &adapter->state)) ew32(IMS, E1000_IMS_OTHER); return IRQ_HANDLED; @@ -2708,8 +2697,7 @@ static int e1000e_poll(struct napi_struct *napi, int weight) napi_complete_done(napi, work_done); if (!test_bit(__E1000_DOWN, &adapter->state)) { if (adapter->msix_entries) - ew32(IMS, adapter->rx_ring->ims_val | - E1000_IMS_OTHER); + ew32(IMS, adapter->rx_ring->ims_val); else e1000_irq_enable(adapter); } -- 2.16.1