home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / os / linux / 9950 < prev    next >
Encoding:
Internet Message Format  |  1992-09-08  |  5.6 KB

  1. Path: sparky!uunet!mcsun!news.funet.fi!hydra!klaava!torvalds
  2. From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
  3. Newsgroups: comp.os.linux
  4. Subject: 0.97 patchlevel 3 available
  5. Message-ID: <1992Sep5.184606.11361@klaava.Helsinki.FI>
  6. Date: 5 Sep 92 18:46:06 GMT
  7. Organization: University of Helsinki
  8. Lines: 110
  9.  
  10. [ This was already sent to the NORMAL mailing-list, and this is
  11.   essentially the same announcement. ]
  12.  
  13. Well, 0.97.pl3 is available both as full source (linux-0.97.3.tar.Z) and
  14. as a context diff (linux-0.97.patch3.Z) on nic.funet.fi, in the normal
  15. directory (pob/OS/Linux/testing/Linus).  It seems some line is once more
  16. down on the way to the US, so I haven't uploaded it to tsx-11 yet. 
  17. Also, I haven't been able to use the pub/Linux/Linus directory on
  18. sunsite (it dies on me when I try to send the group password), so I
  19. don't know when sunsite will get the new release. 
  20.  
  21. Patch3 is almost 100kB even compressed, as there were quite big changes
  22. in the mm and minix fs.  No major new features: there are two new system
  23. calls: swapoff(const char * swapfile) and wait4(), and linux accepts
  24. several swap-files, but the rest of the thing is mostly bug-fixes or
  25. simply rewrites. 
  26.  
  27. Major changes:
  28.  - new swap-page handling: linux no longer uses just one bit to keep
  29.    track of used swap-space, but a counter for each swap-page.  This
  30.    allows processes to share swap-pages after a fork(), and should
  31.    result in /major/ performance increases on machines with less memory. 
  32.    I've seen better performance even with 8MB - I wouldn't be surprised
  33.    if 4MB machines would re-compile the kernel noticeably faster under
  34.    pl3.  I'd be interested to hear numbers. 
  35.  - The low 1MB memory that isn't used directly by the kernel is now
  36.    swappable memory, instead of being hardcoded for buffer cache.  The
  37.    patches for this were originally by tytso, and I expanded on it a bit
  38.    more.  This might also help better performance on 2-4MB machines. 
  39.    Note that this does /not/ mean that you can use 1M machines for
  40.    linux: linux still needs some extended memory. 
  41.  - the dosfs has been upgraded to dosfs.8 - patches by almesber.
  42.  - I edited the minix fs pretty heavily to remove a couple of race-
  43.    conditions.  The same races still exist in the extended fs, as I
  44.    didn't have time to edit that yet.  The minix-fs took precedence as I
  45.    know that better, and extfs isn't "official" yet anyway. 
  46.  
  47. other changes:
  48.  
  49.  - the mouse-driver now handles both Logitech (minor = 0) and PS/2
  50.    (minor = 1) busmice.
  51.  - there is a proc-fs for access to user memory/files etc.
  52.  - better support for the tcp/ip patches (but see below...)
  53.  - corrected symlink and /dev/[k]mem behaviour
  54.  - Lars Wirzenius' README (with minimal comments by me) and the GNU
  55.    COPYING notice are now part of the normal kernel setup, and can be
  56.    found in the tar-archive.
  57.  - the floppy ioctl() to get the FD parameters no longer requires root
  58.    priviledges.  Thus, the msdos emulator runs even for a normal user. 
  59.  
  60. Some comments on patchlevel 3:
  61.  
  62.     mm:
  63.  
  64. The swap-page handling resulted in a reduction of swap-file (or
  65. partition) size to a maximum of 16MB per file.  It's nothing inherent to
  66. the code, but it eased some algorithms, so I didn't bother coding around
  67. it.  After all, 16MB is enough for most people, and if you want more,
  68. you can have up to 128 swapfiles of 16MB each.  If I get enough
  69. hate-mail about it, I might just try to find the energy to correct it. 
  70. Maybe. 
  71.  
  72. Bigger swapfiles will still work, but linux will take advantage of only
  73. the low 16MB.  Also, there is no nifty logic to try to optimize the
  74. usage of the swap-files: pages are simply allocated from one swap-file
  75. until it fills up, and then the next swap-file is used. 
  76.  
  77. The memory management changes break ps/free once more, but not very
  78. much.  Also, I changed the load-average counting, so 'w' also needs
  79. slight editing.  On the other hand, I made '/dev/kmem' mmap()able, and
  80. 'ps' and 'free' should be edited to take advantage of that: it should
  81. result in much faster operation, as well as possibly using less real
  82. memory. 
  83.  
  84.     fs:
  85.  
  86. The fs changes should remove at least two races - the races don't happen
  87. very often, but they were theoretically possible, and might be the
  88. reason for some fs corruption problems that have been reported.  The
  89. changes are related to the use of bmap() - the bmap interface doesn't
  90. really lend itself to some things that it was used for.  Re-writing
  91. internal fs-functions not to use bmap not only should have removed any
  92. races, but also actually resulted in cleaner code. 
  93.  
  94. The proc-fs code isn't too beautiful, and I'll probably leave it out
  95. from 0.98 unless I can make it loadable.  We'll see.  If anybody wants
  96. to use it, you can do something like
  97.  
  98.   # mount -t proc /dev/ram /proc
  99.  
  100. Instead of /dev/ram you can use any block device - it's not used, and is
  101. only a dummy as the proc-fs doesn't actually use any external device. 
  102. (but note that the device is still marked as mounted, so you cannot
  103. mount it for anything else). 
  104.  
  105.     kernel/mm/lib:
  106.  
  107. The TCP/IP patches are also essentially in 0.97.pl3 - not the full
  108. TCP/IP directory, only the patches to the main kernel.  NOTE!! I don't
  109. like the 'grab_malloc_pages()' function, so I left that out, and added a
  110. GFP_ATOMIC priority to get_free_page() that should be used instead.  I
  111. hope this will be used (Ross?), as it's a lot cleaner. 
  112.  
  113. Also, I hope the tcp/ip people will clean up malloc() so that it doesn't
  114. panic instead of returning NULL etc.  Ugly, ugly.  This is related to
  115. the get_free_page(GFP_ATOMIC) changes, and I'd like to have patches as
  116. soon as possible - tcp/ip won't be part of the standard kernel until
  117. that can be cleaned up. 
  118.  
  119.         Linus
  120.