Messages in this thread | | | From | "Khimenko Victor" <> | Date | Tue, 28 Dec 1999 23:06:26 +0300 (MSK) | Subject | Re: [PATCH] 2.3.34/pre-2.3.35-3 ramdisk/initrd NOT as a |
| |
In <Pine.SV4.3.96.991228110656.3710A-100000@scofolks.ocston.org> Tigran Aivazian (tigran@ocston.org) wrote: TA> On Tue, 28 Dec 1999, Khimenko Victor wrote: >> WHY seems it unacceptable to you ? That's the qyestion :-)
TA> I think I said that it is obviously unacceptable
"obviously unacceptable" is not an explanation :-)
TA> but I don't mind to repeat the obvious things.
Obvious ? Not to me at least :-)
TA> Namely, the amount of RAM in a node is a phenomenological constant the TA> exact value of which should be irrelevant in non-failing cases.
Hmm. Why ?
TA> Of course, most sysadmins would have a rough idea on how much memory their TA> nodes have but they don't *have* to.
There are enough utilities to find such infomation.
TA> A human being should just be able to tell the system "make me a ramdisk of TA> size 64M with ext2 filesystem on it".
And system will try it's best to satisfy such request. You can ask system to create 10GiB filesystem on 1GiB HDD (with FAT you can do such thing easily :-) and you'll get random oopses later as well. Why it's Ok for "normal" device and not Ok for ramdisk ?
TA> If it succeeds then the human has the right to expect it to work.
If there are no 64MiB of physical RAM then it cann't work. If you created 10GiB filesystem on 1GiB hdd -- you made something wrong, not OS. If you created 64MiB ramdisk on system with 48MiB RAM you are done basically the same mistake. What's the difference ?
TA> If it fails, *then* and only then he can ask (especially if its ENOMEM) TA> "why did it fail?" and the answer which then turns phenomenological TA> feature into pragmatical reality is "because you don't have enough TA> physical RAM".
1) You can ignore amount of RAM ONLY since there are virtual memory. You can not use virtual memory for ramdisk (not yet, at least :-) or for kernel itself (including various drivers -- some will need big buffers). So here you should be more carefull. 2) It does not the case with normal memory allocation in Linux. Why Ramdisk should be different ?
TA> That is how UNIX systems work and that is how therefore Linux system TA> should work.
Linux is NOT UNIX. Linux is dubbing Unix only where it's reasonable.
TA> But, as I don't know yet how to fix it, arguing further about it is rather TA> silly on my side - I am trying to learn enough to fix it.
So far I can not understood why it should be fixed. At least I can not understood why "normal OOM" (in case of OOM linux goes REALLY wild and will kill random processes including syslog (almost always) and init (sometimes) and this problem is there for years) does not bother you more then randisk overflow case. To me situation where system can be killed with stupid runaway process with memory leak or wild fork is MUCH worse then situation where you created ramdisk more then there are physical RAM and then system was locked... At least in second case you made something STUPID from ROOT...
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |