summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/include/tsb.h
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2002-02-26 02:37:43 +0000
committerjake <jake@FreeBSD.org>2002-02-26 02:37:43 +0000
commit84d0ef926838761796ff63bde8d68c05472802ff (patch)
treed8ea3450a12b7dc29b2c2a27cf4308cd1e81861f /sys/sparc64/include/tsb.h
parentaea627e8493eaf1a9d2b8b0789b453fd9afc5322 (diff)
downloadFreeBSD-src-84d0ef926838761796ff63bde8d68c05472802ff.zip
FreeBSD-src-84d0ef926838761796ff63bde8d68c05472802ff.tar.gz
Allow the user tsb to span multiple pages. Make the default 2 pages for now
until we do some testing to see what's best. This gives a massive reduction in system time for processes with a relatively large working set. The size of the tsb directly affects the rss size that a user process can keep mapped. When it starts to get full replacements occur and the process takes a lot of soft vm faults. Increasing the default from 1 page to 2 gives the following before and after numbers for compiling vfs_bio.c: before: 14.27 real 6.56 user 5.69 sys after: 8.57 real 6.11 user 1.62 sys This should make self hosted builds more tolerable.
Diffstat (limited to 'sys/sparc64/include/tsb.h')
-rw-r--r--sys/sparc64/include/tsb.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/sparc64/include/tsb.h b/sys/sparc64/include/tsb.h
index 14593c9..4025112 100644
--- a/sys/sparc64/include/tsb.h
+++ b/sys/sparc64/include/tsb.h
@@ -32,7 +32,9 @@
#ifndef _MACHINE_TSB_H_
#define _MACHINE_TSB_H_
-#define TSB_BSHIFT PAGE_SHIFT_8K
+#define TSB_PAGES_SHIFT (1)
+#define TSB_PAGES (1 << TSB_PAGES_SHIFT)
+#define TSB_BSHIFT (TSB_PAGES_SHIFT + PAGE_SHIFT)
#define TSB_BSIZE (1UL << TSB_BSHIFT)
#define TSB_SIZE (TSB_BSIZE / sizeof(struct tte))
#define TSB_BUCKET_SHIFT (2)
OpenPOWER on IntegriCloud