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]
John Baldwin
jhb at freebsd.org
Wed Aug 13 20:26:13 UTC 2008
On Wednesday 13 August 2008 09:42:10 am Kostik Belousov wrote:
> On Wed, Aug 13, 2008 at 12:22:12AM +0000, MFC Notification Service wrote:
> > Dear Konstantin Belousov,
> >
> > 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.
> >
> > For reference purposes following is a copy of your original
> > commit message.
> >
> > Regards,
> >
> > Maxim "MFC Reminder" Sobolev
> > P.S. Please contact Maxim Sobolev <sobomax at FreeBSD.org> if you
> > believe that you received this message due to an error.
> >
> > kib 2008-07-30 11:30:55 UTC
> >
> > FreeBSD src repository
> >
> > Modified files:
> > sys/amd64/amd64 cpu_switch.S genassym.c
> > sys/amd64/ia32 ia32_signal.c
> > sys/amd64/include pcb.h
> > sys/amd64/linux32 linux32_machdep.c
> > Log:
> > SVN rev 180992 on 2008-07-30 11:30:55Z by kib
> >
> > Bring back the save/restore of the %ds, %es, %fs and %gs registers for
> > the 32bit images on amd64.
> >
> > 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.
> >
> > FreeBSD 32bit image activator sets the PCB_32BIT flag, while Linux 32bit
> > emulation sets PCB_32BIT | PCB_GS32BIT.
> >
> > Reviewed by: peter
> > MFC after: 2 weeks
> >
> > 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 at .
>
> 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
FYI, in 6.x and 7.x there is P_KTHREAD in p_flags that is what TDP_KTHREAD
replaced.
--
John Baldwin
More information about the freebsd-amd64
mailing list