Increment td->td_intr_nesting_level for LAPIC timer interrupts. Among other
things it hints SCHED_ULE to run clock swi handlers on their native CPUs, avoiding many unneeded IPI_PREEMPT calls.
This commit is contained in:
parent
b577f44398
commit
017cb944b1
@ -811,10 +811,12 @@ lapic_handle_timer(struct trapframe *frame)
|
||||
critical_enter();
|
||||
if (lapic_et.et_active) {
|
||||
td = curthread;
|
||||
td->td_intr_nesting_level++;
|
||||
oldframe = td->td_intr_frame;
|
||||
td->td_intr_frame = frame;
|
||||
lapic_et.et_event_cb(&lapic_et, lapic_et.et_arg);
|
||||
td->td_intr_frame = oldframe;
|
||||
td->td_intr_nesting_level--;
|
||||
}
|
||||
critical_exit();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user