diff options
author | Tor Egge <tegge@FreeBSD.org> | 1998-05-17 18:53:19 +0000 |
---|---|---|
committer | Tor Egge <tegge@FreeBSD.org> | 1998-05-17 18:53:19 +0000 |
commit | 5931a9c24e798d31c4389671b8c8431911b18c5d (patch) | |
tree | 2342abfecc35bedd34260b6012037f02f690dc23 /sys/i386/include/globaldata.h | |
parent | 592d5821a1b3c6106baf25600196a031108be4e0 (diff) |
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.
Notes
Notes:
svn path=/head/; revision=36125
Diffstat (limited to 'sys/i386/include/globaldata.h')
-rw-r--r-- | sys/i386/include/globaldata.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/i386/include/globaldata.h b/sys/i386/include/globaldata.h index e6b1dc80695f..efaa10a5c88d 100644 --- a/sys/i386/include/globaldata.h +++ b/sys/i386/include/globaldata.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]; |