On Mon May 5, 2025 at 3:41 PM AEST, Akihiko Odaki wrote: > On 2025/05/02 12:16, Nicholas Piggin wrote: >> The spec explicitly permits xITR register interval field to have a value >> of zero to disable throttling. The e1000e model already allows for this >> in the throttling logic, so remove the minimum value for the register. >> >> The spec appears to say there is a maximum observable interrupt rate >> when throttling is enabled, regardless of ITR value, so throttle timer >> calculation is clamped to that minimum value. >> >> EITR registers default to 0, as specified in spec 7.4.4. >> >> Signed-off-by: Nicholas Piggin <npig...@gmail.com> >> --- >> hw/net/e1000e_core.c | 25 +++++++++++++++++-------- >> 1 file changed, 17 insertions(+), 8 deletions(-) >> >> diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c >> index 24138587905..96f74f1ea14 100644 >> --- a/hw/net/e1000e_core.c >> +++ b/hw/net/e1000e_core.c >> @@ -51,8 +51,17 @@ >> >> #include "trace.h" >> >> -/* No more then 7813 interrupts per second according to spec 10.2.4.2 */ >> -#define E1000E_MIN_XITR (500) >> +/* >> + * A suggested range for ITR is 651-5580, according to spec 10.2.4.2, but >> + * QEMU has traditionally set 500 here. >> + */ >> +#define E1000E_DEFAULT_ITR (500) > > The cover letter says this version changes "initial ITR as well as EITR" > but the ITR value is unchanged here. Forgot to commit the change?
Hmm yes I must have, thanks good catch. Thanks, Nick