Received: by 10.223.176.5 with SMTP id f5csp1613355wra; Thu, 8 Feb 2018 00:06:56 -0800 (PST) X-Google-Smtp-Source: AH8x226A1RgfrMkPmXZo2lg8hfb0QgbKY6+aIQdgwA5bKOS5Z6r7f4daH+LEbaA5c4SJm9wLAycI X-Received: by 10.101.81.141 with SMTP id h13mr7288403pgq.241.1518077216387; Thu, 08 Feb 2018 00:06:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518077216; cv=none; d=google.com; s=arc-20160816; b=Ca43b/Sy/MRKn74UB47z2Do8BGJ+ywY3YwMTvGuNwXzoC7hKYYFNZ3QgQXlhO87Kkq 4tSGDYUMGwb8Dd0YBy/R8s3Abd6y3FxvdS5qgb0UhkIbf7561jaA1PBvuqB/A9ipg9d2 kWSaQ2DUu25fE/5+vu2gVycNc+PY3U0sIu+vMqZMM92af+bAlq1xL7auj29nHp0QmOOt uO5NnMzBe8xFrUwjLIUYxKIeZ+r+pRF+fuUxkfL4It7865O5rrPQc80N8mImzro5kw2U IpaTexaLZ0CF3qyhd9c4F6fhbFNsPS6K/tQxpMbR/NCNou0dljj8sxqu8HtmWs0ILvuw 5uCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=u/UUL65Ww4LQChpSW0vsc6aJcPqI4skBaSFh834CGVE=; b=nNQrEpVOWbL9LIwuUK5+O7/bZ3TZtTjnTCJtYrB7WUJc74kMNhNynVwN3RhkA5/Zm0 i3zW+oMKF9S5puATYmh21HUYgQB5fdUw1nPGrEC9MvQTKuBmqqbP/H+CLkYNM+OwXMzN JfIUk+odxRdNTO52dSyHTSv6kwwh6734KooWsDv2B7lENH+kvLyIz7M5XqTOMyFaRb90 pquDGvjDiJQfDww/l2tPSuG51Szyd6zfTaPbq42ZWqU5Dxpg6dNS/t/zEvQ70NQfZ8u9 3zn/oBK0ytK2cgcAktN4oi/K5TTfxP5DDwF/TWhcNapK06wSPRTYsz0MWnMAZTrjsQpg 0CZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=l8x5D4DA; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j76si1455686pfj.146.2018.02.08.00.06.42; Thu, 08 Feb 2018 00:06: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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=l8x5D4DA; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751317AbeBHIGE (ORCPT + 99 others); Thu, 8 Feb 2018 03:06:04 -0500 Received: from mail-pg0-f65.google.com ([74.125.83.65]:37715 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750749AbeBHIGC (ORCPT ); Thu, 8 Feb 2018 03:06:02 -0500 Received: by mail-pg0-f65.google.com with SMTP id o1so1357093pgn.4; Thu, 08 Feb 2018 00:06:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=u/UUL65Ww4LQChpSW0vsc6aJcPqI4skBaSFh834CGVE=; b=l8x5D4DAfxiILoOkv+cVO/gKGKk1GgJuga8HJwUXQ/G3jRNKqudJNilpMN+vyEzlq6 wRYle2yYoEcdErA8JnGZrESIPptiHTeP3hTQ+5mqJLtrla73KbX9bJJ7ZykPvbPBoQoZ 5zZ2wPzTRZIRR8ESekMF4ZbHK4ch++Xt4ptLiQIcYeFMbSMBIGbHBAwyc42Us7Ruz181 5VRAmxoVOIJCqjzrs2rfkWhLYlL0JFRu7furKCVlc5KeVGdyYr76V2/AFOftKiVxWPht 8cKj4QvnV0G+x/hebX6xm2o7SE5wHtHQA/L8TN3InXMPHha6dFdDai4JKzCgeFJqPnC+ RAbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=u/UUL65Ww4LQChpSW0vsc6aJcPqI4skBaSFh834CGVE=; b=BUFIzVNU4YG/a8EK+SrpXUr6Rt2JBFgUw+/EEbcI5Z6Tsy88tlV6MWWzmZv9Hq/Bms IVlYTabnc+6NHfh6VC+OiXdX0rU5MwBieQGot/SSU9qINj+938QcwzlSsDmWMDF82AZZ qUgFaD2mqmB3v0ykxJh0TRra5e0Jvtx1HioUs2s35GKIqei3+utoH0+Az4PJYC1kD6i0 katyXcoXSvzcm2vl6inzJ6WO2m0dB1XJEyd5vDVLgpfW5DUACFFJtfCno83Lwsnz77QO cgL75Gj0z10BCtMSw54SkmQfrqLOYd1sDS/f9U3bXzUoqT0Zo2XgCOiFsKJKbOJprr7e Givw== X-Gm-Message-State: APf1xPBP7ixYXh+S6MjCmtdOAMOzP2s+d4Fkn1EHadxN+qQ00d7SqNTZ VDSAP7W3/aPunXaWC1dINnU= X-Received: by 10.98.8.86 with SMTP id c83mr8683894pfd.84.1518077162095; Thu, 08 Feb 2018 00:06:02 -0800 (PST) Received: from f1.synalogic.ca (113x35x119x249.ap113.ftth.ucom.ne.jp. [113.35.119.249]) by smtp.gmail.com with ESMTPSA id d64sm8286424pfa.91.2018.02.08.00.05.59 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 08 Feb 2018 00:06:00 -0800 (PST) Date: Thu, 8 Feb 2018 17:05:57 +0900 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: Re: [PATCH net-queue 1/3] Partial revert "e1000e: Avoid receiver overrun interrupt bursts" Message-ID: <20180208080557.yqxdgvr4xef3zszq@f1.synalogic.ca> References: <20180208064714.6042-1-bpoirier@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180208064714.6042-1-bpoirier@suse.com> User-Agent: NeoMutt/20170912 (1.9.0) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I forgot to mark it as such but this is v2 of the series originally submitted in this thread: https://lkml.org/lkml/2018/1/26/93 Changes since v1: * series rebased to apply over "e1000e: Remove Other from EIAC." http://patchwork.ozlabs.org/patch/867833/ This essentially removes patch 3/3 from the original series. * dropped [PATCH 2/3] Revert "e1000e: Separate signaling for link check/link up". After Alex's feedback, I think that problem needs to be addressed differently and I will submit a separate patch for it. * patch 1 was split into three parts. Instead of manually clearing OTHER via a write to icr as in v1, in v2 we make sure that INT_ASSERTED is always set via bits for all events related to the Other interrupt in IMS. Benjamin Poirier (3): Partial revert "e1000e: Avoid receiver overrun interrupt bursts" e1000e: Fix queue interrupt re-raising in Other interrupt. e1000e: Avoid missed interrupts following ICR read. drivers/net/ethernet/intel/e1000e/defines.h | 21 ++++++++++++++++++- drivers/net/ethernet/intel/e1000e/netdev.c | 32 +++++++++-------------------- 2 files changed, 30 insertions(+), 23 deletions(-) On 2018/02/08 15:47, Benjamin Poirier wrote: > 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 >