All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/28] Drivers: hv: Update the Vmbus protocol
@ 2012-12-01 14:46 K. Y. Srinivasan
  2012-12-01 14:46 ` [PATCH 01/28] Drivers: hv: Implement routines for read side signaling optimization K. Y. Srinivasan
  2013-01-17 19:42 ` [PATCH 00/28] Drivers: hv: Update the Vmbus protocol Greg KH
  0 siblings, 2 replies; 32+ messages in thread
From: K. Y. Srinivasan @ 2012-12-01 14:46 UTC (permalink / raw)
  To: gregkh, linux-kernel, devel, olaf, apw, jasowang; +Cc: K. Y. Srinivasan

The current vmbus protocol supported in the vmbus driver for Linux is
a version of the protocol that shipped with Windows Server 2008. Since
then a lot of enhancements have been made in the protocol to
specifically address performance and scalability of the communication
infrastructure between the host and the guest.
This patch-set brings our driver to the Win8 (Windows Server 2012) level.
Furthermore, this code will dynamically negotiate the most efficient
protocol that the host can support - the same code can be deployed on all
supported hosts (WS2008, WS2008R2 and WS2012).
Following are some of the key features implemented in this patch-set:
	
	1. More efficient signaling protocol between the host and the guest
	2. Distribution of interrupt load across available CPUs in the guest;
	   currently all vmbus interrupts are delivered to the boot CPU (CPU 0)
	   in the guest.
	3. Per- channel interrupt binding (as part of item 2)
	4. More efficient demultiplexing of incoming interrupts
	5. Per-channel signaling mechanism for host to guest communication


K. Y. Srinivasan (28):
  Drivers: hv: Implement routines for read side signaling optimization
  Drivers: hv: Add state to manage batched reading
  Drivers: hv: Turn off batched reading for util drivers
  Drivers: hv: Optimize signaling in the read path
  Drivers: hv: Optimize the signaling on the write path
  Drivers: hv: Get rid of hv_get_ringbuffer_interrupt_mask()
  Drivers: hv: Support handling multiple VMBUS versions
  Drivers: hv: Update the ring buffer structure to match win8
    functionality
  Drivers: hv: Extend/modify vmbus_channel_offer_channel for win7 and
    beyond
  Drivers: hv: Save and export negotiated vmbus version
  Drivers: hv: Change the signature for hv_signal_event()
  Drivers: hv: Change the signature of vmbus_set_event()
  Drivers: hv: Move vmbus version definitions to hyperv.h
  Drivers: hv: Manage signaling state on a per-connection basis
  Drivers: hv: Cleanup vmbus_set_event() to support win7 and beyond
  Drivers: hv: Setup a mapping for Hyper-V's notion cpu ID
  Drivers: hv: Add state to manage incoming channel interrupt load
  Drivers: hv: Modify the interrupt handling code to support win8 and
    beyond
  Drivers: hv: Add code to distribute channel interrupt load
  Drivers: hv: Get rid of the unused global signaling state
  Drivers: hv: Get rid of unnecessary request for offers
  Drivers: hv: Manage event tasklets on per-cpu basis
  Drivers: hv: Handle vmbus interrupts concurrently on all cpus
  Drivers: hv: Add a check to deal with spurious interrupts
  Drivers: hv: Enable protocol negotiation with win8 hosts
  Drivers: hv: Implement flow management on the send side
  Drivers: hv: Capture the host build information
  Drivers: hv: Cleanup and consolidate reporting of build/version info

 drivers/hv/channel.c      |   31 ++++--
 drivers/hv/channel_mgmt.c |  112 ++++++++++++++++++++++
 drivers/hv/connection.c   |  232 ++++++++++++++++++++++++++++++++-------------
 drivers/hv/hv.c           |   72 +++++++-------
 drivers/hv/hv_util.c      |   10 ++
 drivers/hv/hyperv_vmbus.h |   65 ++++++-------
 drivers/hv/ring_buffer.c  |  130 ++++++++++++++++++++++----
 drivers/hv/vmbus_drv.c    |   54 +++++++++--
 include/linux/hyperv.h    |  154 ++++++++++++++++++++++++++----
 9 files changed, 671 insertions(+), 189 deletions(-)

-- 
1.7.4.1


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

end of thread, other threads:[~2013-01-17 21:31 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-01 14:46 [PATCH 00/28] Drivers: hv: Update the Vmbus protocol K. Y. Srinivasan
2012-12-01 14:46 ` [PATCH 01/28] Drivers: hv: Implement routines for read side signaling optimization K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 02/28] Drivers: hv: Add state to manage batched reading K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 03/28] Drivers: hv: Turn off batched reading for util drivers K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 04/28] Drivers: hv: Optimize signaling in the read path K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 05/28] Drivers: hv: Optimize the signaling on the write path K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 06/28] Drivers: hv: Get rid of hv_get_ringbuffer_interrupt_mask() K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 07/28] Drivers: hv: Support handling multiple VMBUS versions K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 08/28] Drivers: hv: Update the ring buffer structure to match win8 functionality K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 09/28] Drivers: hv: Extend/modify vmbus_channel_offer_channel for win7 and beyond K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 10/28] Drivers: hv: Save and export negotiated vmbus version K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 11/28] Drivers: hv: Change the signature for hv_signal_event() K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 12/28] Drivers: hv: Change the signature of vmbus_set_event() K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 13/28] Drivers: hv: Move vmbus version definitions to hyperv.h K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 14/28] Drivers: hv: Manage signaling state on a per-connection basis K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 15/28] Drivers: hv: Cleanup vmbus_set_event() to support win7 and beyond K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 16/28] Drivers: hv: Setup a mapping for Hyper-V's notion cpu ID K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 17/28] Drivers: hv: Add state to manage incoming channel interrupt load K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 18/28] Drivers: hv: Modify the interrupt handling code to support win8 and beyond K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 19/28] Drivers: hv: Add code to distribute channel interrupt load K. Y. Srinivasan
2013-01-17 19:38     ` Greg KH
2013-01-17 21:28       ` KY Srinivasan
2012-12-01 14:46   ` [PATCH 20/28] Drivers: hv: Get rid of the unused global signaling state K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 21/28] Drivers: hv: Get rid of unnecessary request for offers K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 22/28] Drivers: hv: Manage event tasklets on per-cpu basis K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 23/28] Drivers: hv: Handle vmbus interrupts concurrently on all cpus K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 24/28] Drivers: hv: Add a check to deal with spurious interrupts K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 25/28] Drivers: hv: Enable protocol negotiation with win8 hosts K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 26/28] Drivers: hv: Implement flow management on the send side K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 27/28] Drivers: hv: Capture the host build information K. Y. Srinivasan
2012-12-01 14:46   ` [PATCH 28/28] Drivers: hv: Cleanup and consolidate reporting of build/version info K. Y. Srinivasan
2013-01-17 19:42 ` [PATCH 00/28] Drivers: hv: Update the Vmbus protocol Greg KH

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.