[PATCH V2 1/1] Drivers: hv: vmbus: Enable interrupt driven flow control

Amos Kong kongjianjun at gmail.com
Sun Sep 7 11:43:45 UTC 2014


On Sat, Sep 6, 2014 at 8:29 AM, K. Y. Srinivasan <kys at microsoft.com> wrote:
>
> In win8 we have a feature that allows for interrupt driven flow management
> for host/guest communication. For instance, if the host were blocked because
> there was no space available in the ringbuffer, the host could request that the
> guest send an interrupt when space becomes available in the ringbuffer (when
> the guest drains the ringbuffer).
>
> While this feature was implemented in the guest a while ago, we had not
> advertised that the guest supported this feature. This patch advertises
> the support to the host.
>
> For pre-win8 hosts, this has no effect since the size of the ringbuffer
> control structure has not changed and all changes have been backward
> compatible - unused/reserved space has been used to implement this
> feature.
>
> In this version of the patch I have cleaned up the commit log based on
> feedback from Greg KH.
>
> Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
> ---
>  drivers/hv/ring_buffer.c |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/hv/ring_buffer.c b/drivers/hv/ring_buffer.c
> index 15db66b..6361d12 100644
> --- a/drivers/hv/ring_buffer.c
> +++ b/drivers/hv/ring_buffer.c
> @@ -361,6 +361,11 @@ int hv_ringbuffer_init(struct hv_ring_buffer_info *ring_info,
>         ring_info->ring_buffer->read_index =
>                 ring_info->ring_buffer->write_index = 0;
>
> +       /*
> +        * Set the feature bit for enabling flow control.
> +        */
> +       ring_info->ring_buffer->feature_bits.value = 1;
> +

This feature is enabled, do we need to reset  pending_send_sz and
reserved1[12], reserved1[4028] here?

>         ring_info->ring_size = buflen;
>         ring_info->ring_datasize = buflen - sizeof(struct hv_ring_buffer);
>
> --
> 1.7.4.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


More information about the devel mailing list