> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf
> Of Brian Vazquez
> Sent: Monday, November 10, 2025 9:59 PM
> To: Brian Vazquez <[email protected]>; Nguyen, Anthony L
> <[email protected]>; Kitszel, Przemyslaw
> <[email protected]>; David S. Miller <[email protected]>;
> Eric Dumazet <[email protected]>; Jakub Kicinski <[email protected]>;
> Paolo Abeni <[email protected]>; [email protected]
> Cc: David Decotigny <[email protected]>; Singhai, Anjali
> <[email protected]>; Samudrala, Sridhar
> <[email protected]>; [email protected];
> [email protected]; Tantilov, Emil S <[email protected]>;
> Brian Vazquez <[email protected]>
> Subject: [Intel-wired-lan] [iwl-net PATCH] idpf: reduce mbx_task
> schedule delay to 300us
> 
> During the IDPF init phase, the mailbox runs in poll mode until it is
> configured to properly handle interrupts. The previous delay of 300ms
> is excessively long for the mailbox polling mechanism, which causes a
> slow initialization of ~2s:
> 
> echo 0000:06:12.4 > /sys/bus/pci/drivers/idpf/bind
> 
> [   52.444239] idpf 0000:06:12.4: enabling device (0000 -> 0002)
> [   52.485005] idpf 0000:06:12.4: Device HW Reset initiated
> [   54.177181] idpf 0000:06:12.4: PTP init failed, err=-EOPNOTSUPP
> [   54.206177] idpf 0000:06:12.4: Minimum RX descriptor support not
> provided, using the default
> [   54.206182] idpf 0000:06:12.4: Minimum TX descriptor support not
> provided, using the default
> 
> Changing the delay to 300us avoids the delays during the initial
> mailbox transactions, making the init phase much faster:
> 
> [   83.342590] idpf 0000:06:12.4: enabling device (0000 -> 0002)
> [   83.384402] idpf 0000:06:12.4: Device HW Reset initiated
> [   83.518323] idpf 0000:06:12.4: PTP init failed, err=-EOPNOTSUPP
> [   83.547430] idpf 0000:06:12.4: Minimum RX descriptor support not
> provided, using the default
> [   83.547435] idpf 0000:06:12.4: Minimum TX descriptor support not
> provided, using the default
> 
> Signed-off-by: Brian Vazquez <[email protected]>
> ---
>  drivers/net/ethernet/intel/idpf/idpf_lib.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/intel/idpf/idpf_lib.c
> b/drivers/net/ethernet/intel/idpf/idpf_lib.c
> index 52fe45b42095..44fbffab9737 100644
> --- a/drivers/net/ethernet/intel/idpf/idpf_lib.c
> +++ b/drivers/net/ethernet/intel/idpf/idpf_lib.c
> @@ -1313,7 +1313,7 @@ void idpf_mbx_task(struct work_struct *work)
>               idpf_mb_irq_enable(adapter);
>       else
>               queue_delayed_work(adapter->mbx_wq, &adapter->mbx_task,
> -                                msecs_to_jiffies(300));
> +                                usecs_to_jiffies(300));
> 
>       idpf_recv_mb_msg(adapter, adapter->hw.arq);  }
> --
> 2.51.2.1041.gc1ab5b90ca-goog

Reviewed-by: Aleksandr Loktionov <[email protected]>

Reply via email to