Skip site navigation (1)Skip section navigation (2)
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>