> -----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]>
