1. 02 3月, 2015 4 次提交
  2. 26 1月, 2015 3 次提交
  3. 12 1月, 2015 1 次提交
  4. 09 12月, 2014 1 次提交
  5. 08 11月, 2014 1 次提交
    • V
      Drivers: hv: vmbus: Fix a race condition when unregistering a device · 04a258c1
      Vitaly Kuznetsov 提交于
      When build with Debug the following crash is sometimes observed:
      Call Trace:
       [<ffffffff812b9600>] string+0x40/0x100
       [<ffffffff812bb038>] vsnprintf+0x218/0x5e0
       [<ffffffff810baf7d>] ? trace_hardirqs_off+0xd/0x10
       [<ffffffff812bb4c1>] vscnprintf+0x11/0x30
       [<ffffffff8107a2f0>] vprintk+0xd0/0x5c0
       [<ffffffffa0051ea0>] ? vmbus_process_rescind_offer+0x0/0x110 [hv_vmbus]
       [<ffffffff8155c71c>] printk+0x41/0x45
       [<ffffffffa004ebac>] vmbus_device_unregister+0x2c/0x40 [hv_vmbus]
       [<ffffffffa0051ecb>] vmbus_process_rescind_offer+0x2b/0x110 [hv_vmbus]
      ...
      
      This happens due to the following race: between 'if (channel->device_obj)' check
      in vmbus_process_rescind_offer() and pr_debug() in vmbus_device_unregister() the
      device can disappear. Fix the issue by taking an additional reference to the
      device before proceeding to vmbus_device_unregister().
      Signed-off-by: NVitaly Kuznetsov <vkuznets@redhat.com>
      Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      04a258c1
  6. 24 9月, 2014 1 次提交
  7. 04 6月, 2014 1 次提交
  8. 04 5月, 2014 2 次提交
  9. 20 10月, 2013 1 次提交
  10. 18 10月, 2013 1 次提交
  11. 17 10月, 2013 1 次提交
  12. 28 8月, 2013 1 次提交
  13. 27 7月, 2013 1 次提交
  14. 04 6月, 2013 1 次提交
    • K
      Drivers: hv: vmbus: Implement multi-channel support · e68d2971
      K. Y. Srinivasan 提交于
      Starting with Win8, the host supports multiple sub-channels for a given
      device. As in the past, the initial channel offer specifies the device and
      is associated with both the type and the instance GUIDs. For performance
      critical devices, the host may support multiple sub-channels. The sub-channels
      share the same type and instance GUID as the primary channel. The number of
      sub-channels offerrred to the guest depends on the number of virtual CPUs
      assigned to the guest. The guest can request the creation of these sub-channels
      and once created and opened, the guest can distribute the traffic across all
      the channels (the primary and the sub-channels). A request sent on a sub-channel
      will have the response delivered on the same sub-channel.
      
      At channel (sub-channel) creation we bind the channel interrupt to a CPU and
      with this sub-channel support we will be able to spread the interrupt load
      of a given device across all available CPUs.
      Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
      Reviewed-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e68d2971
  15. 22 5月, 2013 1 次提交
  16. 16 3月, 2013 1 次提交
  17. 28 2月, 2013 1 次提交
  18. 26 1月, 2013 1 次提交
  19. 19 1月, 2013 1 次提交
  20. 18 1月, 2013 4 次提交
  21. 25 10月, 2012 1 次提交
  22. 14 5月, 2012 2 次提交
  23. 25 1月, 2012 1 次提交
  24. 13 12月, 2011 2 次提交
  25. 11 10月, 2011 3 次提交
  26. 21 9月, 2011 2 次提交