linux-hyperv.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Drivers: hv: vmbus: Wait for offers and log missing offers
@ 2024-10-29  8:01 Naman Jain
  2024-10-29  8:01 ` [PATCH v2 1/2] Drivers: hv: vmbus: Wait for offers during boot Naman Jain
  2024-10-29  8:01 ` [PATCH v2 2/2] Drivers: hv: vmbus: Log on missing offers Naman Jain
  0 siblings, 2 replies; 14+ messages in thread
From: Naman Jain @ 2024-10-29  8:01 UTC (permalink / raw)
  To: K . Y . Srinivasan, Haiyang Zhang, Wei Liu, Dexuan Cui
  Cc: linux-hyperv, linux-kernel, Naman Jain, John Starks, jacob.pan,
	Easwar Hariharan, Michael Kelley, Saurabh Singh Sengar

After VM requests for channel offers during boot or resume from
hibernation, host offers the configured channels and then sends a
separate message when all the essential channel offers are delivered.
Wait for this message to make this offers request and receipt process
synchronous.

Without this, user mode can race with VMBus initialization and miss
channel offers. User mode has no way to work around this other than
sleeping for a while, since there is no way to know when VMBus has
finished processing offers.

This is in analogy to a PCI bus not returning from probe until it has
scanned all devices on the bus.

As part of this implementation, some code cleanup is also done for the
logic which becomes redundant due to this change.

Second patch prints the channels which are not offered when resume
happens from hibernation to supply more information to the end user.

Changes since v1:
https://lore.kernel.org/all/20241018115811.5530-1-namjain@linux.microsoft.com/
* Added Easwar's Reviewed-By tag
* Addressed Michael's comments:
  * Added explanation of all offers delivered message in comments
  * Removed infinite wait for offers logic, and changed it wait once.
  * Removed sub channel workqueue flush logic
  * Added comments on why MLX device offer is not expected as part of
    this essential boot offer list. I refrained from adding too many
    details on it as it felt like it is beyond the scope of this patch
    series and may not be relevant to this. However, please let me know if
    something needs to be added.
* Addressed Saurabh's comments:
  * Changed timeout value to 10000 ms instead of 10*1000
  * Changed commit msg as per suggestions
  * Added a comment for warning case of wait_for_completion timeout
  * Added a note for missing channel cleanup in comments and commit msg


John Starks (1):
  Drivers: hv: vmbus: Log on missing offers

Naman Jain (1):
  Drivers: hv: vmbus: Wait for offers during boot

 drivers/hv/channel_mgmt.c | 55 ++++++++++++++++++++++++++++-----------
 drivers/hv/connection.c   |  4 +--
 drivers/hv/hyperv_vmbus.h | 14 +++-------
 drivers/hv/vmbus_drv.c    | 31 +++++++++++-----------
 4 files changed, 61 insertions(+), 43 deletions(-)

base-commit: 6fb2fa9805c501d9ade047fc511961f3273cdcb5
-- 
2.34.1


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2024-11-14  6:53 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-29  8:01 [PATCH v2 0/2] Drivers: hv: vmbus: Wait for offers and log missing offers Naman Jain
2024-10-29  8:01 ` [PATCH v2 1/2] Drivers: hv: vmbus: Wait for offers during boot Naman Jain
2024-10-30 20:31   ` Easwar Hariharan
2024-11-05  5:40     ` Naman Jain
2024-10-31 19:13   ` Michael Kelley
2024-11-05  5:40     ` Naman Jain
2024-10-29  8:01 ` [PATCH v2 2/2] Drivers: hv: vmbus: Log on missing offers Naman Jain
2024-10-31 19:14   ` Michael Kelley
2024-11-07  5:44     ` Naman Jain
2024-11-11  5:43       ` Naman Jain
2024-11-12  3:13         ` Michael Kelley
2024-11-13  8:47           ` Naman Jain
2024-11-13 15:26             ` Michael Kelley
2024-11-14  6:53               ` Naman Jain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).