Re: Steve's crashing 1.3 machine, cured?

really kuznet@ms2.inr.ac.ru (inr-linux-kernel@ms2.inr.ac.ru)
17 Apr 1996 15:00:37 +0400


Bjorn Ekwall (bj0rn@blox.SE) wrote:

: Do you favour any particular seasoning, or do you eat the hat "au naturel"? :-)

Au naturel 8)8)
Really, I am glad that you have seen my code!
I hesitated to send it to you or not for pretty long time.

: The symbol versioning got lost,

This code was forked from standard modules, when they had no symbols
versioning, and I an not going to implement this feature just
because I do not understand when it can be useful.

: along with the support for different
: module sets that are now implemented in /lib/modules.

You are wrong, it contains complete support for different module sets.
Module tree structure is fixed, but you may choose any root directory.
By default, it is /boot/THIS_KERNEL_VERSION.

: You have also removed the other uses for kerneld in the process,

Well, kerneld was good idea, but your implementation has two great
drawbacks:

1. It uses SYSV IPC, that are considered as obsolete, brain damaged and
useless tool (except for SHM). Really, IPCs are the first candidate
for sweaping out from kernel to module.

2. See above (I mean my hat 8)). Your interface is far from being safe.

: and put a suboptimal insmod in kernel space. It doesn't belong there...

This is piece of README for PATCH-89 (look at a. and c. items).

Alternative module system. Its heart is kernel based linker.
It was forked from the first release of standard modules,
I was lazy to publish them when linux could might accept it.
It was big mistake. Now it is too late to fix it.
Potentially Bjorn Ekwall's kerneld approach is more powerful,
but it is only potentially. My system is more powerful, more robust
and more simple now. In particular, it:

a. can load modules at boot time, f.e. I modularized even root
filesystem, even root device driver and FPU emulator.
I use "universal kernel" that has ext2, scsi, ide and floppy modules,
that boots on all my boxes and frees memory if they are not needed.
b. can swap modules, when they are not used but cannot be unloaded
(f.e. msdos filesystem is mounted but not used)
All filesystems, binary formats, SYSV IPC
and FPU emulator are made swappable.
c. FPU emulator is loaded automatically, it would be a problem
for standard modules.
d. does not require ksyms.c

Alexey Kuznetsov.