Date: Thu, 17 May 2018 21:41:20 +0200 From: Mateusz Piotrowski <0mp@FreeBSD.org> To: svn-src-head@freebsd.org Subject: Re: svn commit: r333755 - head/sys/kern Message-ID: <20180517214120.3c054527@oxy> In-Reply-To: <20180517212628.0ae99535@thor.intern.walstatt.dynvpn.de> References: <201805171908.w4HJ8SHO007826@repo.freebsd.org> <20180517212628.0ae99535@thor.intern.walstatt.dynvpn.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 17 May 2018 21:26:01 +0200 "O. Hartmann" <ohartmann@walstatt.org> wrote: >-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA512 > >Am Thu, 17 May 2018 19:08:28 +0000 (UTC) >Matt Macy <mmacy@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180517214120.3c054527>