> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-boun...@osuosl.org> On Behalf Of
> Drewek, Wojciech
> Sent: Tuesday, October 10, 2023 2:08 PM
> To: mschmidt <mschm...@redhat.com>; intel-wired-...@lists.osuosl.org
> Cc: Radoslaw Tyl <radoslawx....@intel.com>; Nguyen, Anthony L
> <anthony.l.ngu...@intel.com>; Brandeburg, Jesse
> <jesse.brandeb...@intel.com>
> Subject: Re: [Intel-wired-lan] [PATCH net-next 2/5] iavf: simplify
> mutex_trylock+sleep loops
> 
> 
> 
> > -----Original Message-----
> > From: Michal Schmidt <mschm...@redhat.com>
> > Sent: Tuesday, October 10, 2023 1:57 PM
> > To: Drewek, Wojciech <wojciech.dre...@intel.com>; intel-wired-
> > l...@lists.osuosl.org
> > Cc: Nguyen, Anthony L <anthony.l.ngu...@intel.com>; Radoslaw Tyl
> > <radoslawx....@intel.com>; Brandeburg, Jesse
> > <jesse.brandeb...@intel.com>
> > Subject: Re: [Intel-wired-lan] [PATCH net-next 2/5] iavf: simplify
> > mutex_trylock+sleep loops
> >
> > Dne 10. 10. 23 v 13:30 Drewek, Wojciech napsal:
> > >> -----Original Message-----
> > >> From: Intel-wired-lan <intel-wired-lan-boun...@osuosl.org> On
> > >> Behalf Of Michal Schmidt
> > >> Sent: Tuesday, October 10, 2023 2:25 AM
> > >> To: intel-wired-...@lists.osuosl.org
> > >> Cc: Nguyen, Anthony L <anthony.l.ngu...@intel.com>; Radoslaw Tyl
> > >> <radoslawx....@intel.com>; Brandeburg, Jesse
> > <jesse.brandeb...@intel.com>
> > >> Subject: [Intel-wired-lan] [PATCH net-next 2/5] iavf: simplify
> > >> mutex_trylock+sleep loops
> > >>
> > >> This pattern appears in two places in the iavf source code:
> > >>    while (!mutex_trylock(...))
> > >>        usleep_range(...);
> > >
> > > I found a few other places with similar pattern (iavf_configure_clsflower
> e.g).
> > > Do you think we can fix them as well?
> >
> > I think so. But those are with some sort of a timeout, so replacing
> > them would be slightly less obviously correct than these here. Later.
> > Michal
> 
> Makes sense.
> Reviewed-by: Wojciech Drewek <wojciech.dre...@intel.com>
> 
> >
> > >> That's just mutex_lock with extra steps.
> > >> The pattern is a leftover from when iavf used bit flags instead of
> > >> mutexes for locking. Commit 5ac49f3c2702 ("iavf: use mutexes for
> > >> locking of critical sections") replaced test_and_set_bit with
> > >> !mutex_trylock, preserving the pattern.
> > >>
> > >> Simplify it to mutex_lock.
> > >>
> > >> Signed-off-by: Michal Schmidt <mschm...@redhat.com>
> > >> ---
> > >>   drivers/net/ethernet/intel/iavf/iavf_main.c | 6 ++----
> > >>   1 file changed, 2 insertions(+), 4 deletions(-)
> > >>
> > >> diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c
> > >> b/drivers/net/ethernet/intel/iavf/iavf_main.c
> > >> index 98ecf5d5a2f2..03156ca523fe 100644
> > >> --- a/drivers/net/ethernet/intel/iavf/iavf_main.c
> > >> +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
> > >> @@ -3016,8 +3016,7 @@ static void iavf_reset_task(struct
> > >> work_struct
> > >> *work)
> > >>                  return;
> > >>          }
> > >>
> > >> -        while (!mutex_trylock(&adapter->client_lock))
> > >> -                usleep_range(500, 1000);
> > >> +        mutex_lock(&adapter->client_lock);
> > >>          if (CLIENT_ENABLED(adapter)) {
> > >>                  adapter->flags &= ~(IAVF_FLAG_CLIENT_NEEDS_OPEN |
> > >>                                      IAVF_FLAG_CLIENT_NEEDS_CLOSE | @@ -
> 5069,8 +5068,7 @@
> > >> static int __maybe_unused iavf_suspend(struct device *dev_d)
> > >>
> > >>          netif_device_detach(netdev);
> > >>
> > >> -        while (!mutex_trylock(&adapter->crit_lock))
> > >> -                usleep_range(500, 1000);
> > >> +        mutex_lock(&adapter->crit_lock);
> > >>
> > >>          if (netif_running(netdev)) {
> > >>                  rtnl_lock();
> > >> --
> > >> 2.41.0
> > >>
> > >> _______________________________________________
> > >> Intel-wired-lan mailing list
> > >> Intel-wired-lan@osuosl.org
> > >> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
> > >
> 
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan


Tested-by: Rafal Romanowski <rafal.romanow...@intel.com>


_______________________________________________
Intel-wired-lan mailing list
Intel-wired-lan@osuosl.org
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

Reply via email to