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]

Kostik Belousov kostikbel at gmail.com
Thu Aug 14 11:00:12 UTC 2008


On Wed, Aug 13, 2008 at 03:48:37PM -0400, John Baldwin wrote:
> 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.

Thank you for note. I updated the patch to use P_KTHREAD.
http://people.freebsd.org/~kib/misc/amd64_ctx.releng_7.5.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20080814/8d1bc106/attachment-0003.pgp


More information about the freebsd-stable mailing list