lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 12 Mar 2024 20:57:35 +0000
From: Long Li <longli@...rosoft.com>
To: Saurabh Sengar <ssengar@...ux.microsoft.com>, KY Srinivasan
	<kys@...rosoft.com>, Haiyang Zhang <haiyangz@...rosoft.com>,
	"wei.liu@...nel.org" <wei.liu@...nel.org>, Dexuan Cui <decui@...rosoft.com>,
	"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
	"linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC: Saurabh Singh Sengar <ssengar@...rosoft.com>
Subject: RE: [PATCH 1/6] Drivers: hv: vmbus: Add utility function for querying
 ring size

> Subject: [PATCH 1/6] Drivers: hv: vmbus: Add utility function for querying ring size
> 
> Add a function to query for the preferred ring buffer size of VMBus device.

Patch looks good to me. It will be helpful if you can document the ring sizes for each device and put it in the comment. (e.g  use a new ring size, or keep using an existing ring size)

> 
> Signed-off-by: Saurabh Sengar <ssengar@...ux.microsoft.com>
> ---
>  drivers/hv/channel_mgmt.c | 7 +++++--
>  drivers/hv/hyperv_vmbus.h | 5 +++++
>  include/linux/hyperv.h    | 1 +
>  3 files changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c index
> 2f4d09ce027a..7ea444d72f9f 100644
> --- a/drivers/hv/channel_mgmt.c
> +++ b/drivers/hv/channel_mgmt.c
> @@ -120,7 +120,8 @@ const struct vmbus_device vmbus_devs[] = {
>  	},
> 
>  	/* File copy */
> -	{ .dev_type = HV_FCOPY,
> +	{ .pref_ring_size = 0x4000,
> +	  .dev_type = HV_FCOPY,
>  	  HV_FCOPY_GUID,
>  	  .perf_device = false,
>  	  .allowed_in_isolated = false,
> @@ -141,11 +142,13 @@ const struct vmbus_device vmbus_devs[] = {
>  	},
> 
>  	/* Unknown GUID */
> -	{ .dev_type = HV_UNKNOWN,
> +	{ .pref_ring_size = 0x11000,
> +	  .dev_type = HV_UNKNOWN,
>  	  .perf_device = false,
>  	  .allowed_in_isolated = false,
>  	},
>  };
> +EXPORT_SYMBOL_GPL(vmbus_devs);
> 
>  static const struct {
>  	guid_t guid;
> diff --git a/drivers/hv/hyperv_vmbus.h b/drivers/hv/hyperv_vmbus.h index
> f6b1e710f805..76ac5185a01a 100644
> --- a/drivers/hv/hyperv_vmbus.h
> +++ b/drivers/hv/hyperv_vmbus.h
> @@ -417,6 +417,11 @@ static inline bool hv_is_perf_channel(struct
> vmbus_channel *channel)
>  	return vmbus_devs[channel->device_id].perf_device;
>  }
> 
> +static inline size_t hv_dev_ring_size(struct vmbus_channel *channel) {
> +	return vmbus_devs[channel->device_id].pref_ring_size;
> +}
> +
>  static inline bool hv_is_allocated_cpu(unsigned int cpu)  {
>  	struct vmbus_channel *channel, *sc;
> diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h index
> 2b00faf98017..5951c7bb5712 100644
> --- a/include/linux/hyperv.h
> +++ b/include/linux/hyperv.h
> @@ -800,6 +800,7 @@ struct vmbus_requestor {  #define VMBUS_RQST_RESET
> (U64_MAX - 3)
> 
>  struct vmbus_device {
> +	size_t pref_ring_size;
>  	u16  dev_type;
>  	guid_t guid;
>  	bool perf_device;
> --
> 2.34.1
> 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