Received: by 10.223.176.46 with SMTP id f43csp119278wra; Fri, 19 Jan 2018 14:46:50 -0800 (PST) X-Google-Smtp-Source: AH8x225DBKBkPrFW3d1SpiPcGB1pD4PP4e0gs1mBU+fbEnGkFH7iWMmhuzN4BZXLtF2cmyj5p4vJ X-Received: by 10.99.6.72 with SMTP id 69mr54563pgg.50.1516402010029; Fri, 19 Jan 2018 14:46:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516402009; cv=none; d=google.com; s=arc-20160816; b=IbHaAaq2H6GOGs11x8V7WZBoh9iDhiZ/exS8nhlfQkohYFjeHSZObvYRpRGIHmv+n0 SRxiaZ3WIJHGRKTJQGyf74T1NUTl/Oy7grRnbIg+vcAqt1ZpmYXUnqKD6mfdGciwhRRk irvWtCA08S0wkDDH5/LT/7oQxAzmj/qMuDHdpahK5o9Hatcay0Bm7hlsD/JNdhvTdlKR dCmrGHaDJ0z1x2aOwz4D+jQhbcBp64IQec2p9UNbk05+TqUx5WV1bNKaTyTS0E6OH3nz Q4ElsMhURFnhbia6M960bWiRRjGDiPDNFVmtcPpL681BnNPUYsPMzdw7NeTbSf0fhp7U Rtfw== 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=ytUzSwnJt8vQid9dQ0zIZ3LwW6tPQUg1mzjpcyIucNg=; b=fW/WBI7SyyoFbGS3DoykKg2D6kDOKHQ+0vIiHmVJwZ10gPWEQ3bvsBRZklXNmcVGgv ZynKl98GaDLEAW2d3MuSTxQYwVJKe14aZ9SLE4m2Q3AMcVDdQOiw1UZnsugD9iDo7Doz kEKGpe5AKcBQ6niW9i6falVvtNNlsqOOniaujQfp9pdGqI4XS0jimUSR4QGIxTBYDAko VQrdcKHlau53UL6OSnMf1JoLJBvu/pc04yHR9cdkQVpSjxw5pbGrfnChSQx2v5+ApQ2u jK3Dq/7gCL28QP92C82QjMcalugVORmE3rjwKRLK6y4VPCUJ47EoSGl5UUojlAx791CV DGjA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=V/szBLeu; 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=NONE 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 h184si8872186pgc.148.2018.01.19.14.46.25; Fri, 19 Jan 2018 14:46:49 -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=V/szBLeu; 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=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756609AbeASWpb (ORCPT + 99 others); Fri, 19 Jan 2018 17:45:31 -0500 Received: from mail-pf0-f179.google.com ([209.85.192.179]:33604 "EHLO mail-pf0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756314AbeASWpX (ORCPT ); Fri, 19 Jan 2018 17:45:23 -0500 Received: by mail-pf0-f179.google.com with SMTP id t5so2422956pfi.0; Fri, 19 Jan 2018 14:45:23 -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=ytUzSwnJt8vQid9dQ0zIZ3LwW6tPQUg1mzjpcyIucNg=; b=V/szBLeufPTb8k/a9N1eI5yy3eakSq0d5qaXPq4NPPb7CHnr8ryTplEg5wNfJbfL7U ZC1VNMlHkxO5sIl7pSIPhnpKgL08tZnj5L7yuKwJEkOxEXwx4OFBPVdbSX0QXycnomDa lQ7xDKNyysrt/g9H/W8Fg7buIy4BZe3csq4ZW3msd/TwDC3CFr24YXBJhpgSMOwuHuaG Eb/Jbdj4Oe7btDxd9g4FgmVsI1vlVshA6DQ8ob0P/4Kh3NCtSpwsFO2eaiZCGonSsvRd +qa6LwTVzNO2fdjjlYCSl7zv7PQxWHC0I+i2apf6pQ9HenxVjE3jZxuunY+Rju5VWEYk m35g== 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=ytUzSwnJt8vQid9dQ0zIZ3LwW6tPQUg1mzjpcyIucNg=; b=C0cywctj7bDXh5p+bPlahzLW8RySGmUTjiRPvzRQ46UMHzmyTbVijGvhTt/WGNYfoo 2PWueCpr66clsevui0+z7saWM5Y+jEZMB/yVe8sNNAaKaALyKQVuMrNsFiw+PIUI2NWk i2IBq/1y4/zj96XKKjlT2Vt0cE0CoSvlquo8Drbjf7seb++5ezD62F5Scj025QNCtjtm 6NTbvb9g9Fhq5yGooY8MJMhUX32sG5RYSH1d24cL9VInYaDDfKL2cNbCUkpF2Ht0T0k5 8kSlSVZXO4O5cyQH4FRTmZqmQlpB/CFvVCe8WDbo2G78qFv6jZSgzRgK3LNGKr6lYHSZ g4mA== X-Gm-Message-State: AKwxytc7AWV1/y100K/AOEELJOYPRnp/L9pjfHwu9V61B2rHO57dzuGw l7eSOZFTKzw8Rj/37RMyAqk= X-Received: by 2002:a17:902:5417:: with SMTP id d23-v6mr19996pli.330.1516401922801; Fri, 19 Jan 2018 14:45:22 -0800 (PST) Received: from f1.synalogic.ca (pdf86d7d5.tokynt01.ap.so-net.ne.jp. [223.134.215.213]) by smtp.gmail.com with ESMTPSA id p20sm7194767pfh.100.2018.01.19.14.45.19 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 19 Jan 2018 14:45:21 -0800 (PST) Date: Sat, 20 Jan 2018 07:45:17 +0900 From: Benjamin Poirier To: Alexander Duyck Cc: Shrikrishna Khare , Jeff Kirsher , Netdev , intel-wired-lan , linux-kernel@vger.kernel.org Subject: Re: [Intel-wired-lan] [RFC PATCH] e1000e: Remove Other from EIAC. Message-ID: <20180119224517.klugizz5n5zznryx@f1.synalogic.ca> References: <20180118065054.29844-1-bpoirier@suse.com> <20180119085952.u63kius4ud34lleq@f1.synalogic.ca> <20180119133648.s5nbm4gvby6c33av@f1.synalogic.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 On 2018/01/19 08:22, Alexander Duyck wrote: > On Fri, Jan 19, 2018 at 5:36 AM, Benjamin Poirier > wrote: > > On 2018/01/19 17:59, Benjamin Poirier wrote: > >> On 2018/01/18 07:51, Alexander Duyck wrote: > >> > On Wed, Jan 17, 2018 at 10:50 PM, Benjamin Poirier wrote: > >> > > It was reported that emulated e1000e devices in vmware esxi 6.5 Build > >> > > 7526125 do not link up after commit 4aea7a5c5e94 ("e1000e: Avoid receiver > >> > > overrun interrupt bursts", v4.15-rc1). Some tracing shows that after > >> > > e1000e_trigger_lsc() is called, ICR reads out as 0x0 in e1000_msix_other() > >> > > on emulated e1000e devices. In comparison, on real e1000e 82574 hardware, > >> > > icr=0x80000004 (_INT_ASSERTED | _OTHER) in the same situation. > >> > > >> > Isn't 0x80000004 (_INT_ASSERTED | _LSC)? The assumption I based my > >> > >> Yes. The numeric value is correct. I made a mistake when writing down > >> the flag names. > >> > >> > patch on was that the VMware code was sending _OTHER instead of _LSC > >> > to trigger LSC events. As such in my version of the workaround I just > >> > >> It's not so deterministic, sadly. In my tests, upon entry into > >> e1000_msix_other() after e1000e_trigger_lsc(), with no workaround patch > >> I've seen: > >> icr=0x0 > >> icr=0x3d > >> Reserved RXDMT0 Reserved LSC TXDW > >> icr=0x46 > >> RXO LSC TXQE > >> and someone else reported: > >> icr=0x3c > >> Reserved RXDMT0 Reserved LSC > >> > >> > went through and did the testing if the _RXO bit was set, otherwise I > >> > assumed that whatever event was received must have been meant to > >> > trigger an _LSC type event since that worked in the past. > > ^... > > > > Re-reading that part, my thoughts are that it worked in the past, before > > 16ecba59bc33 ("e1000e: Do not read ICR in Other interrupt", v4.5-rc1), > > because (presumably) Other was not set in EIAC. It worked after > > 16ecba59bc33 but before 4aea7a5c5e94 ("e1000e: Avoid receiver overrun > > interrupt bursts", v4.15-rc1) because e1000_msix_other() didn't read the > > value of icr. If it had, it would've found a bogus value, which is > > what's happening after 4aea7a5c5e94. I wonder if we're not just getting > > some uninitialized value from the emulation code... which makes me kind > > of uneasy about your approach of trying to make sense of the value. > > Maybe Shrikrishna can clarify where the icr value is coming from when > > Other is set in EIAC. > > For now I still say we let my current patch go as-is in order to > address the immediate issue. We can follow-up and do a more refined > version of things once we get the final word from VMware on how this > actually works. If nothing else the current patch appears to resolve > the currently reported issue and is already submitted. > > I'm of the mind that we need to cut down on the code thrash. This > driver is supposed to have been in a "maintenance" mode for the last > year or so as there aren't being any new parts added is my > understanding. As-is I don't see any reason why 16ecba59bc33 ("e1000e: > Do not read ICR in Other interrupt", v4.5-rc1) was submitted or > accepted in the first place. I don't see any notes about it fixing any > bug or addressing any issue and it seems like that is the start of all > the issues we have been having recently with RXO triggering more > interrupts, various link issues, and this most recent VMware issue. I'm sorry to say but you're the one who suggested that change: http://lkml.iu.edu/hypermail/linux/kernel/1510.3/03528.html On 2015/10/28 23:08, Alexander Duyck wrote: > On 10/22/2015 05:32 PM, Benjamin Poirier wrote: [...] > > I would argue your first patch probably didn't go far enough to remove dead > code. Specifically you should only ever get into this function if LSC is > set. There are no other causes that should trigger this. As such you could > probably remove the ICR read, and instead replace it with an ICR write of > the LSC bit since OTHER is already cleared via EIAC. >