On 2021/1/16 ??1:37, 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.
It looks to me KVM also use pr_warn_ratelimited().
So
Acked-by: Jason Wang <jasowang at redhat.com>
>
> Signed-off-by: John Levon <john.levon at nutanix.com>
> ---
> drivers/vhost/vhost.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h
> index b063324c7669..cb4ef78c84ba 100644
> --- a/drivers/vhost/vhost.h
> +++ b/drivers/vhost/vhost.h
> @@ -228,10 +228,10 @@ 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);\
> +#define vq_err(vq, fmt, ...) do { \
> + pr_warn_ratelimited(pr_fmt(fmt), ##__VA_ARGS__); \
> + if ((vq)->error_ctx) \
> + eventfd_signal((vq)->error_ctx, 1); \
> } while (0)
>
> enum {