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)
Sat, Jul 18, 10:36 PM
Unknown Object (File)
Sat, Jul 18, 12:20 PM
Unknown Object (File)
Fri, Jul 17, 8:16 AM
Unknown Object (File)
Sun, Jul 5, 7:49 AM
Unknown Object (File)
Sat, Jul 4, 11:03 AM
Unknown Object (File)
Sat, Jul 4, 3:40 AM
Unknown Object (File)
Sat, Jul 4, 12:42 AM
Unknown Object (File)
Wed, Jul 1, 9:08 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.