Page MenuHomeFreeBSD

jme: Convert driver to CTLFLAG_MPSAFE
ClosedPublic

Authored by guest-seuros on Fri, Jan 9, 3:40 PM.
Tags
None
Referenced Files
F141926721: D54618.id.diff
Mon, Jan 12, 7:18 PM
F141903674: D54618.id169445.diff
Mon, Jan 12, 7:09 AM
F141903636: D54618.diff
Mon, Jan 12, 7:09 AM
F141886852: D54618.diff
Mon, Jan 12, 12:36 AM
F141886836: D54618.diff
Mon, Jan 12, 12:35 AM
F141863134: D54618.diff
Sun, Jan 11, 3:09 PM
Unknown Object (File)
Sun, Jan 11, 1:46 PM
Unknown Object (File)
Sat, Jan 10, 8:35 PM
Subscribers
None

Details

Summary

Replace CTLFLAG_NEEDGIANT with CTLFLAG_MPSAFE for all interrupt
coalescing sysctls. The driver uses jme_mtx mutex for proper
synchronization and does not require Giant lock.

Sysctls converted:

  • dev.jme.X.tx_coal_to (TX coalescing timeout)
  • dev.jme.X.tx_coal_pkt (TX coalescing packet count)
  • dev.jme.X.rx_coal_to (RX coalescing timeout)
  • dev.jme.X.rx_coal_pkt (RX coalescing packet count)
  • dev.jme.X.process_limit (max RX events to process)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 69781
Build 66664: arc lint + arc unit

Event Timeline

guest-seuros created this revision.

speaker, clock: Replace Giant lock with fine-grained locking

Add sx lock to the speaker driver to protect spkr_active and spkr_inbuf,
removing the D_NEEDGIANT flag. Add mtx_lock_spin protection for timer2_state
in clock.c timer_spkr_acquire/release functions.

Sorry, still using arc incorrectly. Need i need to learn git-arc.

This revision is now accepted and ready to land.Mon, Jan 12, 12:35 AM
This revision was automatically updated to reflect the committed changes.