mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-20 05:43:09 +00:00
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>
This commit is contained in:
parent
6fdf3b2143
commit
132368bd0b
2 changed files with 27 additions and 0 deletions
|
@ -882,8 +882,28 @@ struct vmbus_channel {
|
|||
|
||||
void (*onchannel_callback)(void *context);
|
||||
void *channel_callback_context;
|
||||
|
||||
/*
|
||||
* A channel can be marked for efficient (batched)
|
||||
* reading:
|
||||
* If batched_reading is set to "true", we read until the
|
||||
* channel is empty and hold off interrupts from the host
|
||||
* during the entire read process.
|
||||
* If batched_reading is set to "false", the client is not
|
||||
* going to perform batched reading.
|
||||
*
|
||||
* By default we will enable batched reading; specific
|
||||
* drivers that don't want this behavior can turn it off.
|
||||
*/
|
||||
|
||||
bool batched_reading;
|
||||
};
|
||||
|
||||
static inline void set_channel_read_state(struct vmbus_channel *c, bool state)
|
||||
{
|
||||
c->batched_reading = state;
|
||||
}
|
||||
|
||||
void vmbus_onmessage(void *context);
|
||||
|
||||
int vmbus_request_offers(void);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue