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