Author: jkim
Date: Tue Dec 14 20:19:41 2010
New Revision: 216446
URL: http://svn.freebsd.org/changeset/base/216446

Log:
  MFC:  r210780
  
  Rearrange struct pcb to make better use of cache lines.
  
  Approved by:  re (kib)

Modified:
  stable/8/sys/amd64/amd64/genassym.c
  stable/8/sys/amd64/include/pcb.h
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/amd64/amd64/genassym.c
==============================================================================
--- stable/8/sys/amd64/amd64/genassym.c Tue Dec 14 20:13:30 2010        
(r216445)
+++ stable/8/sys/amd64/amd64/genassym.c Tue Dec 14 20:19:41 2010        
(r216446)
@@ -135,7 +135,6 @@ ASSYM(PCB_RIP, offsetof(struct pcb, pcb_
 ASSYM(PCB_FSBASE, offsetof(struct pcb, pcb_fsbase));
 ASSYM(PCB_GSBASE, offsetof(struct pcb, pcb_gsbase));
 ASSYM(PCB_KGSBASE, offsetof(struct pcb, pcb_kgsbase));
-ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags));
 ASSYM(PCB_CR0, offsetof(struct pcb, pcb_cr0));
 ASSYM(PCB_CR2, offsetof(struct pcb, pcb_cr2));
 ASSYM(PCB_CR3, offsetof(struct pcb, pcb_cr3));
@@ -146,6 +145,7 @@ ASSYM(PCB_DR2, offsetof(struct pcb, pcb_
 ASSYM(PCB_DR3, offsetof(struct pcb, pcb_dr3));
 ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6));
 ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7));
+ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags));
 ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault));
 ASSYM(PCB_GS32SD, offsetof(struct pcb, pcb_gs32sd));
 ASSYM(PCB_TSSP, offsetof(struct pcb, pcb_tssp));

Modified: stable/8/sys/amd64/include/pcb.h
==============================================================================
--- stable/8/sys/amd64/include/pcb.h    Tue Dec 14 20:13:30 2010        
(r216445)
+++ stable/8/sys/amd64/include/pcb.h    Tue Dec 14 20:19:41 2010        
(r216446)
@@ -55,15 +55,6 @@ struct pcb {
        register_t      pcb_fsbase;
        register_t      pcb_gsbase;
        register_t      pcb_kgsbase;
-       u_long          pcb_flags;
-#define        PCB_DBREGS      0x02    /* process using debug registers */
-#define        PCB_KERNFPU     0x04    /* kernel uses fpu */
-#define        PCB_FPUINITDONE 0x08    /* fpu state is initialized */
-#define        PCB_USERFPUINITDONE 0x10 /* fpu user state is initialized */
-#define        PCB_GS32BIT     0x20    /* linux gs switch */
-#define        PCB_32BIT       0x40    /* process has 32 bit context (segs 
etc) */
-#define        PCB_FULLCTX     0x80    /* full context restore on sysret */
-
        register_t      pcb_cr0;
        register_t      pcb_cr2;
        register_t      pcb_cr3;
@@ -75,6 +66,15 @@ struct pcb {
        register_t      pcb_dr6;
        register_t      pcb_dr7;
 
+       u_long          pcb_flags;
+#define        PCB_DBREGS      0x02    /* process using debug registers */
+#define        PCB_KERNFPU     0x04    /* kernel uses fpu */
+#define        PCB_FPUINITDONE 0x08    /* fpu state is initialized */
+#define        PCB_USERFPUINITDONE 0x10 /* fpu user state is initialized */
+#define        PCB_GS32BIT     0x20    /* linux gs switch */
+#define        PCB_32BIT       0x40    /* process has 32 bit context (segs 
etc) */
+#define        PCB_FULLCTX     0x80    /* full context restore on sysret */
+
        uint16_t        pcb_initial_fpucw;
 
        caddr_t         pcb_onfault; /* copyin/out fault recovery */
_______________________________________________
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-unsubscr...@freebsd.org"

Reply via email to