aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/hyperv.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/hyperv.h')
-rw-r--r--include/linux/hyperv.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index e73b852156b1..1ffe84de6c55 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -882,8 +882,28 @@ struct vmbus_channel {
882 882
883 void (*onchannel_callback)(void *context); 883 void (*onchannel_callback)(void *context);
884 void *channel_callback_context; 884 void *channel_callback_context;
885
886 /*
887 * A channel can be marked for efficient (batched)
888 * reading:
889 * If batched_reading is set to "true", we read until the
890 * channel is empty and hold off interrupts from the host
891 * during the entire read process.
892 * If batched_reading is set to "false", the client is not
893 * going to perform batched reading.
894 *
895 * By default we will enable batched reading; specific
896 * drivers that don't want this behavior can turn it off.
897 */
898
899 bool batched_reading;
885}; 900};
886 901
902static inline void set_channel_read_state(struct vmbus_channel *c, bool state)
903{
904 c->batched_reading = state;
905}
906
887void vmbus_onmessage(void *context); 907void vmbus_onmessage(void *context);
888 908
889int vmbus_request_offers(void); 909int vmbus_request_offers(void);