Kostik Belousov
2008-Aug-13 13:42 UTC
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]
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@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.cThis 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 -------------- 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/20080813/b85ccd64/attachment.pgp
John Baldwin
2008-Aug-13 20:26 UTC
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]
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@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@. > > 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.patchFYI, in 6.x and 7.x there is P_KTHREAD in p_flags that is what TDP_KTHREAD replaced. -- John Baldwin