diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2014-04-08 18:45:53 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-05-03 19:24:26 -0400 |
commit | d3ba720dd58cdf6630fee4b89482c465d5ad0d0f (patch) | |
tree | 03ea0aba6f0509bf7c501dee9ae6e931634f3c4b /include/linux/hyperv.h | |
parent | e4d8270e604c3202131bac607969605ac397b893 (diff) | |
download | lwn-d3ba720dd58cdf6630fee4b89482c465d5ad0d0f.tar.gz lwn-d3ba720dd58cdf6630fee4b89482c465d5ad0d0f.zip |
Drivers: hv: Eliminate the channel spinlock in the callback path
By ensuring that we set the callback handler to NULL in the channel close
path on the same CPU that the channel is bound to, we can eliminate this lock
acquisition and release in a performance critical path.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/hyperv.h')
-rw-r--r-- | include/linux/hyperv.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index 2d7b4f139c32..a274e089df78 100644 --- a/include/linux/hyperv.h +++ b/include/linux/hyperv.h @@ -696,6 +696,8 @@ struct vmbus_channel { * preserve the earlier behavior. */ u32 target_vp; + /* The corresponding CPUID in the guest */ + u32 target_cpu; /* * Support for sub-channels. For high performance devices, * it will be useful to have multiple sub-channels to support |