From: Linus Torvalds (torvalds@klaava.Helsinki.FI)
Date: 11/09/92


From: torvalds@klaava.Helsinki.FI (Linus Torvalds)
Subject: Linux version 0.98-pl4
Date: 9 Nov 1992 11:22:01 GMT

As the subject probably tells you, pl4 is out. It's currently available
at least on nic.funet.fi: pub/OS/Linux/PEOPLE/Linus/, but will probably
show up on the other major sites very soon.

pl4 is available both as complete source (linux-0.98.4.tar.Z) and as
patches against pl3 (linux-0.98.patch4.Z) and against the pre-version
that was released for limited testing (pre-patch4.Z or something like
that). Things that have changed:

 - the inode caching bug (resulting in bad filesystem info when
   mounting/umounting devices) should be gone for good.

 - an elusive race-condition in the fs is fixed: this may have been the
   reason some people got fsck errors once in a while. The
   race-condition was pretty hard to find, and depends on a lot of
   things (buffer cache size, speed of the disk and computer speed).

 - fpu emulator patches (mainly for the re-entrancy problem) by me and
   W. Metzenthen.

 - various wait-queue changes - the kernel uses the waiting mechanism
   more efficiently now.

 - the NFS client support code is there: the actual nfs code is still in
   alpha (although reported to be pretty stable) and has to be gotten
   separately.

 - NR_OPEN was changed from 32 to 256 (which is what SunOS seems to use,
   so I hope it won't need any further changes). This has lead to some
   incompatibilities (GNU emacs and the term program seem to need
   recompilation to work correctly), as the 'select()' system call has a
   slightly changed interface due to the new fd_set definition.

 - the process kernel stack is now on a separate page (needed due to the
   fact that the task_struct has now grown to almost 3kB due to the
   NR_OPEN changes). This also means 'ps' needs patches.. My patches
   to ps-0.98 are available as 'ps-diff.Z' in the same directory as the
   kernel sources and diffs.

 - various other changes: system call tracing by Ross Biro. Changed
   ll_rw_block interface (performance reasons: it will eventually be
   changed to accept several requests at once). Malloc() was changed
   and renamed to kmalloc() due to the new interface. Some tcp/ip
   patches (inode counting correction and some other changes).

0.98.4 should hopefully be pretty stable: the main problem areas are
probably still tcp/ip and some of the tty code. I'd appreciate
comments, bug-reports etc.

                Linus