24 Sep, 2014

1 commit

  • 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
    Signed-off-by: Greg Kroah-Hartman

    K. Y. Srinivasan
     

08 Feb, 2014

1 commit


25 Jun, 2013

1 commit


19 Jun, 2013

1 commit

  • Even if guest were compiled without SMP support, it could not assume that host
    wasn't. So switch to use mb() instead of smp_mb() to force memory barriers for
    UP guest.

    Signed-off-by: Jason Wang
    Cc: Haiyang Zhang
    Cc: stable
    Signed-off-by: K. Y. Srinivasan
    Signed-off-by: Greg Kroah-Hartman

    Jason Wang
     

02 Apr, 2013

1 commit

  • As part of updating the vmbus protocol, the function hv_need_to_signal()
    was introduced. This functions helps optimize signalling from guest to
    host. The newly added memory barrier is needed to ensure that we correctly
    decide when to signal the host.

    Signed-off-by: K. Y. Srinivasan
    Reviewed-by: Haiyang Zhang
    Reported-by: Olaf Hering
    Cc: Stable (V3.8+)
    Signed-off-by: Greg Kroah-Hartman

    K. Y. Srinivasan
     

18 Jan, 2013

4 commits


04 Apr, 2012

1 commit

  • In the existing code, we only stop queue when the ringbuffer is full,
    so the current packet has to be dropped or retried from upper layer.

    This patch stops the tx queue when available ringbuffer is below
    the low watermark. So the ringbuffer still has small amount of space
    available for the current packet. This will reduce the overhead of
    retries on sending.

    Signed-off-by: Haiyang Zhang
    Reviewed-by: K. Y. Srinivasan
    Signed-off-by: David S. Miller

    Haiyang Zhang
     

11 Oct, 2011

2 commits