svn commit: r333755 - head/sys/kern
Mateusz Piotrowski
0mp at FreeBSD.org
Thu May 17 19:40:20 UTC 2018
On Thu, 17 May 2018 21:26:01 +0200
"O. Hartmann" <ohartmann at walstatt.org> wrote:
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA512
>
>Am Thu, 17 May 2018 19:08:28 +0000 (UTC)
>Matt Macy <mmacy at 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.
More information about the svn-src-head
mailing list