diff options
Diffstat (limited to 'include/linux/hyperv.h')
-rw-r--r-- | include/linux/hyperv.h | 20 |
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 | ||
902 | static inline void set_channel_read_state(struct vmbus_channel *c, bool state) | ||
903 | { | ||
904 | c->batched_reading = state; | ||
905 | } | ||
906 | |||
887 | void vmbus_onmessage(void *context); | 907 | void vmbus_onmessage(void *context); |
888 | 908 | ||
889 | int vmbus_request_offers(void); | 909 | int vmbus_request_offers(void); |