Author: mav Date: Sat Jul 24 10:49:59 2010 New Revision: 210444 URL: http://svn.freebsd.org/changeset/base/210444
Log: 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. Modified: head/sys/x86/x86/local_apic.c Modified: head/sys/x86/x86/local_apic.c ============================================================================== --- head/sys/x86/x86/local_apic.c Sat Jul 24 10:07:17 2010 (r210443) +++ head/sys/x86/x86/local_apic.c Sat Jul 24 10:49:59 2010 (r210444) @@ -811,10 +811,12 @@ lapic_handle_timer(struct trapframe *fra 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(); } _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"