Bah, move the invltlb counter to C code and hook a debug sysctl onto it.
This commit is contained in:
parent
6fd5b8fb09
commit
cfe10c5fa0
@ -275,7 +275,7 @@ Xinvltlb:
|
||||
movl PCPU(CPUID), %eax
|
||||
popl %fs
|
||||
ss
|
||||
incl _xhits(,%eax,4)
|
||||
incl xhits(,%eax,4)
|
||||
#endif /* COUNT_XINVLTLB_HITS */
|
||||
|
||||
movl %cr3, %eax /* invalidate the TLB */
|
||||
@ -570,12 +570,6 @@ Xrendezvous:
|
||||
|
||||
.data
|
||||
|
||||
#ifdef COUNT_XINVLTLB_HITS
|
||||
.globl _xhits
|
||||
_xhits:
|
||||
.space (MAXCPU * 4), 0
|
||||
#endif /* COUNT_XINVLTLB_HITS */
|
||||
|
||||
.globl apic_pin_trigger
|
||||
apic_pin_trigger:
|
||||
.long 0
|
||||
|
@ -2190,6 +2190,12 @@ start_ap(int logical_cpu, u_int boot_addr)
|
||||
return 0; /* return FAILURE */
|
||||
}
|
||||
|
||||
#if defined(APIC_IO) && defined(COUNT_XINVLTLB_HITS)
|
||||
u_int xhits[MAXCPU];
|
||||
SYSCTL_OPAQUE(_debug, OID_AUTO, xhits, CTLFLAG_RW, &xhits, sizeof(xhits),
|
||||
"IU", "");
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Flush the TLB on all other CPU's
|
||||
*
|
||||
|
@ -2190,6 +2190,12 @@ start_ap(int logical_cpu, u_int boot_addr)
|
||||
return 0; /* return FAILURE */
|
||||
}
|
||||
|
||||
#if defined(APIC_IO) && defined(COUNT_XINVLTLB_HITS)
|
||||
u_int xhits[MAXCPU];
|
||||
SYSCTL_OPAQUE(_debug, OID_AUTO, xhits, CTLFLAG_RW, &xhits, sizeof(xhits),
|
||||
"IU", "");
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Flush the TLB on all other CPU's
|
||||
*
|
||||
|
@ -2190,6 +2190,12 @@ start_ap(int logical_cpu, u_int boot_addr)
|
||||
return 0; /* return FAILURE */
|
||||
}
|
||||
|
||||
#if defined(APIC_IO) && defined(COUNT_XINVLTLB_HITS)
|
||||
u_int xhits[MAXCPU];
|
||||
SYSCTL_OPAQUE(_debug, OID_AUTO, xhits, CTLFLAG_RW, &xhits, sizeof(xhits),
|
||||
"IU", "");
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Flush the TLB on all other CPU's
|
||||
*
|
||||
|
@ -275,7 +275,7 @@ Xinvltlb:
|
||||
movl PCPU(CPUID), %eax
|
||||
popl %fs
|
||||
ss
|
||||
incl _xhits(,%eax,4)
|
||||
incl xhits(,%eax,4)
|
||||
#endif /* COUNT_XINVLTLB_HITS */
|
||||
|
||||
movl %cr3, %eax /* invalidate the TLB */
|
||||
@ -570,12 +570,6 @@ Xrendezvous:
|
||||
|
||||
.data
|
||||
|
||||
#ifdef COUNT_XINVLTLB_HITS
|
||||
.globl _xhits
|
||||
_xhits:
|
||||
.space (MAXCPU * 4), 0
|
||||
#endif /* COUNT_XINVLTLB_HITS */
|
||||
|
||||
.globl apic_pin_trigger
|
||||
apic_pin_trigger:
|
||||
.long 0
|
||||
|
@ -2190,6 +2190,12 @@ start_ap(int logical_cpu, u_int boot_addr)
|
||||
return 0; /* return FAILURE */
|
||||
}
|
||||
|
||||
#if defined(APIC_IO) && defined(COUNT_XINVLTLB_HITS)
|
||||
u_int xhits[MAXCPU];
|
||||
SYSCTL_OPAQUE(_debug, OID_AUTO, xhits, CTLFLAG_RW, &xhits, sizeof(xhits),
|
||||
"IU", "");
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Flush the TLB on all other CPU's
|
||||
*
|
||||
|
@ -2190,6 +2190,12 @@ start_ap(int logical_cpu, u_int boot_addr)
|
||||
return 0; /* return FAILURE */
|
||||
}
|
||||
|
||||
#if defined(APIC_IO) && defined(COUNT_XINVLTLB_HITS)
|
||||
u_int xhits[MAXCPU];
|
||||
SYSCTL_OPAQUE(_debug, OID_AUTO, xhits, CTLFLAG_RW, &xhits, sizeof(xhits),
|
||||
"IU", "");
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Flush the TLB on all other CPU's
|
||||
*
|
||||
|
@ -2190,6 +2190,12 @@ start_ap(int logical_cpu, u_int boot_addr)
|
||||
return 0; /* return FAILURE */
|
||||
}
|
||||
|
||||
#if defined(APIC_IO) && defined(COUNT_XINVLTLB_HITS)
|
||||
u_int xhits[MAXCPU];
|
||||
SYSCTL_OPAQUE(_debug, OID_AUTO, xhits, CTLFLAG_RW, &xhits, sizeof(xhits),
|
||||
"IU", "");
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Flush the TLB on all other CPU's
|
||||
*
|
||||
|
@ -275,7 +275,7 @@ Xinvltlb:
|
||||
movl PCPU(CPUID), %eax
|
||||
popl %fs
|
||||
ss
|
||||
incl _xhits(,%eax,4)
|
||||
incl xhits(,%eax,4)
|
||||
#endif /* COUNT_XINVLTLB_HITS */
|
||||
|
||||
movl %cr3, %eax /* invalidate the TLB */
|
||||
@ -570,12 +570,6 @@ Xrendezvous:
|
||||
|
||||
.data
|
||||
|
||||
#ifdef COUNT_XINVLTLB_HITS
|
||||
.globl _xhits
|
||||
_xhits:
|
||||
.space (MAXCPU * 4), 0
|
||||
#endif /* COUNT_XINVLTLB_HITS */
|
||||
|
||||
.globl apic_pin_trigger
|
||||
apic_pin_trigger:
|
||||
.long 0
|
||||
|
Loading…
Reference in New Issue
Block a user