1. 01 5月, 2016 1 次提交
    • K
      Drivers: hv: vmbus: Fix signaling logic in hv_need_to_signal_on_read() · 1db488d1
      K. Y. Srinivasan 提交于
      On the consumer side, we have interrupt driven flow management of the
      producer. It is sufficient to base the signaling decision on the
      amount of space that is available to write after the read is complete.
      The current code samples the previous available space and uses this
      in making the signaling decision. This state can be stale and is
      unnecessary. Since the state can be stale, we end up not signaling
      the host (when we should) and this can result in a hang. Fix this
      problem by removing the unnecessary check. I would like to thank
      Arseney Romanenko <arseneyr@microsoft.com> for pointing out this issue.
      
      Also, issue a full memory barrier before making the signaling descision
      to correctly deal with potential reordering of the write (read index)
      followed by the read of pending_sz.
      Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
      Tested-by: NDexuan Cui <decui@microsoft.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1db488d1
  2. 08 2月, 2016 2 次提交
  3. 15 12月, 2015 3 次提交
  4. 06 8月, 2015 1 次提交
  5. 24 9月, 2014 1 次提交
    • K
      Drivers: hv: vmbus: Enable interrupt driven flow control · 046c7911
      K. Y. Srinivasan 提交于
      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: NK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      046c7911
  6. 08 2月, 2014 1 次提交
  7. 25 6月, 2013 1 次提交
  8. 19 6月, 2013 1 次提交
  9. 02 4月, 2013 1 次提交
  10. 18 1月, 2013 4 次提交
  11. 04 4月, 2012 1 次提交
  12. 11 10月, 2011 2 次提交
  13. 30 8月, 2011 1 次提交
  14. 26 8月, 2011 1 次提交
  15. 08 6月, 2011 3 次提交
  16. 18 5月, 2011 4 次提交
  17. 12 5月, 2011 12 次提交