Re: [PATCH v3 0/2] Drivers: hv: vmbus: Wait for boot-time offers and log missing offers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 13, 2024 at 12:46:58AM -0800, Naman Jain wrote:
> After VM requests for channel offers during boot or resume from
> hibernation, host offers the devices that the VM is configured with and
> then sends a separate message indicating that all the boot-time channel
> offers are delivered. Wait for this message to make this boot-time 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 boot-time 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 v2:
> https://lore.kernel.org/all/20241029080147.52749-1-namjain@xxxxxxxxxxxxxxxxxxx/
> * Incorporated Easwar's suggestion to use secs_to_jiffies() as his
>   changes are now merged.
> * Addressed Michael's comments:
>   * Used boot-time offers/channels/devices to maintain consistency
>   * Rephrased CHANNELMSG_ALLOFFERS_DELIVERED handler function comments
>     for better explanation. Thanks for sharing the write-up.
>   * Changed commit msg and other things as per suggestions
> * Addressed Dexuan's comments, which came up in offline discussion:
>   * Changed timeout for waiting for all offers delivered msg to 60s instead of 10s.
>     Reason being, the host can experience some servicing events or diagnostics events,
>     which may take a long time and hence may fail to offer all the devices within 10s.
>   * Minor additions in commit subject of both patches
> * Rebased on latest linux-next master tip
> 
> Changes since v1:
> https://lore.kernel.org/all/20241018115811.5530-1-namjain@xxxxxxxxxxxxxxxxxxx/
> * 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 if any
> 
> Naman Jain (1):
>   Drivers: hv: vmbus: Wait for boot-time offers during boot and resume
> 
>  drivers/hv/channel_mgmt.c | 61 +++++++++++++++++++++++++++++----------
>  drivers/hv/connection.c   |  4 +--
>  drivers/hv/hyperv_vmbus.h | 14 ++-------
>  drivers/hv/vmbus_drv.c    | 31 ++++++++++----------
>  4 files changed, 67 insertions(+), 43 deletions(-)
> 
> 
> base-commit: 28955f4fa2823e39f1ecfb3a37a364563527afbc
> -- 
> 2.34.1
> 

The overall series looks good to me. However, I noticed a few checkpatch.pl warnings
that could be addressed. After fixing them:
Reviewed-by: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx>




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux