Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Aug 2008 16:42:10 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        amd64@freebsd.org, stable@freebsd.org
Cc:        peter@freebsd.org
Subject:   Re: Pending MFC Reminder [cvs commit: src/sys/amd64/amd64 cpu_switch.S genassym.c src/sys/amd64/ia32 ia32_signal.c src/sys/amd64/include pcb.h src/sys/amd64/linux32 linux32_machdep.c]
Message-ID:  <20080813134210.GG1803@deviant.kiev.zoral.com.ua>
In-Reply-To: <200808130022.m7D0MCaK082721@freefall.freebsd.org>
References:  <200808130022.m7D0MCaK082721@freefall.freebsd.org>

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

--nhYGnrYv1PEJ5gA2
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Aug 13, 2008 at 12:22:12AM +0000, MFC Notification Service wrote:
> Dear Konstantin Belousov,
>=20
> As you have requested, I would like to notify you that you have
> committed a change that may be MFC'ed now, as a testing period
> specified at the time of that commit is over.
>=20
> For reference purposes following is a copy of your original
> commit message.
>=20
> Regards,
>=20
> Maxim "MFC Reminder" Sobolev
> P.S. Please contact Maxim Sobolev <sobomax@FreeBSD.org> if you
> believe that you received this message due to an error.
>=20
> kib         2008-07-30 11:30:55 UTC
>=20
>   FreeBSD src repository
>=20
>   Modified files:
>     sys/amd64/amd64      cpu_switch.S genassym.c=20
>     sys/amd64/ia32       ia32_signal.c=20
>     sys/amd64/include    pcb.h=20
>     sys/amd64/linux32    linux32_machdep.c=20
>   Log:
>   SVN rev 180992 on 2008-07-30 11:30:55Z by kib
>  =20
>   Bring back the save/restore of the %ds, %es, %fs and %gs registers for
>   the 32bit images on amd64.
>  =20
>   Change the semantic of the PCB_32BIT pcb flag to request the context
>   switch code to operate on the segment registers. Its previous meaning
>   of saving or restoring the %gs base offset is assigned to the new
>   PCB_GS32BIT flag.
>  =20
>   FreeBSD 32bit image activator sets the PCB_32BIT flag, while Linux 32bit
>   emulation sets PCB_32BIT | PCB_GS32BIT.
>  =20
>   Reviewed by:    peter
>   MFC after:      2 weeks
>  =20
>   Revision  Changes    Path
>   1.162     +29 -18    src/sys/amd64/amd64/cpu_switch.S
>   1.169     +1 -0      src/sys/amd64/amd64/genassym.c
>   1.18      +1 -1      src/sys/amd64/ia32/ia32_signal.c
>   1.65      +1 -0      src/sys/amd64/include/pcb.h
>   1.47      +1 -1      src/sys/amd64/linux32/linux32_machdep.c

This appeared to be a not quite trivial MFC to perform. The reason for
complication is that the HEAD code for amd64 context switch was changed,
in particular by the r177535 by peter@.

The r177535 formally requires r177533 for the definition of the
TDP_KTHREAD symbol for asm. The definition is needed for optimization
of the context switch to the "pure kernel thread", introduced in
r173004 that is not MFCed either, and possibly never be.

I do not want to backport the code to the old context switch, that would
mean a rewrite from scratch. Instead, I merged the r177535 (optimization
of context switch by peter@), and commented out corresponding test in
the cpu_switch.S for the TDP_KTHREAD.

I would be glad to get an opinions on the approach taken, and especially
for the wider testing on the RELENG_7/amd64. The problem better be
solved for 7.1.

The patch:
http://people.freebsd.org/~kib/misc/amd64_ctx.releng_7.4.patch

--nhYGnrYv1PEJ5gA2
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAkii5LEACgkQC3+MBN1Mb4gbPQCfYKTAF9jBX5BHrdZe65HL9gSV
Zm8AoJfu5kJDSYWG0vv/TH6aIty/1N4C
=9zso
-----END PGP SIGNATURE-----

--nhYGnrYv1PEJ5gA2--



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