Page MenuHomeFreeBSD

mlx5: Enter network epoch when using if_foreach()
ClosedPublic

Authored by jhibbits on Feb 21 2023, 9:09 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Feb 17, 7:27 PM
Unknown Object (File)
Mon, Jan 27, 4:36 PM
Unknown Object (File)
Sun, Jan 26, 5:54 PM
Unknown Object (File)
Dec 30 2024, 4:45 AM
Unknown Object (File)
Dec 10 2024, 7:17 AM
Unknown Object (File)
Dec 8 2024, 9:15 PM
Unknown Object (File)
Dec 6 2024, 8:59 PM
Unknown Object (File)
Nov 15 2024, 5:10 PM
Subscribers

Details

Summary

IFNET_RLOCK() is not sufficient, the epoch needs entered.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 49931
Build 46823: arc lint + arc unit

Event Timeline

Hi,

I'm not sure if that will work, because there is a write_lock() inside mlx5_enable_roce_if_cb(), and that cannot be used inside an EPOCH section!

#define write_lock(_l)          rw_wlock(&(_l)->rw)

Hi,

I'm not sure if that will work, because there is a write_lock() inside mlx5_enable_roce_if_cb(), and that cannot be used inside an EPOCH section!

#define write_lock(_l)          rw_wlock(&(_l)->rw)

Or am I wrong.

--HPS

Hi,

I'm not sure if that will work, because there is a write_lock() inside mlx5_enable_roce_if_cb(), and that cannot be used inside an EPOCH section!

#define write_lock(_l)          rw_wlock(&(_l)->rw)

Or am I wrong.

--HPS

It's OK to use rwlocks/mutexes (and basically anything that don't sleep) in the (network) epoch.

This revision is now accepted and ready to land.Feb 22 2023, 10:42 AM