From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F3492A0C4C; Tue, 30 Nov 2021 14:42:54 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8B99C4113C; Tue, 30 Nov 2021 14:42:54 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 090B6410F7 for ; Tue, 30 Nov 2021 14:42:52 +0100 (CET) X-IronPort-AV: E=McAfee;i="6200,9189,10183"; a="322458624" X-IronPort-AV: E=Sophos;i="5.87,276,1631602800"; d="scan'208";a="322458624" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Nov 2021 05:42:50 -0800 X-IronPort-AV: E=Sophos;i="5.87,276,1631602800"; d="scan'208";a="499770736" Received: from bricha3-mobl.ger.corp.intel.com ([10.252.13.37]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 30 Nov 2021 05:42:49 -0800 Date: Tue, 30 Nov 2021 13:42:46 +0000 From: Bruce Richardson To: Lewis Donzis Cc: dev , yongwang@vmware.com Subject: Re: vmxnet3 no longer functional on DPDK 21.11 Message-ID: References: <2134779104.413217.1638218715124.JavaMail.zimbra@donzis.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2134779104.413217.1638218715124.JavaMail.zimbra@donzis.com> X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Mon, Nov 29, 2021 at 02:45:15PM -0600, Lewis Donzis wrote: > Hello. > We just upgraded from 21.08 to 21.11 and it's rather astounding the > number of incompatible changes in three months. Not a big deal, just > kind of a surprise, that's all. > Anyway, the problem is that the vmxnet3 driver is no longer functional > on FreeBSD. > In drivers/net/vmxnet3/vmxnet3_ethdev.c, vmxnet3_dev_start() gets an > error calling rte_intr_enable(). So it logs "interrupt enable failed" > and returns an error. > In lib/eal/freebsd/eal_interrupts.c, rte_intr_enable() is returning an > error because rte_intr_dev_fd_get(intr_handle) is returning -1. > I don't see how that could ever return anything other than -1 since it > appears that there is no code that ever calls rte_intr_dev_fd_set() > with a value other than -1 on FreeBSD. Also weird to me is that even > if it didn't get an error, the switch statement that follows looks like > it will return an error in every case. > Nonetheless, it worked in 21.08, and I can't quite see why the > difference, so I must be missing something. > For the moment, I just commented the "return -EIO" in vmxnet3_ethdev.c, > and it's now working again, but that's obviously not the correct > solution. > Can someone who's knowledgable about this mechanism perhaps explain a > little bit about what's going on? I'll be happy to help troubleshoot. > It seems like it must be something simple, but I just don't see it yet. Hi if you have the chance, it would be useful if you could use "git bisect" to identify the commit in 21.11 that broke this driver. Looking through the logs for 21.11 I can't identify any particular likely-looking commit, so bisect is likely a good way to start looking into this. Regards, /Bruce