[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <569F5636.30701@linux.vnet.ibm.com>
Date: Wed, 20 Jan 2016 17:41:10 +0800
From: Yongji Xie <xyjxie@...ux.vnet.ibm.com>
To: David Laight <David.Laight@...LAB.COM>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>
Cc: "nikunj@...ux.vnet.ibm.com" <nikunj@...ux.vnet.ibm.com>,
"zhong@...ux.vnet.ibm.com" <zhong@...ux.vnet.ibm.com>,
"corbet@....net" <corbet@....net>, "aik@...abs.ru" <aik@...abs.ru>,
"warrier@...ux.vnet.ibm.com" <warrier@...ux.vnet.ibm.com>,
"alex.williamson@...hat.com" <alex.williamson@...hat.com>,
"paulus@...ba.org" <paulus@...ba.org>,
"bhelgaas@...gle.com" <bhelgaas@...gle.com>
Subject: Re: [RFC PATCH v3 3/5] PCI: Add host bridge attribute to indicate
filtering of MSIs is supported
On 2016/1/16 1:24, David Laight wrote:
> From: Yongji Xie
>> Sent: 15 January 2016 07:06
>>
>> MSI-X tables are not allowed to be mmapped in vfio-pci
>> driver in case that user get to touch this directly.
>> This will cause some performance issues when when PCI
>> adapters have critical registers in the same page as
>> the MSI-X table.
> ...
> If the driver wants to generate an incorrect MSI-X interrupt
> it can do so by requesting the device do a normal memory transfer
> to the target address area that raises MSI-X interrupts.
IOMMUs supporting interrupt remapping can prevent this case.
> So disabling writes to the MSI-X table (and pending bit array)
> areas only raises the bar very slightly.
> A device may also give the driver write access to the MSI-X
> table through other addresses.
>
> This seems to make disallowing the mapping of the MSI-X table
> rather pointless.
If we allow the mapping of the MSI-X table, it seems the guest
kernels of some architectures can write invalid data to MSI-X table
when device drivers initialize MSI-X interrupts.
Regards,
Yongji Xie
> I've also dumped out the MSI-X table (during development) to
> check that the values are being written there correctly.
>
> David
>
Powered by blists - more mailing lists