> On May 17, 2016, at 20:55, Mark Johnston <ma...@freebsd.org> wrote: > > Author: markj > Date: Wed May 18 03:55:54 2016 > New Revision: 300110 > URL: https://svnweb.freebsd.org/changeset/base/300110 > > Log: > Do not acquire the thread lock in hardclock_cnt() unless needed. > > This function only sets thread flags if a SIGPROF or SIGVTALRM timer > has fired, which is almost never the case. > > MFC after: 2 weeks > > Modified: > head/sys/kern/kern_clock.c > > Modified: head/sys/kern/kern_clock.c > ============================================================================== > --- head/sys/kern/kern_clock.c Wed May 18 03:50:21 2016 (r300109) > +++ head/sys/kern/kern_clock.c Wed May 18 03:55:54 2016 (r300110) > @@ -570,9 +570,11 @@ hardclock_cnt(int cnt, int usermode) > flags |= TDF_PROFPEND | TDF_ASTPENDING; > PROC_ITIMUNLOCK(p); > } > - thread_lock(td); > - td->td_flags |= flags; > - thread_unlock(td); > + if (flags != 0) { > + thread_lock(td); > + td->td_flags |= flags; > + thread_unlock(td); > + }
Use predict_false? > > #ifdef HWPMC_HOOKS > if (PMC_CPU_HAS_SAMPLES(PCPU_GET(cpuid))) > _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"