aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/amd64/support.S
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2002-02-25 23:49:51 +0000
committerPeter Wemm <peter@FreeBSD.org>2002-02-25 23:49:51 +0000
commit6bd95d70dbea236dea8d874628e4df07060b1b9d (patch)
tree0754b996bbf402ca335dd8c6d902bac23f681df8 /sys/amd64/amd64/support.S
parent12ce63ed2a8028ba62d86930d1f5ab00a5de794e (diff)
downloadsrc-6bd95d70dbea236dea8d874628e4df07060b1b9d.tar.gz
src-6bd95d70dbea236dea8d874628e4df07060b1b9d.zip
Work-in-progress commit syncing up pmap cleanups that I have been working
on for a while: - fine grained TLB shootdown for SMP on i386 - ranged TLB shootdowns.. eg: specify a range of pages to shoot down with a single IPI, since the IPI is very expensive. Adjust some callers that used to trigger this inside tight loops to do a ranged shootdown at the end instead. - PG_G support for SMP on i386 (options ENABLE_PG_G) - defer PG_G activation till after we decide what we are going to do with PSE and the 4MB pages at the start of the kernel. This should solve some rumored strangeness about stale PG_G entries getting stuck underneath the 4MB pages. - add some instrumentation for the fine TLB shootdown - convert some asm instruction wrappers from functions to inlines. gcc seems to do a fair bit better with this. - [temporarily!] pessimize the tlb shootdown IPI handlers. I will fix this again shortly. This has been working fairly well for me for a while, but I have tweaked it again prior to commit since my last major testing round. The only outstanding problem that I know of is PG_G related, which is why there is an option for it (not on by default for SMP). I have seen a world speedups by a few percent (as much as 4 or 5% in one case) but I have *not* accurately measured this - I am a bit sceptical of these numbers.
Notes
Notes: svn path=/head/; revision=91260
Diffstat (limited to 'sys/amd64/amd64/support.S')
-rw-r--r--sys/amd64/amd64/support.S36
1 files changed, 0 insertions, 36 deletions
diff --git a/sys/amd64/amd64/support.S b/sys/amd64/amd64/support.S
index bc586725b3c0..06490098e0f3 100644
--- a/sys/amd64/amd64/support.S
+++ b/sys/amd64/amd64/support.S
@@ -1591,42 +1591,6 @@ ENTRY(ssdtosd)
popl %ebx
ret
-/* load_cr0(cr0) */
-ENTRY(load_cr0)
- movl 4(%esp),%eax
- movl %eax,%cr0
- ret
-
-/* rcr0() */
-ENTRY(rcr0)
- movl %cr0,%eax
- ret
-
-/* rcr3() */
-ENTRY(rcr3)
- movl %cr3,%eax
- ret
-
-/* void load_cr3(caddr_t cr3) */
-ENTRY(load_cr3)
-#ifdef SWTCH_OPTIM_STATS
- incl tlb_flush_count
-#endif
- movl 4(%esp),%eax
- movl %eax,%cr3
- ret
-
-/* rcr4() */
-ENTRY(rcr4)
- movl %cr4,%eax
- ret
-
-/* void load_cr4(caddr_t cr4) */
-ENTRY(load_cr4)
- movl 4(%esp),%eax
- movl %eax,%cr4
- ret
-
/* void reset_dbregs() */
ENTRY(reset_dbregs)
movl $0,%eax