[RFC PATCH v2 04/12] x86/mm/tlb: Flush remote and local TLBs concurrently

2019-05-30 Thread Nadav Amit via Virtualization
To improve TLB shootdown performance, flush the remote and local TLBs concurrently. Introduce flush_tlb_multi() that does so. The current flush_tlb_others() interface is kept, since paravirtual interfaces need to be adapted first before it can be removed. This is left for future work. In such PV en

Re: [PATCH 22/22] docs: fix broken documentation links

2019-05-30 Thread Michael S. Tsirkin
On Thu, May 30, 2019 at 10:17:32PM +0200, Federico Vaga wrote: > On Thursday, May 30, 2019 1:23:53 AM CEST Mauro Carvalho Chehab wrote: > > Mostly due to x86 and acpi conversion, several documentation > > links are still pointing to the old file. Fix them. > > For the Italian documentation I just

Re: [PATCH net-next 0/6] vhost: accelerate metadata access

2019-05-30 Thread David Miller
From: "Michael S. Tsirkin" Date: Thu, 30 May 2019 14:13:28 -0400 > On Thu, May 30, 2019 at 11:07:30AM -0700, David Miller wrote: >> From: Jason Wang >> Date: Fri, 24 May 2019 04:12:12 -0400 >> >> > This series tries to access virtqueue metadata through kernel virtual >> > address instead of cop

Re: [PATCH net-next 0/6] vhost: accelerate metadata access

2019-05-30 Thread Michael S. Tsirkin
On Thu, May 30, 2019 at 11:07:30AM -0700, David Miller wrote: > From: Jason Wang > Date: Fri, 24 May 2019 04:12:12 -0400 > > > This series tries to access virtqueue metadata through kernel virtual > > address instead of copy_user() friends since they had too much > > overheads like checks, spec b

Re: [PATCH net-next 0/6] vhost: accelerate metadata access

2019-05-30 Thread David Miller
From: Jason Wang Date: Fri, 24 May 2019 04:12:12 -0400 > This series tries to access virtqueue metadata through kernel virtual > address instead of copy_user() friends since they had too much > overheads like checks, spec barriers or even hardware feature > toggling like SMAP. This is done throug

Re: [PATCH v8 2/7] dt-bindings: virtio: Add virtio-pci-iommu node

2019-05-30 Thread Michael S. Tsirkin
On Thu, May 30, 2019 at 06:09:24PM +0100, Jean-Philippe Brucker wrote: > Some systems implement virtio-iommu as a PCI endpoint. The operating > system needs to discover the relationship between IOMMU and masters long > before the PCI endpoint gets probed. Add a PCI child node to describe the > virt

[PATCH v8 7/7] iommu/virtio: Add event queue

2019-05-30 Thread Jean-Philippe Brucker
The event queue offers a way for the device to report access faults from endpoints. It is implemented on virtqueue #1. Whenever the host needs to signal a fault, it fills one of the buffers offered by the guest and interrupts it. Acked-by: Joerg Roedel Reviewed-by: Eric Auger Signed-off-by: Jean

[PATCH v8 6/7] iommu/virtio: Add probe request

2019-05-30 Thread Jean-Philippe Brucker
When the device offers the probe feature, send a probe request for each device managed by the IOMMU. Extract RESV_MEM information. When we encounter a MSI doorbell region, set it up as a IOMMU_RESV_MSI region. This will tell other subsystems that there is no need to map the MSI doorbell in the virt

[PATCH v8 5/7] iommu: Add virtio-iommu driver

2019-05-30 Thread Jean-Philippe Brucker
The virtio IOMMU is a para-virtualized device, allowing to send IOMMU requests such as map/unmap over virtio transport without emulating page tables. This implementation handles ATTACH, DETACH, MAP and UNMAP requests. The bulk of the code transforms calls coming from the IOMMU API into correspondi

[PATCH v8 4/7] PCI: OF: Initialize dev->fwnode appropriately

2019-05-30 Thread Jean-Philippe Brucker
For PCI devices that have an OF node, set the fwnode as well. This way drivers that rely on fwnode don't need the special case described by commit f94277af03ea ("of/platform: Initialise dev->fwnode appropriately"). Acked-by: Bjorn Helgaas Signed-off-by: Jean-Philippe Brucker --- drivers/pci/of.

