On Thu, 17 May 2018 21:26:01 +0200 "O. Hartmann" <ohartm...@walstatt.org> wrote:
>-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA512 > >Am Thu, 17 May 2018 19:08:28 +0000 (UTC) >Matt Macy <mm...@freebsd.org> schrieb: > >> Author: mmacy >> Date: Thu May 17 19:08:28 2018 >> New Revision: 333755 >> URL: https://svnweb.freebsd.org/changeset/base/333755 >> >> Log: >> epoch(9): restore thread priority on exit if it was changed by a waiter >> >> Reported by: markj >> Approved by: sbruno >> >> Modified: >> head/sys/kern/subr_epoch.c >> >> Modified: head/sys/kern/subr_epoch.c >> ============================================================================== >> --- head/sys/kern/subr_epoch.c Thu May 17 19:06:44 2018 >> (r333754) >> +++ head/sys/kern/subr_epoch.c Thu May 17 19:08:28 2018 >> (r333755) >> @@ -290,6 +290,7 @@ epoch_enter_internal(epoch_t epoch, struct thread *td) >> >> INIT_CHECK(epoch); >> critical_enter(); >> + td->td_pre_epoch_prio = td->td_priority; >> eps = epoch->e_pcpu[curcpu]; >> #ifdef INVARIANTS >> MPASS(td->td_epochnest < UCHAR_MAX - 2); >> @@ -326,6 +327,11 @@ epoch_exit_internal(epoch_t epoch, struct thread *td) >> TAILQ_REMOVE(&eps->eps_record.er_tdlist, td, td_epochq); >> eps->eps_record.er_gen++; >> sched_unpin(); >> + if (__predict_false(td->td_pre_epoch_prio != td->td_priority)) { >> + thread_lock(td); >> + sched_prio(td, td->td_pre_epoch_prio); >> + thread_unlock(td); >> + } >> critical_exit(); >> } > > >Failure in recent kernel build due to: > >[...] >===> acpi/aibs (all) >- --- subr_epoch.o --- >/usr/src/sys/kern/subr_epoch.c:293:6: error: no member named >'td_pre_epoch_prio' in >'struct thread' td->td_pre_epoch_prio = td->td_priority; > ~~ ^ >/usr/src/sys/kern/subr_epoch.c:330:26: error: no member named >'td_pre_epoch_prio' in >'struct thread' if (__predict_false(td->td_pre_epoch_prio != td->td_priority)) >{ > ~~ ^ >/usr/src/sys/sys/cdefs.h:455:51: note: expanded from macro '__predict_false' >#define __predict_false(exp) __builtin_expect((exp), 0) > ^~~ >/usr/src/sys/kern/subr_epoch.c:332:22: error: no member named >'td_pre_epoch_prio' in >'struct thread' sched_prio(td, td->td_pre_epoch_prio); > ~~ ^ >3 errors generated. >*** [subr_epoch.o] Error code 1 I've encountered the same issue. _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"