linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next V4 0/5] vhost: accelerate metadata access through vmap()
@ 2019-01-23  9:55 Jason Wang
  2019-01-23  9:55 ` [PATCH net-next V4 1/5] vhost: generalize adding used elem Jason Wang
                   ` (6 more replies)
  0 siblings, 7 replies; 22+ messages in thread
From: Jason Wang @ 2019-01-23  9:55 UTC (permalink / raw)
  To: virtualization, netdev, linux-kernel, jasowang; +Cc: mst, kvm

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.

Test shows about 24% improvement on TX PPS. It should benefit other
cases as well.

Changes from V3:
- don't try to use vmap for file backed pages
- rebase to master
Changes from V2:
- fix buggy range overlapping check
- tear down MMU notifier during vhost ioctl to make sure invalidation
  request can read metadata userspace address and vq size without
  holding vq mutex.
Changes from V1:
- instead of pinning pages, use MMU notifier to invalidate vmaps and
  remap duing metadata prefetch
- fix build warning on MIPS

Jason Wang (5):
  vhost: generalize adding used elem
  vhost: fine grain userspace memory accessors
  vhost: rename vq_iotlb_prefetch() to vq_meta_prefetch()
  vhost: introduce helpers to get the size of metadata area
  vhost: access vq metadata through kernel virtual address

 drivers/vhost/net.c   |   4 +-
 drivers/vhost/vhost.c | 441 +++++++++++++++++++++++++++++++++++++-----
 drivers/vhost/vhost.h |  15 +-
 mm/shmem.c            |   1 +
 4 files changed, 410 insertions(+), 51 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2019-01-29  2:34 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-23  9:55 [PATCH net-next V4 0/5] vhost: accelerate metadata access through vmap() Jason Wang
2019-01-23  9:55 ` [PATCH net-next V4 1/5] vhost: generalize adding used elem Jason Wang
2019-01-23  9:55 ` [PATCH net-next V4 2/5] vhost: fine grain userspace memory accessors Jason Wang
2019-01-23  9:55 ` [PATCH net-next V4 3/5] vhost: rename vq_iotlb_prefetch() to vq_meta_prefetch() Jason Wang
2019-01-23  9:55 ` [PATCH net-next V4 4/5] vhost: introduce helpers to get the size of metadata area Jason Wang
2019-01-23  9:55 ` [PATCH net-next V4 5/5] vhost: access vq metadata through kernel virtual address Jason Wang
2019-01-23 14:08   ` Michael S. Tsirkin
2019-01-24  4:07     ` Jason Wang
2019-01-24  4:11       ` Jason Wang
2019-01-24  4:53         ` Michael S. Tsirkin
2019-01-25  2:33           ` Jason Wang
2019-01-24  4:51       ` Michael S. Tsirkin
2019-01-25  3:00       ` Michael S. Tsirkin
2019-01-25  9:16         ` Jason Wang
2019-01-25  3:03   ` Michael S. Tsirkin
2019-01-25  9:21     ` Jason Wang
2019-01-25  9:24     ` Jason Wang
2019-01-23 13:58 ` [PATCH net-next V4 0/5] vhost: accelerate metadata access through vmap() Michael S. Tsirkin
2019-01-23 17:24   ` David Miller
2019-01-26 22:37 ` David Miller
2019-01-27  0:31   ` Michael S. Tsirkin
2019-01-29  2:34     ` Jason Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).