Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 May 2018 21:26:01 +0200
From:      "O. Hartmann" <ohartmann@walstatt.org>
To:        Matt Macy <mmacy@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r333755 - head/sys/kern
Message-ID:  <20180517212628.0ae99535@thor.intern.walstatt.dynvpn.de>
In-Reply-To: <201805171908.w4HJ8SHO007826@repo.freebsd.org>
References:  <201805171908.w4HJ8SHO007826@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

-----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();
>  }
>  
> _______________________________________________
> 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-unsubscribe@freebsd.org"


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


- -- 
O. Hartmann

Ich widerspreche der Nutzung oder Übermittlung meiner Daten für
Werbezwecke oder für die Markt- oder Meinungsforschung (§ 28 Abs. 4 BDSG).
-----BEGIN PGP SIGNATURE-----

iLUEARMKAB0WIQQZVZMzAtwC2T/86TrS528fyFhYlAUCWv3XZAAKCRDS528fyFhY
lMQPAfkBPwmwdD6zM5MLNq8gsXlqlNPA+jXAnk5fBl+8GUZDN+CMnCwkRZRcuEbo
0b4YKC9VNqZjfF9QN5ztyFLxkwEbAf9NMCi5mvYMa2bAFCCjfCtdABdZhloResg7
i5BfvJF5DV4UDMyvRIeMTCUrXKIRsvbyaTwU7oV1tYgpL1Lqt+9p
=5OxY
-----END PGP SIGNATURE-----


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180517212628.0ae99535>