Re:linux-kernel-digest V1 #2941

Foong Wai Ho (
Sat, 05 Dec 1998 14:47:43 +0800

I am on leave from 7/12/98 till 9/12/98. For urgent matters you may resend the mail to :

Soo Heng (AUDTQSH) on Network Security related matters
Jenny (AUDTJCG) on PC and LAN matters.

Thank you.

>>> "" 12/05/98 06:34 >>>

linux-kernel-digest Friday, 4 December 1998 Volume 01 : Number 2941

In this issue:

Re: schedule_timeout: wrong timeout value (A[nother] very poor bug-report)
Re: disks stats through /proc
Re: Problem with 1G RAM
[patch] morethan900MB-2.0.36
Re: Looking for SMP-capable tester
Re: Limit of 256 NFS Mounted Filesystems
ne2k in 2.1.131
Re: [OFFTOPIC] Re: linux kernel hackers discover new theory of relativity!
Re: IDE freeze for seconds
Re: SMP scalability: 8 -> 32 CPUs
Re: Re: IDE freeze for seconds
[patch] 2.1.131, "noapic" boot option.
Re: aic7xxx Driver support faster than 20MB/sec?
Re: [PATCH] swapin readahead and fixes
Re: Internationalizing Linux
Re: suspendd-v0.1.0 released
Re: Software Suspend [HELP: buffer&schedule problems]
Re: [OFFTOPIC] Re: linux kernel hackers discover new theory of relativity!
Re: IDE-DMA strangeness (another one)
Re: Strange System Behavior
Re: [OFFTOPIC] Re: linux kernel hackers discover new theory of relativity!
Re: Problem with 1G RAM
Re: Dumb question: Which is "better" SCSI or IDE disks?
Re: Linux-2.1.131..

See the end of the digest for information on subscribing to the linux-kernel
or linux-kernel-digest mailing lists.


From: Myrdraal <>
Date: Fri, 4 Dec 1998 10:35:41 -0500
Subject: Re: schedule_timeout: wrong timeout value (A[nother] very poor bug-report)

I, also, have seen that schedule timeout message. I can trigger it
very, very consistantly. If I run mutt 0.94.17 and view a message,
the schedule timeout kernel message scrolls repeatedly until I hit
"q" and return to the message index. The exact message is:
schedule_timeout: wrong timeout value f3333335 from c012dcdd
According to, it seems to be sys_poll. Here's the excerpt:
c012dbec T sys_poll
c012de9c t fifo_open
This happened with 2.1.131 and also 2.1.131ac2. 2.1.131 was compiled
with a semi-old version of egcs, ac2 was compiled with the newest (30th)
version. This is on a AMD K6-2/333. Compile flags were -O99 -march=k6
-mcpu=k6. If more information is required, feel free to ask.
- -Myrdraal
- --
Linux jackalz 2.1.131 #5 Fri Dec 4 07:26:38 EST 1998 i586
10:29am up 2:52, 20 users, load average: 0.00, 0.00, 0.00
**[ Linux: Because a penguin makes a better mascot than Satan. ]**

Please read the FAQ at


From: Tigran Aivazian <>
Date: Fri, 4 Dec 1998 15:17:53 +0000 (GMT)
Subject: Re: disks stats through /proc

Thanks, I have got both of them.
I will have a detailed look at them this weekend.
However, instead of doing it in /proc/stat I will try to move it into
/proc/partitions - since we have /proc/partitions already (thanks to
Andries!) we might as well enhance it to include partition-level stats.

I will also study and play with Stephen Tweedie's sard stuff
which Alan Cox mentioned yesterday.

I think, as long as it does not harm performance, detailed performance
indicators in /proc would benefit everybody.


On Fri, 4 Dec 1998 wrote:

> I had fixed up the scsi/ide/4drive limit a while ago, but it was never
> included. It was around the IO-APIC introduction time (i.e. more
> important things were 'broken') and there were rumblings of a code freeze.
> Grab
> Each one does the same thing, but does it differently (apply *only* one of
> these, not both). 'array' hold a resizeable array for each device, and
> 'direct' creates a large array up-front for performance reasons. I like
> 'array' and Mark Lord likes 'direct'. It'll need a little fixing up to
> get it going on 2.1.130, but it shouldn't be a big deal. It's also
> trivial to do this on a partition level - it's just a matter of removing
> the switch() statement which intentionally removes the per-partition parts
> of a device #.
> -kf
> On Thu, 3 Dec 1998, Tigran Aivazian wrote:
> > IMHO, this should be done on a fine-grained (partition level) rather than
> > coarse (drive) level. There is enough information in
> > ll_rw_blk.c/add_request() to do it now but, of course, kernel_stat
> > structure will have to be seriously modified.
> >
> > There is something frustrating about the quality and speed of Linux
> > development. I.e. the quality is too high and the speed is too high, in
> > other words, I can implement this disk stat feature, but I bet someone else
> > has already done it and is just about to release his patch to Linus soon...
> heh

Please read the FAQ at


From: "David S. Miller" <>
Date: Fri, 4 Dec 1998 08:08:45 -0800
Subject: Re: Problem with 1G RAM

From: Jakub Jelinek <>
Date: Fri, 4 Dec 1998 10:43:33 +0100 (CET)

Yes, those are 64bit platforms. At least I hope it works well on
sparc64, nobody confirmed it yet (somebody tried it with 2.5GB RAM
though). sparc64 should support up to 1TB physical RAM, but most
of the boxes won't allow you to put that much memory in, AFAIK it
is something around 64GB or so at most one can put in at the


In fact, even sparc32, although PAGE_OFFSET is there 0xf0000000,
should support up to 2GB memory...

Right on sun4m, and you can get away with around 3.5GB on sun4d.
The sun4m limitation is due to the IOMMU, the sun4d case is just a
matter of running out of kernel + user address space. In these
sparc32 cases the PAGE_OFFSET is set dynamically at boot time based
upon how much memory is in the machine.

David S. Miller

Please read the FAQ at


From: MOLNAR Ingo <>
Date: Fri, 4 Dec 1998 16:50:53 +0100 (CET)
Subject: [patch] morethan900MB-2.0.36

On Thu, 3 Dec 1998, Leonard N. Zubkoff wrote:

> I have created a patch for Linux 2.0.36 that allows up to 2GB of physical
> memory to be utilized since we have customers that need this much or even more
> physical memory. [...]

we _definitely_ need support for more than 2G physical RAM. (eg. the
Torrent system demo on OracleWorld was run on a box with 2.5G RAM.) Also,
a 2G+2G split has performance disadvantages if the box in question has
less memory (eg. 1G RAM).

i've attached a backport of my 2.1 patch that makes the amount of
physical/virtual memory fine-tunable. (the patch is against 2.0.36).
Instead of a static split like the original kernel (and your patch,
apparently) this patch supports up to ~3.5G physical RAM, and also it does
auto-clipping and prints a warning message if available RAM is more than
configured RAM. (see Documentation/more-than-900MB-RAM.txt how to set it

i've tested the patch under SMP and UP kernels, with various settings, it
works just fine. The patch does not enforce any particular 'split', it can
be configured eg 3G physical + 1G virtual too if necessary. the
unconditional 2G/2G split has some performance disadvantages, so one wants
to tune the split as much as possible. My patch enforces the 128M RAM
necessary for vmalloc() and ioremap().

- -- mingo

begin 664 morethan900MB-2.0.36.gz

Please read the FAQ at


From: Colin Plumb <>
Date: Fri, 4 Dec 1998 09:13:42 -0700 (MST)
Subject: Re: Looking for SMP-capable tester

Thanks to everyone who tested it for me! Although it doesn't
matter that much, the output is easier to read if the skew is
actually computed properly.

This is a bit of forgetfulness on my part. The line
min1 = min2 = (unsigned)-1;
should be
min1 = min2 = (unsigned)-1 >> 1;

So far, it looks like the skew actually is consistently zero
on Intel boxes.
- --

Please read the FAQ at


From: Michel LESPINASSE <>
Date: Fri, 4 Dec 1998 17:12:02 +0100 (MET)
Subject: Re: Limit of 256 NFS Mounted Filesystems

On Fri, 4 Dec 1998, Richard Kaszeta wrote:

> Unfortunately, I've discovered that 256 is as high as one can reasonly
> put this limit, even with the 2.1.x kernel, as each nfs (or other
> 'nodev' type of mount) requires a device of major number 0 and a
> different minor number, so there can only be 255 nodev filesystems at
> any given time.

Yes. My understanding is that this should be fixed by the bigger dev_t in
the 2.3 kernel series (but not before, because there is a lot of issues
with this because dev_t is part of the exported kernel API)

> Anyone have ideas for workarounds? I have a *huge* amount of storage
> here for each user, which is why I starting using autofs to start
> with---it was the only efficient way of serving home directories
> (which are spread over a couple dozen servers and devices anyways, so
> most alternative schemes still would run into some of these limits).

dunno. perhaps you could try to mount each of these devices in their
entirety, and not each home dir separately. But yes, this is a very
serious limitation.

> We need to fix this if we are to claim that linux is a serious candidate
> for server use.

We will. but probably not before 2.3 :-(

- --
Michel "Walken" LESPINASSE - Development Engineer at Wind River Systems -
Microsoft is not the answer. Microsoft is the question. The answer is no.

Please read the FAQ at


From: "John R. Lenton" <>
Date: Fri, 04 Dec 1998 07:40:18 -0300
Subject: ne2k in 2.1.131

I've just finished installing 2.1.131 on my 386 to find that
I can't use my ne2000. I was using it fine in 2.1.129, never
got round to install 2.1.130, and now under '31 there's no
error message, no nothing but I ping -f my p200 box and it's
the same as ping'ing localhost, except in as much as
ifconfig is concerned.

I'm rather puzzled as I looked at the patch and there's no
even remotely relevant chage, unless the kernel dependancies
(or my ignorance) are /that/ bad.

I'm sure there's some kind of information I could send you,
but as I say there's nothing to it: I'm not even reaching
the cable!



Please read the FAQ at


From: Oliver Xymoron <>
Date: Fri, 4 Dec 1998 10:38:47 -0600 (CST)
Subject: Re: [OFFTOPIC] Re: linux kernel hackers discover new theory of relativity!

On 3 Dec 1998, H. Peter Anvin wrote:

> > Babylon 5 is closer to the reality of physics - the spinning station
> > creates artificial gravity, but only for people standing on the
> > inside walls of the cylinder. Those who are near of rotation axis
> > are in zero-gravity. This is not gravity guys, it's centrifugal
> > force, the same that pushes you against your car's window when you
> > take a sharp turn. --
> >
> Actually, it *is* gravity. Read up on general relativity if you don't
> believe me.

What GR says is that the local effects of gravity are indistinguishable
from acceleration, not that they are the same. Gravity is the name for a
force acting between two bodies proportional to their masses, yada yada
yada, not a generic term for the effects of acceleration.

- --
"Love the dolphins," she advised him. "Write by W.A.S.T.E.."

Please read the FAQ at


From: " Raymond A. Ingles" <>
Date: Thu, 3 Dec 1998 14:24:12 -0500 (EST)
Subject: Re: IDE freeze for seconds

On Thu, 3 Dec 1998, Nicholas J. Leon wrote:

> On Wed, 2 Dec 1998, Alex Buell wrote:
> # What is the first thing that ceases when you spin down a planet? That's
> # right, gravity. Everything not tied down would just fly out into space,
> # and that includes the atmosphere. Simple.
> What would happen is that we would all be crushed against the planet's
> surface as the balancing forces of gravity and centrifical would no longer
> be in accord.

Ummm... no. If centrifugal force were that big a factor, people would be
crushed by the Earth's gravity standing at the north pole.

At the equator... let's see, a BOTE calculation...

a = w^2/r -> a = (2*pi/86400 seconds)^2 / 6.4x10^6 meters ~= .034m/s^2

I.e., about .34% of the effect of gravity is cancelled by "centrifugal
force" at the equator. I doubt anyone would notice.

Still, everything would die after a while. Our "days" would immediately
become 365.25 days long. The dark side of the Earth would get *very* cold
before too long, and the atmosphere would start freezing out on that side.
The light side would get pretty warm, too. Of course, at the terminator
lines there would be some thawing and freezing, and I doubt it'd ever be
close to a vacuum, but it sure wouldn't be comfortable.

This is assuming you spin things down relatively gently, say over a few
months. If you do it fast, it would be even uglier. Impressive tides,
dramatic earthquakes, record winds, that sort of thing. *Then* the
atmosphere freezes out.

I'm going to go do something productive with my calculator now...


Ray Ingles (248) 377-7735

"Improvements succeeded each other so rapidly, that machines which had
never been finished were abandoned in the hands of their makers,
because new improvements had superceded their utility."

Charles Babbage 'On the Economy of Manufactures' 1832

Please read the FAQ at


From: Jim Woodward <>
Date: Fri, 4 Dec 1998 21:55:08 +1100 (EST)
Subject: Re: NO ROM BASIC

On Thu, 3 Dec 1998 wrote:

> Did you enable the SMP option?
> > make config
> > make dep
> > make bzImage
> > make install
> >
> > Then I rebooted. When it starts, it goes to 40 column mode and
> > says "NO ROM BASIC"
> Pardon me, but it sounds like you just booted an Atari 400 (or maybe a
> VIC 20, or possibly a Commodore PET ;-).
> Seriously, this almost sounds like a virus has infected your boot block.
> Can you boot off of floppy? Are you using LILO? Do you have more than
> one OS on your system?

I once saw this on my old 386 based linux system.. when the boot record
became corrupt.. it wasnt a virus, for some reason the BIOS just wouldnt
let the hdd boot, also could be related to incorrect drive geometry inthe
BIOS (heads, cylinders, sectors etc)

havent seen the error for a while but its probably part of the newer
BIOS's too (probably some legacy code) :)

Regards, Jim.

__ name: james woodward (jim)
/ . _ _ email:,
(_/ / / \/ ) www:,
| The e-mail address of this message is copyright. If you use them for |
| inappropriate spamming, you agree to pay $5,000 to James Woodward for |
| every act of misuse and unauthorized reproduction without permission. |

Please read the FAQ at


From: Torbjorn Lindgren <>
Date: Fri, 4 Dec 1998 12:16:26 +0100 (CET)
Subject: Re: SMP scalability: 8 -> 32 CPUs

On Thu, 3 Dec 1998, Jason Riedy wrote:
> ASCI Blue Mountain is a cluster of O2000s with 6144 total processors. I
> believe it's set up to appear as a cluster of single machine images (1k
> processors), each of which is a NUMA, but I don't have access to it to
> check. I don't know if the cluster follows the same design as the
> individual machines (fuzzy hypercubes).

According to the information on the website it consists of 48 Origin2000
with 128 CPU's each. Each machine has 12 HIPPI-800 ports, connected via a
3-dimensional torodial interconnect (with 36 16-port switches).

The flyer notes that they plan to upgrade the interconnect in 1999 to
HIPPI-6400 and 32-port HIPPI-6400 switches.

TOP500 Supercomputers:
(The Blue Mountain Flyer contains a lot of hard information about it)

> BTW, ASCI Blue Pacific, the 1344-processor IBM SP/2 version, is a cluster
> of 8-way SMPs (iirc). It has a pretty horrible memory latency problem
> inside a single node (it's as fast as talking to another node), but the
> _idea_ is to have a lot of really fast local memory, plus a trusted, fast
> connection to other SMPs.

4-way machines according to the information I found. Looks like they have
a new "machine" on their way, with a total of 5856 CPU's (1464 4-way SMP
machines) for "closed side" (classified stockpile stewardship computing ?)

>From the information it looks like they have 2/3 of these already, which
should put that relatively high on top500 list if it had been included.
Both uses 4-way 332 MHz PPC604e, but there were old notes about planning
to move to Power-3 in "1998". Looks like that have been delayed thought.


Lots of interresting links in that top500 list :-)

Please read the FAQ at


From: Matthias Andree <>
Date: Fri, 4 Dec 1998 12:47:58 +0100
Subject: Re: Re: IDE freeze for seconds

On Thu, Dec 03, 1998 at 10:05:12PM +0100, Johnny Teveßen wrote:
> Quoting Pavel Machek (
> > Get bdflush-1.6 from sunsite, there's way to postpone writes until
> > disk is spinned up again. I believe this is what you want.
> That's interesting. I was told that there's no way to find out whether
> an IDE drive is spinning or not. At least not without spinning it up.

There is, unless it is in sleep mode. Check hdparm which can report the
driver power state: operation, idle, standby, sleep. The latter two with
stopped disks, the former two with spinning disks. To recover from sleep
mode, you will need a soft- or hardware reset.

- --
Matthias Andree
--- How to obtain PGP public key
<> <<< /finger/ this
<> <<< mail, subject "SEND PGP-PUBLIC-KEY"

Please read the FAQ at


From: Tigran Aivazian <>
Date: Thu, 3 Dec 1998 21:27:39 +0000 (GMT)
Subject: [patch] 2.1.131, "noapic" boot option.

Dear Alan,

This patch implements the "noapic" option that was mentioned on your web
pages, or at least what I assumed you meant by it.
The patch is against 2.1.131 and was tested on Dual PII/400 machine with a
single IO-APIC.

Namely, when "noapic" option is passed symmetric io mode is not entered and
all IRQs appear as "XT-PIC" in /proc/interrupts. The detection of the
IO-APIC is still there, it just isn't used - all is delivered to CPU0.
I think this level of skipping is sufficient because it is the symmetric
mode and the actual use of io apic (rather than detection) was reported as
problemmatic by some on this list (probably with some broken hardware).


diff -urN linux/arch/i386/kernel/io_apic.c
- --- linux/arch/i386/kernel/io_apic.c Tue Oct 6 23:44:00 1998
+++ Thu Dec 3 19:56:01 1998
@@ -225,6 +225,13 @@
int pirq_entries [MAX_PIRQS];
int pirqs_enabled;

+void __init ioapic_setup(char *str, int *ints)
+ extern int skip_ioapic_setup; /* defined in arch/i386/kernel/smp.c */
+ skip_ioapic_setup = 1;
void __init ioapic_pirq_setup(char *str, int *ints)
int i, max;
diff -urN linux/arch/i386/kernel/smp.c
- --- linux/arch/i386/kernel/smp.c Mon Oct 5 20:19:44 1998
+++ Thu Dec 3 20:01:52 1998
@@ -28,24 +28,17 @@
* Alan Cox : Added EBDA scanning

- -#include <linux/config.h>
- -#include <linux/kernel.h>
- -#include <linux/string.h>
- -#include <linux/timer.h>
- -#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/kernel_stat.h>
#include <linux/delay.h>
#include <linux/mc146818rtc.h>
#include <asm/i82489.h>
- -#include <linux/smp.h>
#include <linux/smp_lock.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <asm/pgtable.h>
#include <asm/bitops.h>
#include <asm/pgtable.h>
- -#include <asm/smp.h>
#include <asm/io.h>

@@ -159,6 +152,7 @@
int mp_bus_id_to_pci_bus [MAX_MP_BUSSES] = { -1, };
int mp_current_pci_id = 0;
unsigned long mp_lapic_addr = 0;
+int skip_ioapic_setup = 0; /* 1 if "noapic" boot option passed */

/* #define SMP_DEBUG */

@@ -1170,7 +1164,8 @@
* Here we can be sure that there is an IO-APIC in the system. Let's
* go and set it up:
- - setup_IO_APIC();
+ if (!skip_ioapic_setup)
+ setup_IO_APIC();

diff -urN linux/init/main.c
- --- linux/init/main.c Sun Nov 29 18:37:02 1998
+++ Thu Dec 3 19:53:49 1998
@@ -90,6 +90,7 @@
extern void smp_setup(char *str, int *ints);
#ifdef __i386__
extern void ioapic_pirq_setup(char *str, int *ints);
+extern void ioapic_setup(char *str, int *ints);
extern void no_scroll(char *str, int *ints);
extern void kbd_reset_setup(char *str, int *ints);
@@ -541,6 +542,7 @@
{ "nosmp", smp_setup },
{ "maxcpus=", smp_setup },
#ifdef __i386__
+ { "noapic", ioapic_setup },
{ "pirq=", ioapic_pirq_setup },

Please read the FAQ at


From: Matthias Andree <>
Date: Fri, 4 Dec 1998 12:25:55 +0100
Subject: Re: aic7xxx Driver support faster than 20MB/sec?

On Thu, Dec 03, 1998 at 04:42:25PM -0800, Timm Gleason wrote:
> Does anyone know if the current version of the aic7xxx driver(5.1.4) support
> faster than 20MB/sec maximum transfer rate? I compiled a 2.0.36 kernel using
> the pre13 patch and the patch text had references in it to the aic7xxx
> driver being 5.0.20. This kernel did support the higher rates. However, I
> find that the kernel we compiled using the final release of 2.0.36 contains
> aic7xxx driver 5.1.4 and does not seem to accept negotiation higher than
> 20MB/sec. Yes, I have checked the SCSI BIOS for the controller and all ID's
> are set to 80MB/sec rate.

You're not stating if you have U2SCSI, but I assume you don't. So I can
assume you are messing up MB/s and MXfers/s: The MB/s are derived from
MXfers/s and the actual transfer width. So, 20 MXfers/s on a narror bus are
20 MB/s, 20 MXfers/s with a 16bit wide transfer gives 40 MB/s (which is what
you can probably achieve with the 20 MHz setting), a 32 bit wide transfer
would offer 80 MB/s, but I doubt your equipment actually does 32 Bit

In any case, the NEGOTIATION is done in MXfers/s (5 is "standard", 10 is
Fast, 20 is Ultra, regardless of width, and Width is 8 for "standard", 16
and 32 are for Wide scsi, regardless of Ultra/Fast), so 20 MB/s seems very
reasonable and is nothing which could limit your SCSI performance.

- --
Matthias Andree
--- How to obtain PGP public key
<> <<< /finger/ this
<> <<< mail, subject "SEND PGP-PUBLIC-KEY"

Please read the FAQ at


From: Philip Blundell <>
Date: Fri, 04 Dec 1998 11:10:10 +0100
Subject: Re: IDE -> ATA DISK

>Why not root? We already include some checks to prevent root from
>doing stupid things - for example, the kernel refuses to compile if
>the compiler used is too early a version - and I can see nothing wrong
>with putting in checks for other insane choices for precicely the same
>reason - to reduce the bug reports caused by setting such insane
>choices in the first place.

How many bug reports have you seen because someone turned off both ELF and


Please read the FAQ at


From: "Stephen C. Tweedie" <>
Date: Fri, 4 Dec 1998 11:34:18 GMT
Subject: Re: [PATCH] swapin readahead and fixes


On Thu, 3 Dec 1998 18:56:34 +0100 (CET), Rik van Riel
<> said:

> The swapin enhancement consists of a simple swapin readahead.

One odd thing about the readahead: you don't start the readahead until
_after_ you have synchronously read in the first swap page of the
cluster. Surely it is better to do the readahead first, so that you
are submitting one IO to disk, not two?

- --Stephen

Please read the FAQ at


From: Jon K Hellan <>
Date: Fri, 4 Dec 1998 12:39:19 +0100 (MET)
Subject: Re: Internationalizing Linux

> > This causes a maintenance headache. With this scheme,
> > whenever a new printk gets a macro-ized, you will have
> > to make sure the entries are correctly added to the 'n'
> > language specific headers, even if they are inserted in English.
> [...]
> It doesn't have to be like that. Consider using one file
> kmsg.h included by anything that needs the message #define's
> Now this file contains two lines only:
> #include <english.h> /* Because English is the development language for Linux
> */
> #include <norwegian.h> /* Or whatever you may want instead */

*If* this is done (I don't like the idea), messages must include a
language independent identifier (e.g. E1004, W2012, ... Only thus can
a support provider who doesn't understand swahili interpret the message.


- --
Jon K. Hellan
Div. of Telematics, Norw. U. of Science & Technology, Trondheim - Norway

Please read the FAQ at


From: Pavel Machek <>
Date: Wed, 2 Dec 1998 22:12:52 +0100
Subject: Re: suspendd-v0.1.0 released


> > > Hi, all. I've just thrown together a simple daemon which allows you
> > > to configure actions to be taken upon APM suspend or resume events.
> >
> > Ouch, should not this functionality be merged into apmd?
> I've had a look at the beta version of apmd, and I still don't like
> it, because:
> - only supports one command to run at suspend time

Which should not matter that much if that command is sh -c 'a; b' ;-)

> - doesn't distinguish between user and system suspends

So fix it.

> - doesn't provide a way to disable policy (the
> sync();sleep(0);sync();sleep(1); sequence)

Fix it.

> - does not document extra features.

I'm sure this is not problem for you. Anyway, you can always fix it ;-)

> And I'm not sure that what we want is a single super daemon. A
> collection of smaller daemons might be better, since it allows people
> to pick and choose. A super daemon is bloat for those who only want
> one small feature.

That daemon is

- -rwxr-xr-x 1 root root 38015 Sep 8 19:37 /usr/src/*

38K big. Unless you have even more crappy hardware than I
(386dx40/8Meg), you can probably live pretty well with this
'bloat'. And when someone modifies /proc/apm layout, you'll go out and
modify 5 different daemons. I believe this is not the way to go.

PS: You probably do not want 5 different bad apm daemons, one good apm
daemon is much better. BTW what you reported are bugs, and I'm pretty
sure their fixes can be easily rolled into official tree. Believe me,
it is easier than maintaining your own little daemon.
- --
I'm really Pavel
Look at ;-).

Please read the FAQ at


From: Pavel Machek <>
Date: Wed, 2 Dec 1998 22:57:13 +0100
Subject: Re: Software Suspend [HELP: buffer&schedule problems]


> Making snapshots will not be available in this kind of implementation,
> because suspending hangs on swap state [every process is tried to swapped
> out, so image won't be that big], and the state of filesystems also.
> This is a drawback [so I can't suspend a state, run another [not using
> that swap!] then continue the first one]. This is not good, because nfs
> filesystem may vary meantime [and why wouldn't they do that?].

Don't worry. NFS may vary _anytime_ so if you'll break it with your
patch, it was broken anyway. (Your linux machine may hung for 1hour
doing cli(); for(i=0; i<some_very_big_number; i++); sti(); without too
much things breaking. Do now worry.)

> Every possible info is shrinked [inode, buffer, dcache] but I don't know
> what to do with those are in use..
> Maybe we should revalidate them? But what if we did this suspend in the
> meantime of writing a buffer [and haven't marked it dirty yet - we
> load a previous state..].
> And what if we marked it... to reavalidate we have to flush it to disk as
> it is [with unfinished modifying]... It is not a problem if we continue
> with the original state but running another one [or a new one] is
> definitely bad.. FS corruption ... :O

You should probably expect the original state (try to solve easy task

> 2) On shrinking memory [to swap] I did call try_to_free_pages with gfp
> mask __GFP_WAIT. And it slept [of course :)]. So other processes were
> still running :(. [my mpeg player e.g.]. How to disable them? [It made an
> I was thinking of a shortcut in schedule() [if suspeinding is in progress
> then don't run any other process than the suspending one] But it's
> _ugly_.

You could create process with big rt priority and make it do while(1);
This should guarantee that no other process will have chance to
run. Of course your "suspender" process will have to have even higher
priority ;-).

- --
I'm really Pavel
Look at ;-).

Please read the FAQ at


From: Riccardo Facchetti <>
Date: Fri, 4 Dec 1998 14:05:05 +0100 (MET)
Subject: Re: [OFFTOPIC] Re: linux kernel hackers discover new theory of relativity!

On 3 Dec 1998, H. Peter Anvin wrote:

> > Babylon 5 is closer to the reality of physics - the spinning station
> > creates artificial gravity, but only for people standing on the
> > inside walls of the cylinder. Those who are near of rotation axis
> > are in zero-gravity. This is not gravity guys, it's centrifugal
> > force, the same that pushes you against your car's window when you
> > take a sharp turn. --
> Actually, it *is* gravity. Read up on general relativity if you don't
> believe me.

No way Peter, you are wrong. It is _not_ gravity.

You define gravity force as the force that follow the rule F=K*m1*m2/r^2.
Enlighten me showing how centripetal forces follow that rule (mainly how
you can accomodate the [m1*m2] term) !
I don't remember general relativity enougth, but I'm sure that centripetal
forces are _not_ comparable to gravity forces.
Yes ... they can be used to simulate gravity forces, the same way you can
use the acceleration of a car to simulate gravity force directed
horizontally: acceleration ... this is the key ... gravity is a force that
have a constant acceleration of 9.81 m/s^2 without motion between two
bodies while centripetal forces need motion !


Please read the FAQ at


From: Riley Williams <>
Date: Fri, 4 Dec 1998 12:23:14 +0000 (GMT)
Subject: Re: IDE -> ATA DISK

Hi Kurt.

>>> It's not that easy. You can have ext2 filesystems on ROM
>>> devices...

>> Only if the ROMfs is selected, whether "M" or "Y" is irrelevant...

> No. ROMfs is just a FS optimized for read-only and for requiring
> few space. You can put ext2fs on a ROM device, of course.

OK, wrong file system name, sorry...

>>> ...or a network block device.

>> You sure of that? I understood that NFS didnae use any of the other
>> file systems as it's a file system in its own right...

> No! You can put ANY filesystem on ANY block device. Why would
> somebody create nbd, otherwise? Read Documentation/nbd.txt, if you
> don't believe me. (It also says, that you need some program to set
> it up, so you can't use it as root device. But hey, use NFS as root
> and a nbd for your ext2 fs.)

>>> And it should be possible to compile a kernel w/o IDE and SCSI,
>>> but with ext2fs and nbd.

>> Possible, yes - but then, it's possible to compile a kernel
>> without support for a.out or ELF - whether such is sensible is
>> another question...

> I guess, you're right here. But have a close look at the other
> possible binfmts. binfmt_script is out of question as the
> interpreter has to be loaded ...

I only have 2.0.35 to hand at the moment, which allows just three
different formats:

1. a.out
2. ELF

The last needs to load the JAVA interpreter to be used, so inherently
needs one of the first two. As a result, if both of the first two are
selected "n" the system is severely crippled AFAICS...

> Maybe you can use a kernel for routing and forwarding network
> packets and things like that without needing userspace tools. But,
> yes, this is very unlikely.

Memory says that one needs userspace tools to configure those two
facilities in the first place - besides, to do anything, one needs to
log into the system, and /bin/login is an external program...

>>> If you want to put a warning for this case, OK, go ahead.

>> That's all I was referring to anyway...

>>> ... and the needed modules can still be added and inserted.

>> Even if the relevant options were selected "N" when configuring
>> the kernel? That's not my understanding.

> I have to admit, that I don't know how this is handled exactly. I
> know, it's possible to compile drivers for SCSI adapters as modules
> and inserting them after having compiled a kernel with "N"
> configuration for this adapter. Some modules might change the rest
> of the kernel by being selected with "M", but I think, Linus would
> not like such dependencies, and so there most probably only a few
> or none misbehaving like that.

I've never used SCSI since I don't have access to any systems using
it. However, my experience with the things I have tried indicates that
the following rules are true:

1. If CONFIG_MODULES="n" then nothing can be loaded as a module,
irrespective of anything else.

2. If CONFIG_FAT_FS="n" then none of the DOS FAT based file systems
can be loaded, even if modules for them are available.

3. If CONFIG_NFS_FS="n" then any attempt to load or use NFS results
in a syslog message stating that the kernel does not support NFS.

I have a feeling that the SCSI system is an exception to this pattern
since I have also heard of people being able to mount SCSI modules
that were selected "n" when the kernel was compiled, but as stated
above, I have no direct experience of this.

>>> The modules add significant complexity to your sanity checks.

>> Why?

>> IMHO all the sanity check needs to deal with is whether or not
>> options are set as "n" which in each case is a Yes/No decision. As
>> an example, have a look at the following, which generates an error
>> if the a.out and ELF executable formats are both set "n" since the
>> resulting kernel is rather less than useless...

>> ===8<=== CUT ===>8===
>> --- linux/arch/i386/ Mon May 13 05:17:23 1996
>> +++ linux/arch/i386/ Thu Dec 3 22:14:45 1998
>> @@ -36,6 +36,12 @@
>> if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
>> tristate 'Kernel support for JAVA binaries' CONFIG_BINFMT_JAVA
>> fi
>> +if [ "$CONFIG_BINFMT_AOUT $CONFIG_BINFMT_ELF" = "n n" ]; then
>> + echo '*** ERROR: Either a.out or ELF format is' \
>> + 'ESSENTIAL for Linux to work.' >&2
>> + echo ' Aborting configuration.' >&2
>> + exit 1
>> +fi
>> bool 'Compile kernel as ELF - if your GCC is ELF-GCC' CONFIG_KERNEL_ELF
>> choice 'Processor type' \
>> ===8<=== CUT ===>8===

>> Perhaps you could advise what's complicated about that...

> If you are sure, it's never useful to have a kernel without both
> ELF and A.OUT support, then it's the correct thing to do.

With the 2.0 series kernels as currently exist, it's highly unlikely
to be useful since without one of those two, no external programs can
be loaded.

Also, and here I'm speculating as I don't know the answer, but can an
ELF compiled kernel be loaded if ELF support is not included?

> But in most cases, I would not like to have an ERROR. You can
> display a WARNING, if you think the kernel configurator does
> something very stupid.

The problem there is that "make config" which has no means to go back
to reselect an earlier option as currently written. To handle this
situation elegantly requires a serious rethink there...

With "make menuconfig", it would be easy to have a "comment" appear if
an insane option combination was selected, but a better option would
be something along the lines of the warning message popped up by
"dep_tristate" when one selects "y" for an option that depends on an
option selected "m".

With "make xconfig", there is no easy way to pop up a warning,
although the ability to go back and change an earlier option obviously
already exists. In addition, choosing the "comment" option referred to
in "make menuconfig" above would result in the comment being
permanently displayed, thus making it meaningless...

> Consider the NFS/network example. Imagine root to have compiled
> modules for the network support. For some reason (s)he wants to
> have NFS in the kernel, but not recompile the network modules
> (maybe because (s)he has a 386). You should not forbid to do that.

Nor can I see reason to even warn about it - to my mind, that's a
perfectly valid configuration

> Un*x is used by a lot of people who know very well what they are
> doing. You can easily annoy these, by not allowing them to do what
> they like.

That's why I'd like to see this sort of functionality implemented as
warnings as well, but that's not possible without modifying the
configuration scripts first...

>>> There are so many ways to screw your system if you are root and
>>> don't think enough before you are doing something. Un*x is about
>>> saving the user from doing stupid things but not root.

>> Why not root? We already include some checks to prevent root from
>> doing stupid things - for example, the kernel refuses to compile
>> if the compiler used is too early a version - and I can see
>> nothing wrong with putting in checks for other insane choices for
>> precicely the same reason - to reduce the bug reports caused by
>> setting such insane choices in the first place.

> The security concept of any Un*x-like system is based on the
> assumption that we can trust root.

That does not automatically assume that root is the world's top
genius (who would automatically realise how insane some combinations
can be), only that root has been given both the authority and the
responsibility of maintaining the system, nothing more than that.

As an example of what I'm getting at, take the following hypothetical

Q> Linux was installed on a group of systems that all NFS mount
Q> their root directories some months back by a previous system
Q> administrator who has since left the company. A new system
Q> administrator has recently been appointed to take over those
Q> duties.

Q> Although none of the systems have them installed, the systems
Q> were set up with support for the IOmega parallel port Zip
Q> drive since some of the users have those drives available and
Q> bring them along to download and transfer files for their home
Q> systems. Since in this situation, the driver works best when
Q> compiled as a module, that's how it's set up.

Q> The new sysadmin is browsing through the kernel configuration
Q> to see whether it can be reduced in size since memory is tight,
Q> and notices that the SCSI subsystem is compiled in, although
Q> none of the systems have SCSI drives fitted. He therefore
Q> deselects it and recompiles the kernel without support for
Q> it, then puts the recompiled kernel as the one to use. He does
Q> NOT delete the ppa.o module since he didn't notice it in the
Q> first place.

Q> Following this, he gets a lot of users complaining that their
Q> PARALLEL port zip drives get corrupted when used on the system.
Q> (Don't laugh, that can happen under those circumstances). Since
Q> these are parallel port drives, he does not associate this
Q> problem with his removing the SCSI system, so spends several
Q> frustrating weeks trying to determine just what's gone wrong.

The system administrator was CORRECTLY trusted, and acted in what
(s)he thought was the best interest of all concerned. However, the
actions taken were WRONG!

This is one change I would like to see done, but wouldnae know how to
start: If an option is deselected that results in other options being
disabled, and any of those options are currently selected, some sort
of message should be displayed pointing out the fact, rather than just
blindly deleting those options as at present...

> The system needs to be set up, maintained, etc. and for this you
> need to be able to do things which can hurt you.

True, but is that a reason for encouraging root to be stupid, as
currently happens?

> I see no easy way out of this unless the computer becomes really
> intelligent. Then the computer will use humans to accomplish what
> it thinks is good

That would be a nightmare...

> You can screw or crash your system by deleting /lib/*,
> catting random stuff to /dev/mem, overwriting swap partitions etc.
> You don't want the kernel to check all this!

Nope, but I for one would like to be informed if an action of mine has
ramifications that I would be highly likely to overlook, and I see
nothing wrong with that.

If I'm going to do any of the things you mention, I'm highly likely to
be well aware of the ramifications, so there's no reason to get the
kernel to check. Likewise if I was to do "rm -fr /" as root, I would
not expect to have a working system afterwards...

> If you read linux-kernel, you probably noticed, that a lot of times
> users post a "Linux bug" or "security hole", which can just be
> exploited by root. Nothing which can only be exploited by root is a
> bug. At most bad policy. (I don't want to say that the kernel
> should do no checks at all, if you are root ...)


> BTW, there are some discussions how to better assign capabilities
> to users and root. The easy approach "root is allowed to do
> anything, the user almost nothing" is sometimes too stupid. Cause
> sometimes users need to do things which they can not be allowed in
> a general way, there's a large number of suid/sgid binaries and
> every single one is a potential security hole. Reducing the number
> of suid binaries needed is a good approach.

Definately agreed...

Related to this, I'd like to be able to stick the kernel source in the
standard directories, but allow users to compile variants of it in
their own userspace without having to copy the entire tree over. At
the moment, that's not possible though...

> If it's obvious and easy, add the checks. There's nothing wrong
> with it, then. If it's compilcated and non-obvious: Don't even try
> to get it right. You only complicate things then and the
> probability you missed something is really high.


>>> If there are easy and obviously correct sanity checks (when you
>>> do something which never makes sense), then add a warning or
>>> error message.

>> Precicely what I said in the email you appear to take such
>> exception to, so what's the problem with doing that?

> You really have to think twice before you forbid anything to
> anybody.

I'd prefer not to forbid anybody from doing anything, but the current
"make *config" options don't have any direct means of producing useful
warning messages, as per my earlier analysis.

> Another example: I happen to maintain a SCSI driver (tmscsim) for
> the DC390/AM53C974 controller. In the it used to check
> whether the AM53C974 driver is enabled and didn't allow the DC390
> driver to be compiled in, then. Nonsense! There might be perfectly
> valid cases to compile both, even if they support the same chip.
> Just imagine machines with, say, 2 DC390s and another onboard
> AM53C974 adapter.

> * Old versions only supported the Tekram DC390s.
> * Recent versions of tmscsim can be told to only support DC390s.

> So you can drive different adapters with different drivers, even
> with the same chip...

Agreed - I could see nothing wrong with that anyway...

> The example mentioned was also wrong, IMHO. It does make sense to
> compile ext2fs w/o IDE nor SCSI (nor floppy) support!

>>> In the kernel configuration process, there aren't many such
>>> cases, which aren't already prevented, IMHO.

>> {Shrug} The above case thereof was discovered with less than five
>> minutes study of the options presented by "make menuconfig", so is
>> hardly hidden. If such an obvious case is so readily apparent,
>> then there must be MANY more subtle ones...

> There are some config options you are not allowed to select, if you
> don't select the one they are dependent on. Eg. PCI devices w/o PCI
> support. I think most obvious cases are covered by such a logic.

Many are, but not all of them.

>>> I don't think, Linus will accept anything apart from cases, where
>>> it's obvious, that this configuration won't be any good.

>> I wouldnae think as much of him as I do if he accepted anything more
>> than that anyway, so I can't say that worries me...

> Agreed.

> I think we had enough discussion about this. I think you are
> wanting to find cases where the configurator is obviously doing
> stupid things. Think twice and add warnings (or errors, if it would
> result in a non-functional kernel) and post them. I think these
> will be discussed ...

Like I said above, until such time as a facility is added to the
various config scripts, warnings just aren't possible, so anything
inserted would have to be errors. That's why I havenae posted anything

Best wishes from Riley.

Please read the FAQ at


From: Kurt Garloff <>
Date: Fri, 4 Dec 1998 11:17:26 +0100
Subject: Re: IDE-DMA strangeness (another one)

On Thu, Dec 03, 1998 at 07:39:36PM -0500, John Kodis wrote:
> On Wed, Dec 02, 1998 at 11:43:34PM +0100, Kurt Garloff wrote:
> > So 33MB/s is quite realistic [for reads from buffer cache], but in
> > no way characteristic for your HD.
> I get a similar speed, but don't understand why. I would expect that
> given a 4-byte wide bus clocked at 33MHz performing a read from cache
> and a write into the destination userspace buffer, the buffer cache
> read speed should be more like 66MB/s. Is there another read/write
> pair that I've overlooked?

Basically you measure the main memory bandwidth for copying.

So, you should expect: ~50MB/s with Pentium and ~100MB/s with P-II (100MHZ
FSB), as reported by the ctcm tool. (c't cache monitor,

P-II does what it's expected to: 100MB/s.

I don't know exactly, why Pentium is slower than expected. It may be Linux
buffer cache handling overhead (not very likely). I think it's some of the
strangenesses of Pentium architecture.
Memory copying speed on a Pentium depends on whether you
* use movb or movl or use fpu
* implement software write allocation (loading target L1 cache lines)
* how many bytes you copy within the loop body (branch prediction issue?)

I don't know what mechanism the linux buffer cache uses.
I've seen 36MB/s on my old Cx6x86-P200+ (2x75MHz), IIRC.

- --
Kurt Garloff <> (Dortmund, FRG)
PGP key on

Please read the FAQ at


From: Barry Zubel <>
Date: Fri, 4 Dec 1998 13:02:20 +0000 (GMT)
Subject: Re: Strange System Behavior

On Thu, 3 Dec 1998, Paolo Galtieri wrote:

> Folks,
> I recently bought my first PC, however, I've been working with
> Unix for many years so this is not a newbe situation. Since I got
> it I have had nothing but strange problems with it which I so far
> been unable to determine whether they are hardware problems or
> software. I have run diagnostics on the hardware and I've brought
> the system back once already and there doesn't seem to be any obvious
> hardware problems, but yet the system will not stay up more that 24
> hours. First I'll describe the hardware then I'll list the various
> problems I've encountered.
> Motherboard: ASUS Dual Pentium II (350Mhz) w/ on board SCSI
> 1 4.3 GB disk
> 1 9 GB disk
> 1 5.1 IDE disk
> Matrox G200 video card
> Ensoniq AudioPCI sound card
> Eexpress pro 100 Ethernet card
> I have RH5.2 + 2.1.130 kernel loaded on the IDE drive.
> Here are the problems I see in no particular order.
> 1) When I build the kernel it takes about 10 - 20 tries to get it to
> build. This is due to the compiler terminating with sigsegv or
> other error. I'm using the gcc- compiler.
> 2) I will run make and make will lock up, i.e. it becomes an unkillable
> process, and my only resort is to shutdown and reboot the box.
> This problem looks like a traditional deadlock scenario. The wait
> channel field in the ps output always shows end as the address it
> is waiting on.
> 3) The system will lockup. This occurs even if the system has been
> idle. It will be working when I go to bed, and be locked up in
> the morning. By locked up I mean no keyboard or mouse input works
> for my X session, and any attempt to ping or telnet from another
> box fails. Sometimes ping will work, but not telnet. Obviously
> switching to an alternate console fails. This has occured whether
> or not I am running xscreensaver.
> 4) Various processes will terminate with sigsegv while running. e.g.
> xterm's will simply go away, or I'll be logged off my xsession
> completely.
> 5) At various times during the boot sequence I will get various oops
> regarding either NULL pointer dereference or problems accessing
> various virtual addresses.
> 6) On at least 2 occasions CPU 1 has panic'd with the following:
> Attempted to kill the idle task!
> 7) I'm getting lots of messages of the form:
> schedule_timeout: wrong timeout value <some val> from <some ptr>
> in /var/log/messages
> My question is has anyone had any success running an ASUS dual pentium
> motherboard along with a Matrox G200 video card ( using the matrox X
> server from SuSe)?
> If not, does anyone have a suggestion as to how I can best debug these
> problems, or better yet does anyone have fixes :-)?
> Any thoughts would be appreciated.
> Thanks
> Paolo
> --
> Paolo Galtieri Senior Software Engineer
> Motorola Computer Group INTERNET:
> 2900 S. Diablo Way VOICE: (602) 438 - 3754
> Tempe, AZ 85282
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to
> Please read the FAQ at

I'd place money on a hardware fault

Barry Zubel
VK Research Ltd

Please read the FAQ at


From: Tigran Aivazian <>
Date: Fri, 4 Dec 1998 12:38:46 +0000 (GMT)
Subject: Re: [OFFTOPIC] Re: linux kernel hackers discover new theory of relativity!


Depends on what you mean by "gravity".
Many many years ago I was perfectly content with the strikingly naive
notion of "gravity" as curvature (Rieamann tensor) of time-oriented
connected paracompact Lorentzian manifold supposed to represent our
spacetime; in such simple context your "*is*" should most certainly
be replaced by "*is not*", i.e. the curvature of one case is zero
and of "real gravity" is not.

If one, however, spends enough time on researching geometrical nature of
mass and electric charge one would be quite tempted to comment that there
is at least a seed of truth in your remark. In other words, one should seek
some sort of combination of the well-known concepts of "topology" and
"differentiable structure" (=manifold) which will embody Einstein Equation
in most natural form, provide explanation for the "nature" of singularities
and (ideally) encompass QM/QG in its conceptual framework and, most
importantly, provide criteria for selecting so-called "natural topology"
and "natural diff structure" which are used silently in GR when considering
concrete solutions and yet are never imposed/required when introducing the subject

But, in any case, you suggestion to study GR is definitely the best one can
receive in his life on this planet - here I agree with you completely :)


On 3 Dec 1998, H. Peter Anvin wrote:
> > Babylon 5 is closer to the reality of physics - the spinning station
> > creates artificial gravity, but only for people standing on the
> > inside walls of the cylinder. Those who are near of rotation axis
> > are in zero-gravity. This is not gravity guys, it's centrifugal
> > force, the same that pushes you against your car's window when you
> > take a sharp turn. --
> >
> Actually, it *is* gravity. Read up on general relativity if you don't
> believe me.
> -hpa
> --
> PGP: 2047/2A960705 BA 03 D3 2C 14 A8 A8 BD 1E DF FE 69 EE 35 BD 74
> See for web page and full PGP public key
> I am Bahá'í -- ask me about it or see
> "To love another person is to see the face of God." -- Les Misérables

Please read the FAQ at


From: Rik van Riel <>
Date: Fri, 4 Dec 1998 11:30:48 +0100 (CET)
Subject: Re: Problem with 1G RAM

On Thu, 3 Dec 1998, Tymm Twillman wrote:
> On Thu, 3 Dec 1998, Alan Cox wrote:
> > >
> > > i tried 2.1.130. it works fine with memory up to 1008M. at 1016M, the kernel
> > > boots, but sound and some other modules won't initialize correctly and file
> > > system is in trouble as well ( cuz the root is not cleanly unmounted even via
> > > regular shutting down). beyond 1016M, the kernel either reboot itself right
> > > away or just hang.
> >
> > It would. See include/asm/page.h for directions to building a 2Gig/2Gig kernel
> Perhaps it would be a good idea to clone this info in the Documentation
> directory (especially as the # of people with > 950 MB of memory is only
> going to grow, and include/asm/page.h isn't the most intuitive place to
> look :) ) ... Or even have it as a configuration option (with appropriate
> warnings, of course)

I will set up a Linux MM documentation section in the Linux
MM site. Then I'll also put a pointer file ("More.Info" or
something like that) in the Documentation directory.

Then every kernel subsystem is free to setup a web page/site
to document problems, internal structure, hacking info, todo
lists and tips&tricks themselves.

Including all possible info with the kernel would be far too
much and restricting the available info would be a bad thing.

Once each subsystem has it's own site there could even be a
bit of competition over who's got the best site -- this will
undoubtedly annihalate the "no support" FUD we've all been


Rik -- the flu hits, the flu hits, the flu hits -- MORE
| Linux memory management tour guide. |
| Scouting Vries cubscout leader. |

Please read the FAQ at


From: Rik van Riel <>
Date: Fri, 4 Dec 1998 11:17:52 +0100 (CET)
Subject: Re: NO ROM BASIC

On Thu, 3 Dec 1998, Konstantyn Prokopenko wrote:

> I'm new in Linux and I've got a problem compiling a kernel.
> I have dual PENTIUM II motherboard with 128 Mb memory runing Red Hat
> Linux. I compiled the 2.1.128 Linux kernel using:
> make config
> make dep
> make bzImage
> make install

I guess you want to do a 'make bzlilo' here, making sure that
the new kernel lands in the same place where the old kernel

To be absolutely sure, you probably also want to make a zdisk
(or bzdisk, if it exists).

When you are using modules, don't forget to build them too!

> Then I rebooted. When it starts, it goes to 40 column mode and
> says "NO ROM BASIC"

What, your spiffy new PII came without even a decent ROM
BASIC? What a ripoff... Sheez, you'd expect those computer
salesmen to have gotten some decency by now -- guess not. :)


Rik -- the flu hits, the flu hits, the flu hits -- MORE
| Linux memory management tour guide. |
| Scouting Vries cubscout leader. |

Please read the FAQ at


From: Rik van Riel <>
Date: Fri, 4 Dec 1998 13:17:27 +0100 (CET)
Subject: Re: Dumb question: Which is "better" SCSI or IDE disks?

On Thu, 3 Dec 1998, Russell Leighton wrote:

> What are good rules of "thumb" for
> choosing IDE vs SCSI when building
> a Linux system?

When there are not too many processes accessing the disk at
the same time, IDE is cheaper and thus to be preferred.

> Both are fast these days...I always
> thought that IDE==cheap, but loaded
> the CPU, so you didn't want that in
> a server or high performance machine

IDE and SCSI both load the CPU about as much. The difference
is that SCSI is a lot smarter and allows multiple outstanding
commands to a device and multiple devices being busy at the
same time. This means that you can get a lot more work done
with a SCSI subsystem than with an IDE one.

If, for instance, you have 2 IDE drives on the same channel
and you are waiting for drive 1 to read a sector, you cannot
tell drive 2 to get off of it's lazy butt and fetch you some

With SCSI all drives can seek for data at the same time, the
only time they block eachother is with the actual data
transfer, which comes out of a buffer anyway so that contention
is minimal.

Command reordering is another nice feature of SCSI drives, but
since Linux does something like that in software too it's not
that much of an issue anymore. IDE write caching has narrowed
that gap even more.

Scatter-gather _is_ a good argument for SCSI (IMHO of course)
since that allows you to give a command with lots of arguments
to a drive and the drive can continue processing the commands
(seeking) even while it is returning other data or accepting
new commands. Very nice for /home or /var...

MP3 or movie streaming can just as well be done from IDE drives
since you want to do large readaheads anyway and IDE is much
cheaper and has the same transfer speed and reliability.

I am using 2 SCSI and 2 IDE drives myself. The IDE drives do
mainly long, non time-critical data transfers and the SCSI
drives do lots of small transfers.


Rik -- the flu hits, the flu hits, the flu hits -- MORE
| Linux memory management tour guide. |
| Scouting Vries cubscout leader. |

Please read the FAQ at


From: Rik van Riel <>
Date: Fri, 4 Dec 1998 10:42:20 +0100 (CET)
Subject: Re: Linux-2.1.131..

On Thu, 3 Dec 1998, Andrea Arcangeli wrote:
> On Thu, 3 Dec 1998, Rik van Riel wrote:
> >
> > if (buffer_over_borrow() || pgcache_over_borrow())
> >- shrink_mmap(i, gfp_mask);
> >+ state = 0;
> >
> >This is a good fix as it returns behaviour back to the normal
> >and desired behaviour (except for too heavy cache pruning).
> >This patch would have been better however, since it does what
> >we want without too heavy cache pruning or massive swapout
> >frenzies.
> do_try_to_free_page() starting from its name must try to free 1 page. If
> shrink_mmap() just freed one page we have just finished our work and in
> such case why to continue eventually with a not needed swap out?

You haven't read my message, have you? :)

The next paragraph contained my own fix that does both
the above and frees memory while swapping...


Rik -- the flu hits, the flu hits, the flu hits -- MORE
| Linux memory management tour guide. |
| Scouting Vries cubscout leader. |

Please read the FAQ at


End of linux-kernel-digest V1 #2941

To subscribe to linux-kernel-digest, send the command:

subscribe linux-kernel-digest

in the body of a message to "". If you want
to subscribe something other than the account the mail is coming from,
such as a local redistribution list, then append that address to the
"subscribe" command; for example, to subscribe "local-linux-kernel":

subscribe linux-kernel-digest

A non-digest (direct mail) version of this list is also available; to
subscribe to that instead, replace all instances of "linux-kernel-digest"
in the commands above with "linux-kernel".

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at