[PATCH v8 3/7] of: Allow the iommu-map property to omit untranslated devices

2019-05-30 Thread Jean-Philippe Brucker
In PCI root complex nodes, the iommu-map property describes the IOMMU that translates each endpoint. On some platforms, the IOMMU itself is presented as a PCI endpoint (e.g. AMD IOMMU and virtio-iommu). This isn't supported by the current OF driver, which expects all endpoints to have an IOMMU. All

[PATCH v8 2/7] dt-bindings: virtio: Add virtio-pci-iommu node

2019-05-30 Thread Jean-Philippe Brucker
Some systems implement virtio-iommu as a PCI endpoint. The operating system needs to discover the relationship between IOMMU and masters long before the PCI endpoint gets probed. Add a PCI child node to describe the virtio-iommu device. The virtio-pci-iommu is conceptually split between a PCI prog

[PATCH v8 1/7] dt-bindings: virtio-mmio: Add IOMMU description

2019-05-30 Thread Jean-Philippe Brucker
The nature of a virtio-mmio node is discovered by the virtio driver at probe time. However the DMA relation between devices must be described statically. When a virtio-mmio node is a virtio-iommu device, it needs an "#iommu-cells" property as specified by bindings/iommu/iommu.txt. Otherwise, the v

[PATCH v8 0/7] Add virtio-iommu driver

2019-05-30 Thread Jean-Philippe Brucker
Implement the virtio-iommu driver, following specification v0.12 [1]. Since last version [2] we've worked on improving the specification, which resulted in the following changes to the interface: * Remove the EXEC flag. * Add feature bit for the MMIO flag. * Change domain_bits to domain_range. Giv

Re: [PATCH 3/4] vsock/virtio: fix flush of works during the .remove()

2019-05-30 Thread Jason Wang
On 2019/5/30 下午6:10, Stefano Garzarella wrote: On Thu, May 30, 2019 at 05:46:18PM +0800, Jason Wang wrote: On 2019/5/29 下午6:58, Stefano Garzarella wrote: On Wed, May 29, 2019 at 11:22:40AM +0800, Jason Wang wrote: On 2019/5/28 下午6:56, Stefano Garzarella wrote: We flush all pending works befo

Re: [PATCH 1/4] vsock/virtio: fix locking around 'the_virtio_vsock'

2019-05-30 Thread Stefano Garzarella
On Wed, May 29, 2019 at 09:28:52PM -0700, David Miller wrote: > From: Stefano Garzarella > Date: Tue, 28 May 2019 12:56:20 +0200 > > > @@ -68,7 +68,13 @@ struct virtio_vsock { > > > > static struct virtio_vsock *virtio_vsock_get(void) > > { > > - return the_virtio_vsock; > > + struct virt

Re: [PATCH 3/4] vsock/virtio: fix flush of works during the .remove()

2019-05-30 Thread Stefano Garzarella
On Thu, May 30, 2019 at 05:46:18PM +0800, Jason Wang wrote: > > On 2019/5/29 下午6:58, Stefano Garzarella wrote: > > On Wed, May 29, 2019 at 11:22:40AM +0800, Jason Wang wrote: > > > On 2019/5/28 下午6:56, Stefano Garzarella wrote: > > > > We flush all pending works before to call vdev->config->reset(

Re: [PATCH 3/4] vsock/virtio: fix flush of works during the .remove()

2019-05-30 Thread Jason Wang
On 2019/5/29 下午6:58, Stefano Garzarella wrote: On Wed, May 29, 2019 at 11:22:40AM +0800, Jason Wang wrote: On 2019/5/28 下午6:56, Stefano Garzarella wrote: We flush all pending works before to call vdev->config->reset(vdev), but other works can be queued before the vdev->config->del_vqs(vdev), s

Re: [PATCH 22/22] docs: fix broken documentation links

2019-05-30 Thread Wolfram Sang
On Wed, May 29, 2019 at 08:23:53PM -0300, Mauro Carvalho Chehab wrote: > Mostly due to x86 and acpi conversion, several documentation > links are still pointing to the old file. Fix them. > > Signed-off-by: Mauro Carvalho Chehab Didn't I ack this already? For the I2C part: Reviewed-by: Wolfram