Thread (31 messages) 31 messages, 4 authors, 2021-09-30

RE: [PATCH V5 12/12] net: netvsc: Add Isolation VM support for netvsc driver

From: Haiyang Zhang <haiyangz@microsoft.com>
Date: 2021-09-14 15:49:54
Also in: linux-arch, linux-iommu, linux-scsi, lkml, netdev, xen-devel

-----Original Message-----
From: Tianyu Lan <redacted>
Sent: Tuesday, September 14, 2021 9:39 AM
To: KY Srinivasan <kys@microsoft.com>; Haiyang Zhang
[off-list ref]; Stephen Hemminger [off-list ref];
wei.liu@kernel.org; Dexuan Cui [off-list ref]; tglx@linutronix.de;
mingo@redhat.com; bp@alien8.de; x86@kernel.org; hpa@zytor.com;
dave.hansen@linux.intel.com; luto@kernel.org; peterz@infradead.org;
konrad.wilk@oracle.com; boris.ostrovsky@oracle.com; jgross@suse.com;
sstabellini@kernel.org; joro@8bytes.org; will@kernel.org;
davem@davemloft.net; kuba@kernel.org; jejb@linux.ibm.com;
martin.petersen@oracle.com; gregkh@linuxfoundation.org; arnd@arndb.de;
hch@lst.de; m.szyprowski@samsung.com; robin.murphy@arm.com;
brijesh.singh@amd.com; Tianyu Lan [off-list ref];
thomas.lendacky@amd.com; pgonda@google.com; akpm@linux-foundation.org;
kirill.shutemov@linux.intel.com; rppt@kernel.org; sfr@canb.auug.org.au;
aneesh.kumar@linux.ibm.com; saravanand@fb.com;
krish.sadhukhan@oracle.com; xen-devel@lists.xenproject.org;
tj@kernel.org; rientjes@google.com; Michael Kelley
[off-list ref]
Cc: iommu@lists.linux-foundation.org; linux-arch@vger.kernel.org; linux-
hyperv@vger.kernel.org; linux-kernel@vger.kernel.org; linux-
scsi@vger.kernel.org; netdev@vger.kernel.org; vkuznets
[off-list ref]; parri.andrea@gmail.com; dave.hansen@intel.com
Subject: [PATCH V5 12/12] net: netvsc: Add Isolation VM support for
netvsc driver

From: Tianyu Lan <redacted>

In Isolation VM, all shared memory with host needs to mark visible
to host via hvcall. vmbus_establish_gpadl() has already done it for
netvsc rx/tx ring buffer. The page buffer used by vmbus_sendpacket_
pagebuffer() stills need to be handled. Use DMA API to map/umap
these memory during sending/receiving packet and Hyper-V swiotlb
bounce buffer dma address will be returned. The swiotlb bounce buffer
has been masked to be visible to host during boot up.

Allocate rx/tx ring buffer via alloc_pages() in Isolation VM and map
these pages via vmap(). After calling vmbus_establish_gpadl() which
marks these pages visible to host, unmap these pages to release the
virtual address mapped with physical address below shared_gpa_boundary
and map them in the extra address space via vmap_pfn().

Signed-off-by: Tianyu Lan <redacted>
---
Change since v4:
	* Allocate rx/tx ring buffer via alloc_pages() in Isolation VM
	* Map pages after calling vmbus_establish_gpadl().
	* set dma_set_min_align_mask for netvsc driver.

Change since v3:
	* Add comment to explain why not to use dma_map_sg()
	* Fix some error handle.
---
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>

Thank you!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help