-
Linus Torvalds authored
Move <xxx.h> to <linux/xxxx.h> Variable-sized buffer blocks and dynamic buffer cache allocation. The VM knows how to shrink it automatically! Add support for "fast" interrupt handlers for serial lines. Update copyrights to say 1992 too. Remove broken VESA video card handling. Separate out partition handling code ("genhd"). Make init unkillable. Norwegian keyboard map. Future Domain SCSI controller driver by Rik Faith. Changes in 0.97: - The VESA-support was removed. I'd be happy to put it back once it works on all hardware. Instead of the VESA-code, I finally put in the automatic SVGA setup patches. See the top-level Makefile. - The IRQ code has solidified, and should work on all machines. Not all of the SCSI drivers use it yet, so I expect patches for that.. - Serial interrupts are handled slightly differently, and performance should be up. I've sent out a few alpha-releases, and testing seems to indicate that's actually true this time. Reactions have ranged from "nice" to "wonderful" :-) - The buffer-cache and memory management code has been edited quite a bit. ps/free etc programs that reads kernel memory directly no longer work, and even a recompilation won't be enough. They actually need editing before they work. The buffer-cache now grows and shrinks dynamically depending on how much free memory there is. Shift+PrintScreen will give some memory statistics. (Ctrl+PrSc gives task-info, ALT+PrSc gives current register values). The mm code changes removed some race-conditions in the VM code, and I also tried to make the Out-of-swapspace error less severe (better thrashing-detection etc). - The super-block code has been cleaned up. Especially the extended fs needs to be edited a bit to take advantage of the new setup, and I expect Remy Card will have a patch out eventually. - include-files have been moved around some more: there are still some names that clash with the standard headers, but not many. - Unswappable processes implemented: by default only 'init' is unswappable. This is a bit safer in low-memory conditions, as at least init won't die due to low memory. I also made killing init impossible: if init doesn't recognize a signal, it simply won't get it. Some other changes ("while (1) fork();" won't kill the machine for non-root users etc) - The new SCSI drivers are in. These make the kernel noticeably bigger, but you can leave them out if you don't want them. - The floppy- and hd-drivers print out more debugging-info in case of errors: this might be irritating if you have hardware that works, but often gives soft-errors. On the other hand, some old debugging-info was removed - notably for user-level protection errors etc. - Various minor fixes. I haven't made cdiffs (and I haven't gotten any requests for them, so I probably never will), but they would be pretty big. Things that I didn't have time for: - I wanted to rewrite the tty drivers to be more "streams-like" (ie not an actual streams-implementation, but some of the ideas from streams). I never got around to it: there was simply too much else to do. - I got a lot of patches, and some went in, others didn't. If you think your patch was important, please re-send it relative to the new version. I'd like comments on the new system: performance / clarity of code etc. 0.97 should correct all known bugs (at least the ones I know about), but I guess that's just wishful thinking. Note that the dynamic buffer-code also handles differently-sized buffers, but that the rest of the system (block device drivers, filesystem code etc) cannot yet take advantage of this - there is still some coding needed. Linus
ddc733f4