aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hv
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2012-12-01 09:46:33 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-17 13:46:39 -0500
commit132368bd0b286457f83f56d0bbdecd85999562dc (patch)
treee16a4f6130d475d1f44270c088e446306b3e8355 /drivers/hv
parent6fdf3b21433e901dcba0ac186f00d604ce944f56 (diff)
Drivers: hv: Add state to manage batched reading
For the "read" side signaling optimization, the reader has to completely drain the queue before exiting. Add state to manage this "batched" reading. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv')
-rw-r--r--drivers/hv/channel_mgmt.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 2f84c5cff8d4..7bf59177aaf8 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -275,6 +275,13 @@ static void vmbus_onoffer(struct vmbus_channel_message_header *hdr)
275 return; 275 return;
276 } 276 }
277 277
278 /*
279 * By default we setup state to enable batched
280 * reading. A specific service can choose to
281 * disable this prior to opening the channel.
282 */
283 newchannel->batched_reading = true;
284
278 memcpy(&newchannel->offermsg, offer, 285 memcpy(&newchannel->offermsg, offer,
279 sizeof(struct vmbus_channel_offer_channel)); 286 sizeof(struct vmbus_channel_offer_channel));
280 newchannel->monitor_grp = (u8)offer->monitorid / 32; 287 newchannel->monitor_grp = (u8)offer->monitorid / 32;