Page MenuHomeFreeBSD

Don't use critical section when calling intr_irq_handler()
ClosedPublic

Authored by trasz on Oct 6 2020, 3:04 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Oct 7, 6:41 AM
Unknown Object (File)
Sat, Sep 20, 11:06 PM
Unknown Object (File)
Sep 9 2025, 5:18 PM
Unknown Object (File)
Aug 2 2025, 7:22 PM
Unknown Object (File)
Jul 28 2025, 2:54 PM
Unknown Object (File)
Jul 28 2025, 11:33 AM
Unknown Object (File)
Jul 28 2025, 3:55 AM
Unknown Object (File)
Jul 27 2025, 11:05 PM
Subscribers

Details

Summary

Don't use critical section when calling intr_irq_handler() - that
function enters critical section by itself anyway.

(XXX: Probably the critical section here can disappear entirely;
I'd rather do that later.)

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

trasz requested review of this revision.Oct 6 2020, 3:04 PM
This revision is now accepted and ready to land.Oct 6 2020, 5:41 PM
jhb added inline comments.
sys/riscv/riscv/intr_machdep.c
174 ↗(On Diff #77941)

This is likely needed as it is what sets the boundary as to when a context switch to a taskqueue or other there scheduled by a handler executes. If intr_isrc_dispatch() has its own critical section, then you can remove this, but if it doesn't, you probably need to leave this in place.