]> www.infradead.org Git - users/dwmw2/linux.git/commit
Drivers: hv: vmbus: Optimize boot time by concurrent execution of hv_synic_init()
authorSaurabh Sengar <ssengar@linux.microsoft.com>
Thu, 1 Aug 2024 04:55:36 +0000 (21:55 -0700)
committerWei Liu <wei.liu@kernel.org>
Fri, 23 Aug 2024 22:06:51 +0000 (22:06 +0000)
commit87c9741a38c4fa63ff3525c3191fb8a4a69b4ff6
treec5af76c62e4884ddb0f570c32b552af474060a79
parent47ac09b91befbb6a235ab620c32af719f8208399
Drivers: hv: vmbus: Optimize boot time by concurrent execution of hv_synic_init()

Currently on a very large system with 1780 CPUs, hv_acpi_init() takes
around 3 seconds to complete. This is because of sequential synic
initialization for each CPU performed by hv_synic_init().

Schedule these tasks parallelly so that each CPU executes hv_synic_init()
in parallel to take full advantage of multiple CPUs.

This solution saves around 2 seconds of boot time on a 1780 CPU system,
which is around 66% improvement in the existing logic.

Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com>
Reviewed-by: Nuno Das Neves <nunodasneves@linux.microsoft.com>
Reviewed-by: Srivatsa S. Bhat (Microsoft) <srivatsa@csail.mit.edu>
Reviewed-by: Dexuan Cui <decui@microsoft.com>
Link: https://lore.kernel.org/r/1722488136-6223-1-git-send-email-ssengar@linux.microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Message-ID: <1722488136-6223-1-git-send-email-ssengar@linux.microsoft.com>
drivers/hv/vmbus_drv.c