Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1437999
| From | kys@exchange.microsoft.com |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 0/4] Drivers: hv: vmbus: Make in-place consumption always possible |
| Date | 2016-07-07 00:50 +0200 |
| Message-ID | <rS3NL-6PE-7@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
From: K. Y. Srinivasan <kys@microsoft.com>
Make in-place consumption of VMBus packets always possible. Currently we forbid
it when a packet 'wraps around' the ring so we can't provide a single
pointer to it.
The idea if this series is dead simple: let's make a single virtual mapping
for two copies (actually, two sets of pages which consist the ring buffer)
of the ring buffer. With such a mapping we can always provide a pointers
for in-place consumption to drivers. Copy path can also benefit from such
mappings as we eliminate the need for conditional checking in copy_to/
copy_from functions and use a single memcpy().
Vitaly Kuznetsov (4):
Drivers: hv: cleanup vmbus_open() for wrap around mappings
Drivers: hv: ring_buffer: wrap around mappings for ring buffers
Drivers: hv: ring_buffer: use wrap around mappings in
hv_copy{from,to}_ringbuffer()
Drivers: hv: ring_buffer: count on wrap around mappings in
get_next_pkt_raw()
drivers/hv/channel.c | 68 +++++++++++++++++++++++----------------------
drivers/hv/hyperv_vmbus.h | 4 +-
drivers/hv/ring_buffer.c | 61 +++++++++++++++++++++++-----------------
include/linux/hyperv.h | 32 +++++++--------------
4 files changed, 83 insertions(+), 82 deletions(-)
--
1.7.4.1
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH 0/4] Drivers: hv: vmbus: Make in-place consumption always possible kys@exchange.microsoft.com - 2016-07-07 00:50 +0200 [PATCH 1/4] Drivers: hv: cleanup vmbus_open() for wrap around mappings kys@exchange.microsoft.com - 2016-07-07 00:50 +0200
csiph-web