Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Dec 2011 12:51:42 +0200
From:      Ivan Klymenko <fidaj@ukr.net>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r228207 - head/sys/kern
Message-ID:  <20111203125142.442e4bf6@nonamehost.>
In-Reply-To: <201112021959.pB2Jxka6006739@svn.freebsd.org>
References:  <201112021959.pB2Jxka6006739@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
=D0=92 Fri, 2 Dec 2011 19:59:46 +0000 (UTC)
John Baldwin <jhb@FreeBSD.org> =D0=BF=D0=B8=D1=88=D0=B5=D1=82:

> Author: jhb
> Date: Fri Dec  2 19:59:46 2011
> New Revision: 228207
> URL: http://svn.freebsd.org/changeset/base/228207
>=20
> Log:
>   When changing the user priority of a thread, change the real
> priority in addition to the user priority for threads whose current
> real priority is equal to the previous user priority or if the new
> priority is a real-time priority.  This allows priority changes of
> other threads to have an immediate effect.
>  =20
>   MFC after:	2 weeks
>=20
> Modified:
>   head/sys/kern/kern_resource.c
>=20
> Modified: head/sys/kern/kern_resource.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/sys/kern/kern_resource.c	Fri Dec  2 19:56:46
> 2011	(r228206) +++ head/sys/kern/kern_resource.c	Fri
> Dec  2 19:59:46 2011	(r228207) @@ -488,8 +488,9 @@
> rtp_to_pri(struct rtprio *rtp, struct th sched_class(td,
> rtp->type);	/* XXX fix */ oldpri =3D td->td_user_pri;
>  	sched_user_prio(td, newpri);
> -	if (curthread =3D=3D td)
> -		sched_prio(curthread, td->td_user_pri); /* XXX
> dubious */
> +	if (td->td_user_pri !=3D oldpri && (td =3D=3D curthread ||
> +	    td->td_priority =3D=3D oldpri || td->td_user_pri >=3D
> PRI_MAX_REALTIME))
> +		sched_prio(td, td->td_user_pri);
>  	if (TD_ON_UPILOCK(td) && oldpri !=3D newpri) {
>  		critical_enter();
>  		thread_unlock(td);
> _______________________________________________
> svn-src-all@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
>=20
>=20

Thank you!
It's a little corrected the situation with interactivity with using ULE
scheduler...
But quite a bit... :)



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