2022-02-22 21:55:40

by Anssi Hannula

[permalink] [raw]
Subject: [PATCH] hv_balloon: rate-limit "Unhandled message" warning

For a couple of times I have encountered a situation where

hv_balloon: Unhandled message: type: 12447

is being flooded over 1 million times per second with various values,
filling the log and consuming cycles, making debugging difficult.

Add rate limiting to the message.

Most other Hyper-V drivers already have similar rate limiting in their
message callbacks.

The cause of the floods in my case was probably fixed by 96d9d1fa5cd5
("Drivers: hv: balloon: account for vmbus packet header in
max_pkt_size").

Fixes: 9aa8b50b2b3d ("Drivers: hv: Add Hyper-V balloon driver")
Signed-off-by: Anssi Hannula <[email protected]>
---
drivers/hv/hv_balloon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index f2d05bff4245..439f99b8b5de 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -1563,7 +1563,7 @@ static void balloon_onchannelcallback(void *context)
break;

default:
- pr_warn("Unhandled message: type: %d\n", dm_hdr->type);
+ pr_warn_ratelimited("Unhandled message: type: %d\n", dm_hdr->type);

}
}
--
2.34.1


2022-02-26 02:20:46

by Michael Kelley (LINUX)

[permalink] [raw]
Subject: RE: [PATCH] hv_balloon: rate-limit "Unhandled message" warning

From: Anssi Hannula <[email protected]> Sent: Tuesday, February 22, 2022 6:14 AM
>
> For a couple of times I have encountered a situation where
>
> hv_balloon: Unhandled message: type: 12447
>
> is being flooded over 1 million times per second with various values,
> filling the log and consuming cycles, making debugging difficult.
>
> Add rate limiting to the message.
>
> Most other Hyper-V drivers already have similar rate limiting in their
> message callbacks.
>
> The cause of the floods in my case was probably fixed by 96d9d1fa5cd5
> ("Drivers: hv: balloon: account for vmbus packet header in
> max_pkt_size").
>
> Fixes: 9aa8b50b2b3d ("Drivers: hv: Add Hyper-V balloon driver")
> Signed-off-by: Anssi Hannula <[email protected]>
> ---
> drivers/hv/hv_balloon.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
> index f2d05bff4245..439f99b8b5de 100644
> --- a/drivers/hv/hv_balloon.c
> +++ b/drivers/hv/hv_balloon.c
> @@ -1563,7 +1563,7 @@ static void balloon_onchannelcallback(void *context)
> break;
>
> default:
> - pr_warn("Unhandled message: type: %d\n", dm_hdr->type);
> + pr_warn_ratelimited("Unhandled message: type: %d\n", dm_hdr->type);
>
> }
> }
> --
> 2.34.1

Unlike some of the other VMbus drivers, this driver has not been "hardened" for
use in an environment where the guest does not trust the hypervisor, but it was
affected by changes to the underlying ring buffer handling. The bug that caused
the flood of errors has indeed been fixed, but I'm good with rate limiting this
warning.

Reviewed-by: Michael Kelley <[email protected]>



2022-03-01 17:10:35

by Wei Liu

[permalink] [raw]
Subject: Re: [PATCH] hv_balloon: rate-limit "Unhandled message" warning

On Fri, Feb 25, 2022 at 06:59:18PM +0000, Michael Kelley (LINUX) wrote:
> From: Anssi Hannula <[email protected]> Sent: Tuesday, February 22, 2022 6:14 AM
> >
> > For a couple of times I have encountered a situation where
> >
> > hv_balloon: Unhandled message: type: 12447
> >
> > is being flooded over 1 million times per second with various values,
> > filling the log and consuming cycles, making debugging difficult.
> >
> > Add rate limiting to the message.
> >
> > Most other Hyper-V drivers already have similar rate limiting in their
> > message callbacks.
> >
> > The cause of the floods in my case was probably fixed by 96d9d1fa5cd5
> > ("Drivers: hv: balloon: account for vmbus packet header in
> > max_pkt_size").
> >
> > Fixes: 9aa8b50b2b3d ("Drivers: hv: Add Hyper-V balloon driver")
> > Signed-off-by: Anssi Hannula <[email protected]>
[...]
>
> Reviewed-by: Michael Kelley <[email protected]>

Applied to hyperv-next. Thanks.