* [PATCH net-next] net: phy: replace mutex_is_locked with lockdep_assert_held in phylib
@ 2021-01-06 13:03 Heiner Kallweit
2021-01-06 22:39 ` Andrew Lunn
2021-01-07 21:15 ` Andrew Lunn
0 siblings, 2 replies; 5+ messages in thread
From: Heiner Kallweit @ 2021-01-06 13:03 UTC (permalink / raw)
To: Andrew Lunn, Russell King - ARM Linux, Jakub Kicinski, David Miller
Cc: netdev
Switch to lockdep_assert_held(_once), similar to what is being done
in other subsystems. One advantage is that there's zero runtime
overhead if lockdep support isn't enabled.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
drivers/net/phy/mdio_bus.c | 4 ++--
drivers/net/phy/phy.c | 2 +-
drivers/net/phy/phy_device.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 2b42e4606..040509b81 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -740,7 +740,7 @@ int __mdiobus_read(struct mii_bus *bus, int addr, u32 regnum)
{
int retval;
- WARN_ON_ONCE(!mutex_is_locked(&bus->mdio_lock));
+ lockdep_assert_held_once(&bus->mdio_lock);
retval = bus->read(bus, addr, regnum);
@@ -766,7 +766,7 @@ int __mdiobus_write(struct mii_bus *bus, int addr, u32 regnum, u16 val)
{
int err;
- WARN_ON_ONCE(!mutex_is_locked(&bus->mdio_lock));
+ lockdep_assert_held_once(&bus->mdio_lock);
err = bus->write(bus, addr, regnum, val);
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 45f75533c..9cb7e4dbf 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -724,7 +724,7 @@ static int phy_check_link_status(struct phy_device *phydev)
{
int err;
- WARN_ON(!mutex_is_locked(&phydev->lock));
+ lockdep_assert_held(&phydev->lock);
/* Keep previous state if loopback is enabled because some PHYs
* report that Link is Down when loopback is enabled.
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index 80c2e646c..8447e56ba 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -1740,7 +1740,7 @@ int __phy_resume(struct phy_device *phydev)
struct phy_driver *phydrv = phydev->drv;
int ret;
- WARN_ON(!mutex_is_locked(&phydev->lock));
+ lockdep_assert_held(&phydev->lock);
if (!phydrv || !phydrv->resume)
return 0;
--
2.30.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] net: phy: replace mutex_is_locked with lockdep_assert_held in phylib
2021-01-06 13:03 [PATCH net-next] net: phy: replace mutex_is_locked with lockdep_assert_held in phylib Heiner Kallweit
@ 2021-01-06 22:39 ` Andrew Lunn
2021-01-06 23:18 ` Heiner Kallweit
2021-01-07 21:15 ` Andrew Lunn
1 sibling, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2021-01-06 22:39 UTC (permalink / raw)
To: Heiner Kallweit
Cc: Russell King - ARM Linux, Jakub Kicinski, David Miller, netdev
On Wed, Jan 06, 2021 at 02:03:40PM +0100, Heiner Kallweit wrote:
> Switch to lockdep_assert_held(_once), similar to what is being done
> in other subsystems. One advantage is that there's zero runtime
> overhead if lockdep support isn't enabled.
Hi Heiner
I'm not sure we are bothered about performance here. MDIO operations
are slow, a mutex check is fast relative to that.
I wonder how many do development work with lockdep enabled? I think i
prefer catching hard to find locking bugs earlier, verses a tiny
performance overhead.
Andrew
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] net: phy: replace mutex_is_locked with lockdep_assert_held in phylib
2021-01-06 22:39 ` Andrew Lunn
@ 2021-01-06 23:18 ` Heiner Kallweit
0 siblings, 0 replies; 5+ messages in thread
From: Heiner Kallweit @ 2021-01-06 23:18 UTC (permalink / raw)
To: Andrew Lunn
Cc: Russell King - ARM Linux, Jakub Kicinski, David Miller, netdev
On 06.01.2021 23:39, Andrew Lunn wrote:
> On Wed, Jan 06, 2021 at 02:03:40PM +0100, Heiner Kallweit wrote:
>> Switch to lockdep_assert_held(_once), similar to what is being done
>> in other subsystems. One advantage is that there's zero runtime
>> overhead if lockdep support isn't enabled.
>
> Hi Heiner
>
Hi Andrew,
> I'm not sure we are bothered about performance here. MDIO operations
> are slow, a mutex check is fast relative to that.
>
Right, the performance gain is neglectible here.
What I see is that more and more similar checks (e.g. in_softirq,
in_irq) are migrated to the lockdep framework. And as stated in the
commit message I've seen a number of equivalent patches in other
subsystems.
> I wonder how many do development work with lockdep enabled? I think i
> prefer catching hard to find locking bugs earlier, verses a tiny
> performance overhead.
>
Well, I always develop with lockdep enabled and like the fact that it
provides a multitude of checks with minimal overhead. Would be
interesting to know the ratio of kernel developers counting on lockdep.
> Andrew
>
Heiner
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] net: phy: replace mutex_is_locked with lockdep_assert_held in phylib
2021-01-06 13:03 [PATCH net-next] net: phy: replace mutex_is_locked with lockdep_assert_held in phylib Heiner Kallweit
2021-01-06 22:39 ` Andrew Lunn
@ 2021-01-07 21:15 ` Andrew Lunn
2021-01-07 22:55 ` Jakub Kicinski
1 sibling, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2021-01-07 21:15 UTC (permalink / raw)
To: Heiner Kallweit
Cc: Russell King - ARM Linux, Jakub Kicinski, David Miller, netdev
On Wed, Jan 06, 2021 at 02:03:40PM +0100, Heiner Kallweit wrote:
> Switch to lockdep_assert_held(_once), similar to what is being done
> in other subsystems. One advantage is that there's zero runtime
> overhead if lockdep support isn't enabled.
>
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] net: phy: replace mutex_is_locked with lockdep_assert_held in phylib
2021-01-07 21:15 ` Andrew Lunn
@ 2021-01-07 22:55 ` Jakub Kicinski
0 siblings, 0 replies; 5+ messages in thread
From: Jakub Kicinski @ 2021-01-07 22:55 UTC (permalink / raw)
To: Andrew Lunn, Heiner Kallweit
Cc: Russell King - ARM Linux, David Miller, netdev
On Thu, 7 Jan 2021 22:15:06 +0100 Andrew Lunn wrote:
> On Wed, Jan 06, 2021 at 02:03:40PM +0100, Heiner Kallweit wrote:
> > Switch to lockdep_assert_held(_once), similar to what is being done
> > in other subsystems. One advantage is that there's zero runtime
> > overhead if lockdep support isn't enabled.
> >
> > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
>
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Applied, thanks!
If I was willing to let my pedantic flag fly I'd ask for the lockdep
header to be included explicitly, but I guess in practice the chances
of it not being pulled into sources which use locking is 0.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-01-07 22:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-06 13:03 [PATCH net-next] net: phy: replace mutex_is_locked with lockdep_assert_held in phylib Heiner Kallweit
2021-01-06 22:39 ` Andrew Lunn
2021-01-06 23:18 ` Heiner Kallweit
2021-01-07 21:15 ` Andrew Lunn
2021-01-07 22:55 ` Jakub Kicinski
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.