Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752473AbdIKD17 (ORCPT ); Sun, 10 Sep 2017 23:27:59 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:36117 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752184AbdIKD14 (ORCPT ); Sun, 10 Sep 2017 23:27:56 -0400 X-Google-Smtp-Source: ADKCNb7Q/09UXq14XY7dSp5LLZw1DWSollgXPA0Y+pY7hTD5cSBOOb/3snf3r8hLmAb7K5Cs3QYtMA== Subject: Re: [RFC PATCH v5 0/5] vfio-pci: Add support for mmapping MSI-X table From: Alexey Kardashevskiy To: linuxppc-dev@lists.ozlabs.org Cc: David Gibson , kvm-ppc@vger.kernel.org, kvm@vger.kernel.org, Yongji Xie , Eric Auger , Kyle Mahlkuch , Alex Williamson , Jike Song , Bjorn Helgaas , Robin Murphy , Joerg Roedel , Arvind Yadav , Benjamin Herrenschmidt , David Woodhouse , Kirti Wankhede , Mauricio Faria de Oliveira , Neo Jia , Paul Mackerras , Vlad Tsyrklevich , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org References: <20170807072548.3023-1-aik@ozlabs.ru> <8f5f7b82-3c10-7f39-b587-db4c4424f04c@ozlabs.ru> <3be3fca3-7f66-0f13-b93a-d3db40a8a934@ozlabs.ru> <79581f70-a4c9-dac9-a671-4de7f55bd86e@ozlabs.ru> Message-ID: <3c8302eb-0485-809b-6052-a8ceacd119e7@ozlabs.ru> Date: Mon, 11 Sep 2017 13:27:46 +1000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <79581f70-a4c9-dac9-a671-4de7f55bd86e@ozlabs.ru> Content-Type: text/plain; charset=utf-8 Content-Language: en-AU Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3258 Lines: 106 On 29/08/17 12:58, Alexey Kardashevskiy wrote: > On 21/08/17 12:47, Alexey Kardashevskiy wrote: >> Folks, >> >> Ok, people did talk, exchanged ideas, lovely :) What happens now? Do I >> repost this or go back to PCI bus flags or something else? Thanks. > > > Anyone, any help? How do we proceed with this? Thanks. Ping, anyone? Or everybody is just waiting for the kvm forum to discuss it in person? Thanks. > > > >> >> >> >> On 14/08/17 19:45, Alexey Kardashevskiy wrote: >>> Folks, >>> >>> Is there anything to change besides those compiler errors and David's >>> comment in 5/5? Or the while patchset is too bad? Thanks. >>> >>> >>> >>> On 07/08/17 17:25, Alexey Kardashevskiy wrote: >>>> This is a followup for "[PATCH kernel v4 0/6] vfio-pci: Add support for mmapping MSI-X table" >>>> http://www.spinics.net/lists/kvm/msg152232.html >>>> >>>> This time it is using "caps" in IOMMU groups. The main question is if PCI >>>> bus flags or IOMMU domains are still better (and which one). >>> >>>> >>>> >>>> >>>> Here is some background: >>>> >>>> Current vfio-pci implementation disallows to mmap the page >>>> containing MSI-X table in case that users can write directly >>>> to MSI-X table and generate an incorrect MSIs. >>>> >>>> However, this will cause some performance issue when there >>>> are some critical device registers in the same page as the >>>> MSI-X table. We have to handle the mmio access to these >>>> registers in QEMU emulation rather than in guest. >>>> >>>> To solve this issue, this series allows to expose MSI-X table >>>> to userspace when hardware enables the capability of interrupt >>>> remapping which can ensure that a given PCI device can only >>>> shoot the MSIs assigned for it. And we introduce a new bus_flags >>>> PCI_BUS_FLAGS_MSI_REMAP to test this capability on PCI side >>>> for different archs. >>>> >>>> >>>> This is based on sha1 >>>> 26c5cebfdb6c "Merge branch 'parisc-4.13-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux" >>>> >>>> Please comment. Thanks. >>>> >>>> Changelog: >>>> >>>> v5: >>>> * redid the whole thing via so-called IOMMU group capabilities >>>> >>>> v4: >>>> * rebased on recent upstream >>>> * got all 6 patches from v2 (v3 was missing some) >>>> >>>> >>>> >>>> >>>> Alexey Kardashevskiy (5): >>>> iommu: Add capabilities to a group >>>> iommu: Set IOMMU_GROUP_CAP_ISOLATE_MSIX if MSI controller enables IRQ >>>> remapping >>>> iommu/intel/amd: Set IOMMU_GROUP_CAP_ISOLATE_MSIX if IRQ remapping is >>>> enabled >>>> powerpc/iommu: Set IOMMU_GROUP_CAP_ISOLATE_MSIX >>>> vfio-pci: Allow to expose MSI-X table to userspace when safe >>>> >>>> include/linux/iommu.h | 20 ++++++++++++++++++++ >>>> include/linux/vfio.h | 1 + >>>> arch/powerpc/kernel/iommu.c | 1 + >>>> drivers/iommu/amd_iommu.c | 3 +++ >>>> drivers/iommu/intel-iommu.c | 3 +++ >>>> drivers/iommu/iommu.c | 35 +++++++++++++++++++++++++++++++++++ >>>> drivers/vfio/pci/vfio_pci.c | 20 +++++++++++++++++--- >>>> drivers/vfio/pci/vfio_pci_rdwr.c | 5 ++++- >>>> drivers/vfio/vfio.c | 15 +++++++++++++++ >>>> 9 files changed, 99 insertions(+), 4 deletions(-) >>>> >>> >>> >> >> > > -- Alexey