Re: HEADS UP Re: cvs commit: src/sys/conf options.i386 src/sys/i386/i386 bios.c locore.s machdep.c mpboot.s pmap.c vm86bios.s vm_machdep.c src/sys/i386/include _types.h bus_at386.h param.h pmap.h

From: Jake Burkholder <jake_at_locore.ca>
Date: Sun, 30 Mar 2003 02:07:23 -0500
Apparently, On Sun, Mar 30, 2003 at 01:13:01AM -0500,
	Jake Burkholder said words to the effect of;

> Apparently, On Sat, Mar 29, 2003 at 09:24:53PM -0800,
> 	Jake Burkholder said words to the effect of;
> 
> > jake        2003/03/29 21:24:53 PST
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     sys/conf             options.i386 
> >     sys/i386/i386        bios.c locore.s machdep.c mpboot.s pmap.c 
> >                          vm86bios.s vm_machdep.c 
> >     sys/i386/include     _types.h bus_at386.h param.h pmap.h 
> >   Log:
> >   - Add support for PAE and more than 4 gigs of ram on x86, dependent on the
> >     kernel opition 'options PAE'.  This will only work with device drivers
> >     which either use busdma, or are able to handle 64 bit physical addresses.
> 

...

To clarify that the ram above 4G is used for, it just goes into the general
page pool.  I don't intend to implement a means for user process's to access
more then their ~2.5G address space through a sliding window as has been done
on other systems, but this should be quite easy to do should someone be so
inclined.  To give an example, on a 6G system you see things like this:

Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 5.0-CURRENT #6: Sat Mar 29 21:23:28 GMT 2003
    jake_at_p4.locore.ca:/usr/p4/pae/src/sys/i386/compile/P4
Preloaded elf kernel "/boot/kernel/kernel" at 0xc046f000.
Timecounter "i8254"  frequency 1193182 Hz
CPU: Intel(R) XEON(TM) CPU 1.80GHz (1794.71-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf24  Stepping = 4
  Features=0x3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,C
MOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM>
  Hyperthreading: 2 logical CPUs
real memory  = 6710886400 (6400 MB)
avail memory = 6260428800 (5970 MB)
...

last pid:   704;  load averages:  0.07,  0.02,  0.01    up 0+01:38:27  01:46:35
24 processes:  1 running, 23 sleeping
CPU states:  0.0% user,  0.0% nice,  0.1% system,  0.1% interrupt, 99.8% idle
Mem: 7472K Active, 10M Inact, 78M Wired, 13M Buf, 5925M Free
Swap: 8192M Total, 8192M Free

You still need several processes in order to user more than 4G of ram:

last pid:   712;  load averages:  3.44,  1.06,  0.40    up 0+01:40:23  01:48:31
29 processes:  6 running, 23 sleeping
CPU states: 49.2% user,  0.0% nice,  0.4% system,  0.4% interrupt, 50.0% idle
Mem: 5128M Active, 10M Inact, 88M Wired, 13M Buf, 795M Free
Swap: 8192M Total, 8192M Free

  PID USERNAME PRI NICE   SIZE    RES STATE  C   TIME   WCPU    CPU COMMAND
  708 jake     130    0  1025M  1026M RUN    0   0:31 40.38% 39.65% suck
  709 jake     132    0  1025M  1026M RUN    2   0:25 36.59% 35.89% suck
  707 jake     132    0  1025M  1026M CPU2   0   0:23 36.37% 35.74% suck
  710 jake     132    0  1025M  1026M RUN    2   0:24 36.04% 35.35% suck
  711 jake     131    0  1025M  1026M RUN    0   0:23 35.83% 35.11% suck
  471 jake      96    0  5680K  2680K select 0   0:01  0.00%  0.00% sshd

etc.

Jake
Received on Sat Mar 29 2003 - 23:01:07 UTC