Currently we map the channel handle to the channel under the protection of a spin lock. Additionally, we dispatch the channel callback function under the protection of the channel inbound lock (another spin lock). In some recent nework performance runs, the time spent acquiring and releasing these locks were identified as potential bottlenecks. This patch-set gets rid of these locks by leveraging the interrupt bindings that we support starting with win8.
K. Y. Srinivasan (2): Drivers: hv: Eliminate the channel spinlock in the callback path Drivers: hv: vmbus: Implement per-CPU mapping of relid to channel drivers/hv/channel.c | 16 ++++++++++--- drivers/hv/channel_mgmt.c | 52 ++++++++++++++++++++++++++++++++++++++++---- drivers/hv/connection.c | 35 +++++++++++++++++++++++------- drivers/hv/hv.c | 2 + drivers/hv/hyperv_vmbus.h | 5 ++++ include/linux/hyperv.h | 7 ++++++ 6 files changed, 100 insertions(+), 17 deletions(-) -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/