From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Burakov, Anatoly" Subject: Re: [PATCH v5] vfio: fix workaround of BAR mapping Date: Mon, 30 Jul 2018 09:51:45 +0100 Message-ID: References: <20180712030833.4887-1-t.yoshimura8869@gmail.com> <20180720081347.6123-1-t.yoshimura8869@gmail.com> <30652783.zuAJVELDdt@xps> <20180729084457.GA8905@jerin> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Takeshi Yoshimura , dev@dpdk.org To: Jerin Jacob , Thomas Monjalon Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 1AEBA4C97 for ; Mon, 30 Jul 2018 10:52:02 +0200 (CEST) In-Reply-To: <20180729084457.GA8905@jerin> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 29-Jul-18 9:44 AM, Jerin Jacob wrote: > -----Original Message----- >> Date: Thu, 26 Jul 2018 11:35:43 +0200 >> From: Thomas Monjalon >> To: Takeshi Yoshimura >> Cc: dev@dpdk.org, Anatoly Burakov >> Subject: Re: [dpdk-dev] [PATCH v5] vfio: fix workaround of BAR mapping >> >> >> 20/07/2018 10:13, Takeshi Yoshimura: >>> Currently, VFIO will try to map around MSI-X table in the BARs. When >>> MSI-X table (page-aligned) size is equal to (page-aligned) size of BAR, >>> VFIO will just skip the BAR. >>> >>> Recent kernel versions will allow VFIO to map the entire BAR containing >>> MSI-X tables (*), so instead of trying to map around the MSI-X vector >>> or skipping the BAR entirely if it's not possible, we can now try >>> mapping the entire BAR first. If mapping the entire BAR doesn't >>> succeed, fall back to the old behavior of mapping around MSI-X table or >>> skipping the BAR. >>> >>> (*): "vfio-pci: Allow mapping MSIX BAR", >>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ >>> commit/?id=a32295c612c57990d17fb0f41e7134394b2f35f6 >>> >>> Fixes: 90a1633b2347 ("eal/linux: allow to map BARs with MSI-X tables") >>> >>> Signed-off-by: Takeshi Yoshimura >>> Reviewed-by: Anatoly Burakov > > > This change set breaks thunderx/octeontx platform with following error.(Tested with 4.9.0 kernel) > > EAL: probe driver: 177d:a034 net_thunderx > EAL: using IOMMU type 1 (Type 1) > EAL: pci_map_resource(): cannot mmap(44, 0xffff60200000, 0x200000, 0x40000000000): Invalid argument (0xffffffffffffffff) > EAL: PCI device 0001:01:00.2 on NUMA socket 0 > EAL: probe driver: 177d:a034 net_thunderx > EAL: pci_map_resource(): cannot mmap(47, 0xffff60600000, 0x200000, 0x40000000000): Invalid argument (0xffffffffffffffff) > > According Linux kernel change, user space application suppose to use VFIO_REGION_INFO_CAP_MSIX_MAPPABLE > capability to detect this feature to work < 4.15 kernel. Right? if so, Why we > are doing this retry based logic? I don't think anything's broken there - just a gratuitous error message. But yes, i seem to have missed the region info flag. It was my suggestion to use the retry logic. I'll submit a patch fixing this. > > > > > >> >> Applied, thanks >> >> >> > -- Thanks, Anatoly