summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/pcpu.h
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>1998-05-17 18:53:19 +0000
committertegge <tegge@FreeBSD.org>1998-05-17 18:53:19 +0000
commit0b804fd802fa866bc646c551c2012840ac87da5a (patch)
tree46502ad4eb6a67693cfd2e01e8918284088b7b41 /sys/i386/include/pcpu.h
parent28f799bedead6673aaebaef3fa804c0592a87548 (diff)
downloadFreeBSD-src-0b804fd802fa866bc646c551c2012840ac87da5a.zip
FreeBSD-src-0b804fd802fa866bc646c551c2012840ac87da5a.tar.gz
For SMP, use prv_PPAGE1/prv_PMAP1 instead of PADDR1/PMAP1.
get_ptbase and pmap_pte_quick no longer generates IPIs. This should reduce the number of IPIs during heavy paging.
Diffstat (limited to 'sys/i386/include/pcpu.h')
-rw-r--r--sys/i386/include/pcpu.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/i386/include/pcpu.h b/sys/i386/include/pcpu.h
index e6b1dc8..efaa10a 100644
--- a/sys/i386/include/pcpu.h
+++ b/sys/i386/include/pcpu.h
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: globaldata.h,v 1.1 1998/04/06 15:37:21 peter Exp $
+ * $Id: globaldata.h,v 1.2 1998/04/06 18:59:15 peter Exp $
*/
/*
@@ -57,6 +57,7 @@ struct globaldata {
pt_entry_t *prv_CMAP1;
pt_entry_t *prv_CMAP2;
pt_entry_t *prv_CMAP3;
+ pt_entry_t *prv_PMAP1;
int inside_intr;
#endif
};
@@ -79,16 +80,17 @@ struct privatespace {
lapic_t lapic;
char __filler1[PAGE_SIZE - sizeof(lapic_t)];
- /* page 3,4 - idle stack (2 pages) */
- char idlestack[2 * PAGE_SIZE];
+ /* page 3..2+UPAGES - idle stack (UPAGES pages) */
+ char idlestack[UPAGES * PAGE_SIZE];
- /* page 5,6,7 - CPAGE1,CPAGE2,CPAGE3 */
+ /* page 3+UPAGES..6+UPAGES - CPAGE1,CPAGE2,CPAGE3,PPAGE1 */
char CPAGE1[PAGE_SIZE];
char CPAGE2[PAGE_SIZE];
char CPAGE3[PAGE_SIZE];
+ char PPAGE1[PAGE_SIZE];
- /* page 8-15 - spare, unmapped */
- char __filler2[8 * PAGE_SIZE];
+ /* page 7+UPAGES..15 - spare, unmapped */
+ char __filler2[(9-UPAGES) * PAGE_SIZE];
/* page 16-31 - space for IO apics */
char ioapics[16 * PAGE_SIZE];
OpenPOWER on IntegriCloud