My machine has 1G of main memory. And I am running 2.0.33/SMP with the
bigphysarea patch. If I set append="mem=1024M" in /etc/lilo.conf my machine
won't boot. By trial and error I discovered that the largest value that I can
set and have my machine boot is 1015M. And that appears to be monotonic so
linear search works to find that number. But unfortunately at 1015M my floppy
drive doesn't work and my SCSI Exabyte 8505XL doesn't work. Again, I tried
binary search but the memory sizes where the tape drive and floppy drive work
appears to be nonmonotonic. Here is a log of my experiments since I started
accurately recording:

   mem=1015M bigphysarea=610 floppy doesn't work
   mem=1015M bigphysarea=0 floppy works
   mem=1015M bigphysarea=610 tape doesn't work
   mem=1015M bigphysarea=0 tape doesn't work
   mem=256M bigphysarea=0 tape works
   mem=768M bigphysarea=0 tape works
   mem=896M bigphysarea=0 tape works
   mem=960M bigphysarea=0 tape works
   mem=992M bigphysarea=0 tape works
   mem=1000M bigphysarea=0 tape works

Anyway, I noticed that newer 2.1 kernels that can autodetect more than 64M
have code that maxes out the memory size at 980M when detecting 1G. Here are
my questions:

1. Is this 980M just a kludgy guess or is it some precisely determined magic
   number? I want to make sure because I don't know if other things besides
   the tape drive and floppy are flakey. I'd like the maximum number at which
   I can be guaranteed that everything will work.

2. Why can't I use 1G, or at least 1G minus a very small amount. 980M means
   wasting 44M which is almost 5%.

    Jeff (http://www.neci.nj.nec.com/homepages/qobi)

Reply via email to