Re: [PATCH v2] use pr_warn_ratelimited() for vq_err()

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

 



On Monday, 2021-02-22 at 11:29:47 GMT, John Levon wrote:

> vq_err() is used to report various failure states in vhost code, but by
> default uses pr_debug(), and as a result doesn't record anything unless
> enabled via dynamic debug. We'll change this so we get something recorded
> in the log in these failure cases. Guest VMs (and userspace) can trigger
> some of these messages, so we want to use the pr_warn_ratelimited()
> variant. However, on DEBUG kernels, we'd like to get everything, so we use
> pr_warn() then.
>
> Signed-off-by: John Levon <john.levon@xxxxxxxxxxx>

Reviewed-by: David Edmondson <david.edmondson@xxxxxxxxxx>

> ---
> v2: use pr_warn() for DEBUG kernels
> ---
>  drivers/vhost/vhost.h | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
> index b063324c7669..10007bd49f84 100644
> --- a/drivers/vhost/vhost.h
> +++ b/drivers/vhost/vhost.h
> @@ -228,10 +228,16 @@ int vhost_init_device_iotlb(struct vhost_dev *d, bool enabled);
>  void vhost_iotlb_map_free(struct vhost_iotlb *iotlb,
>  			  struct vhost_iotlb_map *map);
>  
> -#define vq_err(vq, fmt, ...) do {                                  \
> -		pr_debug(pr_fmt(fmt), ##__VA_ARGS__);       \
> -		if ((vq)->error_ctx)                               \
> -				eventfd_signal((vq)->error_ctx, 1);\
> +#ifdef DEBUG
> +#define vq_pr_warn pr_warn
> +#else
> +#define vq_pr_warn pr_warn_ratelimited
> +#endif
> +
> +#define vq_err(vq, fmt, ...) do {                                \
> +		vq_pr_warn(pr_fmt(fmt), ##__VA_ARGS__);          \
> +		if ((vq)->error_ctx)                             \
> +			eventfd_signal((vq)->error_ctx, 1);      \
>  	} while (0)
>  
>  enum {
> -- 
> 2.25.1

dme.
-- 
Slow me down, it's getting away from me.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux