All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Drivers: hv: vmbus: Make in-place consumption always possible
@ 2016-07-07  0:24 kys
  2016-07-07  0:25 ` [PATCH 1/4] Drivers: hv: cleanup vmbus_open() for wrap around mappings kys
  0 siblings, 1 reply; 8+ messages in thread
From: kys @ 2016-07-07  0:24 UTC (permalink / raw)
  To: gregkh, linux-kernel, devel, olaf, apw, vkuznets, jasowang,
	leann.ogasawara
  Cc: K. Y. Srinivasan

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

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH 0/4] Drivers: hv: ring_buffer: make in-place consumption always possible
@ 2016-06-10  9:47 Vitaly Kuznetsov
  2016-06-10  9:47 ` [PATCH 1/4] Drivers: hv: cleanup vmbus_open() for wrap around mappings Vitaly Kuznetsov
  0 siblings, 1 reply; 8+ messages in thread
From: Vitaly Kuznetsov @ 2016-06-10  9:47 UTC (permalink / raw)
  To: devel; +Cc: linux-kernel, K. Y. Srinivasan, Haiyang Zhang

K. Y.,

I'd like to accompany your netvsc performance improvement work by making
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().

Lightly tested with 'netvsc: Use the new in-place consumption APIs in the
rx path' patch and with storvsc driver.

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(-)

-- 
2.5.5

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

end of thread, other threads:[~2016-08-31 18:11 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-07  0:24 [PATCH 0/4] Drivers: hv: vmbus: Make in-place consumption always possible kys
2016-07-07  0:25 ` [PATCH 1/4] Drivers: hv: cleanup vmbus_open() for wrap around mappings kys
2016-07-07  0:25   ` [PATCH 2/4] Drivers: hv: ring_buffer: wrap around mappings for ring buffers kys
2016-07-07  0:25   ` [PATCH 3/4] Drivers: hv: ring_buffer: use wrap around mappings in hv_copy{from,to}_ringbuffer() kys
2016-07-07  0:25   ` [PATCH 4/4] Drivers: hv: ring_buffer: count on wrap around mappings in get_next_pkt_raw() kys
2016-08-31 10:42   ` [PATCH 1/4] Drivers: hv: cleanup vmbus_open() for wrap around mappings Greg KH
2016-08-31 17:55     ` KY Srinivasan
  -- strict thread matches above, loose matches on Subject: below --
2016-06-10  9:47 [PATCH 0/4] Drivers: hv: ring_buffer: make in-place consumption always possible Vitaly Kuznetsov
2016-06-10  9:47 ` [PATCH 1/4] Drivers: hv: cleanup vmbus_open() for wrap around mappings Vitaly Kuznetsov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.