vmbus: add direct isr callback mode

Change the simple boolean batched_reading into a tri-value.
For future NAPI support in netvsc driver, the callback needs to
occur directly in interrupt handler.

Batched mode is also changed to disable host interrupts immediately
in interrupt routine (to avoid unnecessary host signals), and the
tasklet is rescheduled if more data is detected.

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Stephen Hemminger
2017-02-11 23:02:21 -07:00
committed by Greg Kroah-Hartman
parent 631e63a9f3
commit b71e328297
6 changed files with 55 additions and 41 deletions

View File

@@ -125,7 +125,7 @@ hv_uio_probe(struct hv_device *dev,
goto fail;
dev->channel->inbound.ring_buffer->interrupt_mask = 1;
dev->channel->batched_reading = false;
set_channel_read_mode(dev->channel, HV_CALL_DIRECT);
/* Fill general uio info */
pdata->info.name = "uio_hv_generic";