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

Reply via email to