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
F133095870: D26694.id77941.diff
Wed, Oct 22, 10:45 PM
F133095854: D26694.id77940.diff
Wed, Oct 22, 10:44 PM
F133095847: D26694.id77971.diff
Wed, Oct 22, 10:44 PM
F133095845: D26694.id.diff
Wed, Oct 22, 10:44 PM
F133059901: D26694.diff
Wed, Oct 22, 2:00 PM
Unknown Object (File)
Sun, Oct 19, 8:36 PM
Unknown Object (File)
Tue, Oct 7, 6:41 AM
Unknown Object (File)
Sep 20 2025, 11:06 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.