From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Subject: Test-image of 0.96 available at banjo Date: 8 May 92 22:05:44 GMT As 0.96 has some changes in harddisk IO handling (interrupts, timings etc), I'd like for people that have ever had problems with the harddisk driver under linux to try out the last test-image of the 0.96 kernel before the official release - I'd rather not have the same types of problems that we had with 0.95. The image (no sources - wait till next week) is available at banjo.concert.net: pub/Linux/Incoming/testimage.Z, and is just my current bootimage that I'd like some feedback on. The changes to the harddisk driver (which is the main reason I want to make sure this version works) are just: - interrupts enabled most of the time - inb_p / outb_p changes The first one is to lessen interrupt latency, the second one hopefully helps people who had problems with the driver at high speeds. Both changes work well for me, but then my machine seems to accept almost anything... I hope 0.96 will work without any "a" releases. I'd also be interested to hear if this image removes the problems with serial lines at high speeds under X, as well as /any/ other problems. I can still make minor bug-fixes if something turns up, but I'd want reports by early next week or so (preferably with "testimage" in the subject line). The image is compiled with the us keyboard maps, and with the floppy-device as root. It should be binary compatible with all old versions, as well as the interim X version, so you just plug in the new kernel and you're (hopefully) off. Ignore this post if you don't have time to check out the image this weekend: the image is only meant as a quick test-release to get some fast feedback. Linus
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Subject: 0.96 uploaded Date: 12 May 92 16:51:12 GMT Well, the title says it all: I've sent off 0.96 to banjo.concert.net, where it can be found in pub/Linux/Linus along with a new bootimage and a program for formatting floppies under linux (which works only under 0.96). I've also sent it to tsx-11.mit.edu and I'll send it to nic as soon as the lines clear up. General warning about 0.96: - the scsi code is in the kernel, but I haven't personally tested it, so who knows... The SCSI code also results in a 4-5 second pause at bootup with the current bootimage, while it searches for an adapter: if you find this disturbing, you have to recompile the kernel with the appropriate changes to config.h. - The harddisk timings have changed: the testimage got a generally good review, but it hasn't been tested very much. The changes seem to help at least some "HD times out" problems, but there might be new bugs.. - The serial code was totally rewritten this weekend, and I haven't tested it out under any heavier load. I found one bug as late as today, and there might be others lurking around. - There have been generally pretty heavy rewrites: it's binary compatible with the old kernels, but the changes might not all be correct. Oh, well. That said, I hope 0.96 will be an improvement on earlier versions, and most of the old bugs corrected. If the new version still has some problem - please mail me with a new bugreport. Otherwise I'll just assume the problem went away: I'm afraid don't have time to go through old mail searching for any bugs that might still be in there. Partial list of features: - automatic floppy detection. Please add the following devices: mknod /dev/fd0 b 2 0 mknod /dev/fd1 b 2 1 which act as A and B floppies respectively, finding out automatically what kind of disk there is. The floppy driver now also contains a timeout, so an empty diskdrive no longer results in a floppy driver hang. - serial lines now support dropping DTR on closing, and sending SIGHUP to the process group that is logged in on a serial line. It's also a lot easier to change the interrupts etc of the lines. - unix sockets supported for X, as well as mmap() on /dev/mem etc. - pty's corrected. Hopefully no more hangs under X due to pty trouble. - better IO-performance when there are computationally intensive jobs in the background or on another VC. Partly due to new scheduler mechanism, partly due to read-ahead on normal files. - cleaned up vfs layer. - no more mismatched children - minor corrections all over the place. The new release is in fact different enough that there is no use trying to make context diffs: files have disappeared, others are new, others have simply changed a lot. Even compared to pre-0.96 there has been quite a lot of changes. Linus
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Subject: Testers wanted... new 0.96 image Date: 14 May 92 13:23:45 GMT I've put a new testimage on banjo.concert.net: pub/Linux/Linus/boot92.05.14.Z and I hope people that have problems with 0.96 could try it out. I've mainly tried to remove some races in the serial code, but I hope this image also corrects the bootup problems experienced by some people. If you have problems booting the original 0.96, or are seeing more errors with the new serial lines, please try it out. As with the earlier testimage, it's no use to me if you can't test it out in a day or two: by that time I'll probably release 0.96a or a new testimage depending on the success of this one. Linus
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Subject: Harddisk problems, new testrelease Date: 18 May 92 16:53:17 GMT I've put out the latest test-image on banjo.concert.net in the file pub/Linux/Linus/boot92.05.18.Z: it should hopefully correct the harddisk problems some people have had with plain 0.96. I'll make it official by calling it 0.96a if there are no more problems (and make source available as well. Later this week). If you had fs corruption problems or similar with 0.96, try out the new version: unless I get feedback on it, I can't try to correct any remaining hardware-related bugs. It seems the harddisk interrupts have to run to completion with all other interrupts disabled: I haven't found out exactly where the problem is, but that's how it looks right now. Thus interrupt latency went up again :(. It's still better than 0.95, I hope. The above testimage (and the upcoming 0.96a release) contains the kill fix (and the same serial fixes as in the last testimage), and uses the rewritten keyboard handler by Johan Myreen (essentially the same driver, but rewritten in C). Linus PS. boot92.05.18.Z on saatavilla my|s klaavassa: /usr/tmp/linux
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Subject: 0.96a available Date: 22 May 92 21:01:59 GMT Oh, well, no use in delaying it any more, so I sent out my latest release to nic.funet.fi, tsx-11.mit.edu and banjo.concert.net. They should show up in the next couple of days (they are already visible on banjo: /pub/Linux/Linus). I hope all the bugs got fixed, but I did something potentially stupid: I had expected that lankaster wouldn't get his hd-speedup patches ready for 0.96a, and I was resigned to the same hd-performance as with all older releases. But when I saw them on the newsgroup today I thought I'd try them out just in case, as I could always use my backup-version if they backfired... The point here is that the patch ended up in 0.96a after some minor edits by me (one benign bug and some editing due to changed files). So now hd-performance is much better on most operations. I just hope it doesn't result in yet another release just to fix new bugs (but I doubt it: the patches were really minor and clean - no ugly hacks needed I'm happy to say). Branko already posted benchmarks, and I can only confirm that it's indeed snappier, especially on writes. syncing is no longer a pain even after heavy writing. Other than the hd-performance, there are no new features I haven't already mentioned in other posts. Bug-fixes, rewrites in C, better debugging. I haven't made the cdiffs yet, so right now the new release is only available as complete source and as a binary, but I'll try to get patches done tonight. Possibly tomorrow. The patches will be against the original 0.96, and shouldn't be too big. Linus PS. No need for more 16550 info: even if somebody doesn't implement it for the next release, I think I can get it going. Doesn't seem too hard. I'll also start to look into core-files. Eventually. Promise. PPS. Ja 0.96a on taas saatavilla klaavasta /usr/tmp/linux'ssa yliopistolla kirjoilla oleville.
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Subject: 0.96c out Date: 4 Jul 92 23:25:40 GMT The latest kernel version is 0.96c: the binary and sources can be found on banjo.concert.net: pub/Linux/Linus as usual. I haven't made the cdiffs yet, and I'll upload those tomorrow (at the same time I'll put it on the other sites as well). 0.96c is actually what I called patch3 earlier this week, but as the new features were pretty big and the cdiff's are probably going to be bigger than the normal patches, I decided I might as well make it a totally new minor release and make a bootimage and complete source available. 0.96c contains: - bugfixes (tty, console driver, pty's, sockets) - fifo's (names pipes - Paul Hargrove & editing by me) - the alpha extended filesystem (Remy Card) - st_blocks implemented (ie du, ls give reasonable if not exact values for disk-space used) - Makefile cleanups and warnings at compile-time removed Note that while the extended filesystem code is there, and this kernel successfully mounts and uses the new filesystem (with long filenames and >64MB partitions), it's still under testing: I haven't made the mkefs program available, and the extended filesystem features shouldn't be used for other than testing right now. Some of the changes are just cleanups: most of the warnings when compiling the new kernel should be gone (not counting the scsi code which is still the old non-cleaned-up version), and the make'ing of the kernel is more logical now. The bugfixes include the corrected console.c driver, the socket corrections (without which X sometimes locks up), some pty semantics corrections (although I'm still not certain it's correct) and some editing in the general tty driver (including fixing the bug introduced in 0.96b.pl2 that caused a reboot with uninitialized tty devices). While the extended filesystem support isn't "official" yet, I can happily report that my limited testing hasn't found any problems with long filenames etc. It still needs a fsck program, but 1.0 looks like a real possibility soon. Linus
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Subject: Linux v. 0.97 is out Date: 1 Aug 92 15:08:38 GMT [ I already sent this to the mailing-list, and it's the same release-note, so if you already saw it, you can skip this ] Linux version 0.97 is available as both a complete source-tree (linux-0.97.tar.Z) and a bootimage (bootimage-0.97.Z) on the normal ftp-sites. It's in incoming on tsx-11.mit.edu, so it will take a day or two to actually show up, but it's available right now on nic.funet.fi: pub/OS/Linux/testing/Linus/ banjo.concert.net: pub/Linux/Linus/ The nic.funet.fi-directory is under 'testing' not so much because this would be a testing-release, but because the directory-setup is in testing :-). I think 'testing' is unreadable, so you have to cd to the directory blindly. There is also a kernel-compilation README (written by Lars Wirzenius), as well as a COPYING (which is just a pointer to the GNU copyleft). The latter not because anything has changed, but because I got a few mails pointing out that the copyright of linux wasn't too clear. That also resulted in changing the '(C)'s in the source to 'Copyright'. 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
From: tytso@ATHENA.MIT.EDU (Theodore Ts'o) Subject: Re: Linux-0.97 out Reply-To: tytso@ATHENA.MIT.EDU (Theodore Ts'o) Date: Sun, 2 Aug 1992 00:51:26 GMT Date: Sat, 1 Aug 1992 17:58:11 +0300 From: torvalds@cc.helsinki.fi (Linus Torvalds) Linux version 0.97 is available as both a complete source-tree (linux-0.97.tar.Z) and a bootimage (bootimage-0.97.Z) on the normal ftp-sites. It's in incoming on tsx-11.mit.edu, so it will take a day or two to actually show up, but it's available right now on nic.funet.fi: pub/OS/Linux/testing/Linus/ banjo.concert.net: put/Linux/Linus/ 0.97 is now available on TSX-11.MIT.EDU: pub/linux/sources/system pub/linux/images - Ted