[iwl-net PATCH] idpf: reduce mbx_task schedule delay to 300us

Brian Vazquez posted 1 patch 2 months, 4 weeks ago
drivers/net/ethernet/intel/idpf/idpf_lib.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[iwl-net PATCH] idpf: reduce mbx_task schedule delay to 300us
Posted by Brian Vazquez 2 months, 4 weeks ago
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 <brianvv@google.com>
---
 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
RE: [Intel-wired-lan] [iwl-net PATCH] idpf: reduce mbx_task schedule delay to 300us
Posted by Loktionov, Aleksandr 2 months, 3 weeks ago

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf
> Of Brian Vazquez
> Sent: Monday, November 10, 2025 9:59 PM
> To: Brian Vazquez <brianvv.kernel@gmail.com>; Nguyen, Anthony L
> <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@intel.com>; David S. Miller <davem@davemloft.net>;
> Eric Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>;
> Paolo Abeni <pabeni@redhat.com>; intel-wired-lan@lists.osuosl.org
> Cc: David Decotigny <decot@google.com>; Singhai, Anjali
> <anjali.singhai@intel.com>; Samudrala, Sridhar
> <sridhar.samudrala@intel.com>; linux-kernel@vger.kernel.org;
> netdev@vger.kernel.org; Tantilov, Emil S <emil.s.tantilov@intel.com>;
> Brian Vazquez <brianvv@google.com>
> 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 <brianvv@google.com>
> ---
>  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 <aleksandr.loktionov@intel.com>

RE: [Intel-wired-lan] [iwl-net PATCH] idpf: reduce mbx_task schedule delay to 300us
Posted by Salin, Samuel 1 month, 4 weeks ago
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of
> Loktionov, Aleksandr
> Sent: Wednesday, November 12, 2025 5:06 AM
> To: Brian Vazquez <brianvv@google.com>; Brian Vazquez
> <brianvv.kernel@gmail.com>; Nguyen, Anthony L
> <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@intel.com>; David S. Miller <davem@davemloft.net>;
> Eric Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>;
> Paolo Abeni <pabeni@redhat.com>; intel-wired-lan@lists.osuosl.org
> Cc: David Decotigny <decot@google.com>; Singhai, Anjali
> <anjali.singhai@intel.com>; Samudrala, Sridhar
> <sridhar.samudrala@intel.com>; linux-kernel@vger.kernel.org;
> netdev@vger.kernel.org; Tantilov, Emil S <emil.s.tantilov@intel.com>
> Subject: Re: [Intel-wired-lan] [iwl-net PATCH] idpf: reduce mbx_task schedule
> delay to 300us
> 
> 
> 
> > -----Original Message-----
> > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf
> > Of Brian Vazquez
> > Sent: Monday, November 10, 2025 9:59 PM
> > To: Brian Vazquez <brianvv.kernel@gmail.com>; Nguyen, Anthony L
> > <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw
> > <przemyslaw.kitszel@intel.com>; David S. Miller <davem@davemloft.net>;
> > Eric Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>;
> > Paolo Abeni <pabeni@redhat.com>; intel-wired-lan@lists.osuosl.org
> > Cc: David Decotigny <decot@google.com>; Singhai, Anjali
> > <anjali.singhai@intel.com>; Samudrala, Sridhar
> > <sridhar.samudrala@intel.com>; linux-kernel@vger.kernel.org;
> > netdev@vger.kernel.org; Tantilov, Emil S <emil.s.tantilov@intel.com>;
> > Brian Vazquez <brianvv@google.com>
> > 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 <brianvv@google.com>
> > ---
> 
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>

Tested-by: Samuel Salin <Samuel.salin@intel.com>