1. 23 Nov, 2007 40 commits
    • Linus Torvalds's avatar
      Import 2.2.8pre6 · 743eee7c
      Linus Torvalds authored
      743eee7c
    • Linus Torvalds's avatar
      Import 2.2.8pre5 · 3eb6861c
      Linus Torvalds authored
      3eb6861c
    • Linus Torvalds's avatar
      Import 2.2.8pre4 · c88c0e6a
      Linus Torvalds authored
      c88c0e6a
    • Linus Torvalds's avatar
      Import 2.2.8pre3 · 5f1dace7
      Linus Torvalds authored
      5f1dace7
    • Linus Torvalds's avatar
      Import 2.2.8pre2 · 41ab864d
      Linus Torvalds authored
      41ab864d
    • Linus Torvalds's avatar
      Import 2.2.8pre1 · 96d3bd55
      Linus Torvalds authored
      96d3bd55
    • Linus Torvalds's avatar
      Import 2.2.7 · a228ad14
      Linus Torvalds authored
      a228ad14
    • Linus Torvalds's avatar
      Import 2.2.7pre4 · 830c685b
      Linus Torvalds authored
      830c685b
    • Linus Torvalds's avatar
      There's a pre-3 patch on ftp.kernel.org in the kernel/testing directory, · f519fc5f
      Linus Torvalds authored
      and I'd really like people to give it a good testing: especially if you've
      seen slow network connections to some clients (ie Windows). David worked
      in the compatibility patches to work around some of the Windows TCP stack
      "features" (and Apple too, for that matter), and we want to get this well
      tested. It's all fairly straightforward, but let's be careful out there..
      
                      Linus
      f519fc5f
    • Linus Torvalds's avatar
      Import 2.2.7pre2 · 07f61d38
      Linus Torvalds authored
      07f61d38
    • Linus Torvalds's avatar
      Import 2.2.7pre1 · a14d6284
      Linus Torvalds authored
      a14d6284
    • Linus Torvalds's avatar
      Import 2.2.6 · 742db559
      Linus Torvalds authored
      742db559
    • Linus Torvalds's avatar
      Import 2.2.6pre3 · 6efb5cad
      Linus Torvalds authored
      6efb5cad
    • Linus Torvalds's avatar
      Import 2.2.6pre2 · 97b454c2
      Linus Torvalds authored
      97b454c2
    • Linus Torvalds's avatar
      Import 2.2.6pre1 · 780f80d7
      Linus Torvalds authored
      780f80d7
    • Linus Torvalds's avatar
      Linux 2.2.5 - and a vacation · 4cfb4152
      Linus Torvalds authored
      I made Linux-2.2.5 yesterday (as some people already have noticed: due to
      popular demand I try to delay the announcement for some time in order to
      let the thing percolate to mirror sites, in case anybody wondered).
      The 2.2.5 release is meant to be a final cleanup release before I leave
      for a two-week vacation. So please take these release notes to also mean
      that it is probably a good idea to hold off emailing me stuff directly,
      unless it is a major bug that you really think I should look at
      immediately. I would suggest people discuss problems on the mailing list
      and on the newsgroups, where other competent people are, rather than
      expecting me to do much about it.
      
      Also, note that there have been various indications that egcs potentially
      miscompiles the kernel, or at least makes some problems worse. We don't
      know whether that is due to one or more kernel bugs, compiler problems, or
      just combinations of "features" in both. I would suggest that if you have
      problems you at least verify whether the problems still exist with
      gcc-2.7.2.
      
      That said, I bet that both the kernel people and the egcs people would be
      really happy the more people look into this - if somebody feels motivated
      enough and sees problems with egcs, it would be extremely powerful to try
      to pinpoint the particular file that seems to bring on the problems. I'm
      afraid it needs a known failure mode and lots of legwork to find out what
      triggers it, though.
      
       - compiles with accounting.
       - add support for Microgate SyncLink and Synchronous HDLC
       - stallion driver update
       - alpha EV6 and SMP fix for bootup with newer compilers
       - ptrace fix for sparc/i386
       - small sparc updates
       - floppy driver could oops at bootup under certain setups
       - random driver updates (bw-qcam, sound driver error codes, etc oneliners)
       - FIOASYNC ioctl fix
       - network locking fixes
       - SMP "struct user" and signal sending fixes
      
      Have fun, because I will,
      
                              Linus
      4cfb4152
    • Linus Torvalds's avatar
      Import 2.2.5pre2 · d3c37b33
      Linus Torvalds authored
      d3c37b33
    • Linus Torvalds's avatar
      Import 2.2.5pre1 · ba58cb0e
      Linus Torvalds authored
      ba58cb0e
    • Linus Torvalds's avatar
      Linux 2.2.4 · 4d178ac9
      Linus Torvalds authored
      As of 2.2.4, I should be synchronized with the Sparc[64] and PPC ports,
      which is the major reason why the patch is pretty huge. Apart from the
      architecture synchronizations, 2.2.4 does:
      
       - dumping core over NFS could do bad things. Core-dumping cleaned up and
         fixed.
      
       - various small TCP/IP buglets fixed. Linux got confused by hosts that
         didn't report any mss, and had problems with zero-sized fragments, etc.
      
       - various small, often silly bugs fixed (PC BIOS PCI buglet, alpha
         semaphores, bottom half interrupts, fork() returns wrong error code).
      
       - tons of driver updates
      
       - updated net scheduling code (CONFIG_NET_SCHED)
      
      Most of the fixes aren't all that noticeable, but some of them can be
      showstoppers depending on whether you've ever seen them.
      4d178ac9
    • Linus Torvalds's avatar
      Import 2.2.4pre6 · 7d4fc34b
      Linus Torvalds authored
      7d4fc34b
    • Linus Torvalds's avatar
      Import 2.2.4pre4 · da8e0fc2
      Linus Torvalds authored
      da8e0fc2
    • Linus Torvalds's avatar
      Import 2.2.3 · 254721ff
      Linus Torvalds authored
      254721ff
    • Linus Torvalds's avatar
      Linux 2.2.3pre3 · 777720de
      Linus Torvalds authored
      There's a new pre-patch for 2.2.3, one that I was already going to make
      the final 2.2.3, but I decided that I'm chicken after all, and that I
      might as well let some people check that it's sane.
      This pre-2.2.3 does:
      
       - Fix some silly NFS problems. Some of them can be quite bad: lost error
         notification of asynchronous writes, which can result in horrible
         problems (including lost email etc). Most people wouldn't ever notice,
         so don't panic, but forgetting about the error notification certainly
         counts as a brown paper bag.
       - Alpha should compile and work again
       - Various driver updates. This is actually the bulk of the patch, with
         IRDA updates, some scsi, video and sound driver updates etc.
       - The "mmap forgets about the file that was mapped" bug that has been
         discussed here. Only affected certain drivers.
       - shaper atomicity fixes
       - various minor TCP fixes
       - buffer growth fix and recursive IO memory reclaim fix from Andrea
       - network filter compiles ;)
       - unix gc fixes
      
      Tell me if you see problems, because I'm going to release it as 2.2.3
      unless people tell me otherwise..
      
                      Linus
      777720de
    • Linus Torvalds's avatar
      Import 2.2.3pre2 · f3d40e81
      Linus Torvalds authored
      f3d40e81
    • Linus Torvalds's avatar
      Import 2.2.3pre1 · 9ffb8c3a
      Linus Torvalds authored
      9ffb8c3a
    • Linus Torvalds's avatar
      Import 2.2.2 · 3f3d3923
      Linus Torvalds authored
      3f3d3923
    • Linus Torvalds's avatar
      Import 2.2.2pre5 · 351ae16b
      Linus Torvalds authored
      351ae16b
    • Linus Torvalds's avatar
      Linux 2.2.2pre4 · 724170c9
      Linus Torvalds authored
      In a superhuman effort to not get killed by my wife, I delayed the latest
      release for a day. And in fact, it's still just a pre-release, because I
      wanted to check with Ingo that I have his latest IO-APIC code with the
      proper handling of ExtINT. Ingo?
      
      Anyway, the "not quite valentine days release" (also known as the "horny
      greased weasel", aka "presidents day" release ;), is right now a pre-patch
      on ftp.kernel.org: /pub/linux/kernel/testing/pre-patch-2.2.2-4.gz.
      
      Happily, I haven't heard of any new real show-stoppers, which is good
      (especially considering the fact that I gave it an extra week just to hear
      if somebody could come up with some new problems). The things fixed
      relative to 2.2.1 are:
      
       - the inode thing. If you don't know, don't worry.
       - config scripts updated
       - IO-APIC cleanups and fixes, so that people with strange motherboards
         should be able to reboot cleanly and not get unexpected interrupts.
       - 2kB sector media (ie mostly MO) fixes. See all the warnings on the
         lists about fdisk confusion etc if you have one of these things.
       - IDE disk cleanups/fixes (geometry and autodetection)
       - PS/2 mouse hides ACK's again
       - pty crash fix
       - some network driver fixes (out-of-memory and shared interrupts)
       - some sound and video updates.
       - lockd cookie fixes
       - nfsd readdir reply cache fix
       - filesystem/VM deadlock avoidance (new deamon: kpiod)
       - SMP scheduler race condition (which nobody has probably ever seen)
       - TCP socket locking fix
      
      Most of the above are really hard to see in the first place, and not
      something most people would ever hit (with the possible exception of the
      inode thang).  But it would be good to have a really rock solid 2.2.2, so
      if people could just bother to check that it works for them, and I'll make
      this official tomorrow.
      
                      Linus
      724170c9
    • Linus Torvalds's avatar
      Linux 2.2.2-pre2 · 616d8602
      Linus Torvalds authored
      this one contains various small documentation updates and updates to xconfig,
      but the important parts (and the smallest part of the actual patch) are:
      
       - shared file lockup fix by Stephen Tweedie
       - my fix for the TCP bug that Ingo found
       - Ingo's io-apic setup fixes, which should finally get rid of the
         spurious apic interrupts with some motherboards and the ExtINT setup.
       - inode leak thing
       - SMP scheduler potential race condition fix
       - sound driver updates
       - partition and disk fixes (2kB blocksize media and some IDE disk
         geometry and irq detection issues).
      
      None of the fixes are critical to most people, but all of them _can_ be
      critical to people who have seen vulnerabilities in the area. As such, if
      you're happy with 2.2.1 there is no pressing reason to test this patch
      out, but I hope to have the pre-patches so that the final 2.2.2 can be
      left around for a while (CD-ROM manufacturers etc would certainly prefer
      to not see lots of releases).
      
                      Linus
      616d8602
    • Linus Torvalds's avatar
      Import 2.2.2pre1 · da0f0135
      Linus Torvalds authored
      da0f0135
    • Linus Torvalds's avatar
      Linux 2.2.1 - the Brown Paper Bag release · 85a51578
      Linus Torvalds authored
      The subject says it all. We did have a few paper-bag-inducing bugs in
      2.2.0, so there's a 2.2.1 out there now, just a few days after 2.2.0.
      Oh, well. These things happen,
      
                      Linus
      
      - the stupid off-by-one bug 'execute a coredump' crash found by Ingo
      - __down_interruptible on alpha
      - move "esstype" to outside a #ifdef MODULE
      - NFSD rename/rmdir fixes
      - revert to old array.c
      - change comment about __PAGE_OFFSET
      - missing "vma = NULL" case for avl find_vma()
      85a51578
    • Linus Torvalds's avatar
      Linux 2.2.0 · f6cce5da
      Linus Torvalds authored
      > Compile this code
      >
      > ---- cut here ----
      > #include <fcntlbits.h>
      > void main( int argc, char *argv[] ) {
      >         open( argv[ 1 ], O_WRONLY|O_CREAT|O_TRUNC, 0666 );
      > }
      > ---- and here  ----
      >
      > and run it like this
      >
      >     strace ./a.out >(cat - )
      >
      > with 2.0.36 & 2.2.0-pre[67] you get:
      >
      >     open("/dev/fd/63", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
      >
      > with 2.2.0-pre[89] you get:
      >
      >     open("/dev/fd/63", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 ENOENT (No
      > such file or directory)
      
      Ok, this seems to be due to pre9 removing some rather bogus code that
      happened to hide another problem in open_namei().
      I haven't actually tested this, but it looks really obvious, so does this
      patch fix it for you? (This should also fix a potential performance
      bogosity - there's absolutely no reason why we should get the directory
      lock when we don't need to for a normal open of an existing file).
      
                      Linus
      f6cce5da
    • Linus Torvalds's avatar
      2.2.0-final · 182f4220
      Linus Torvalds authored
      Hoya,
       there's now a 2.2.0-pre9 on ftp.kernel.org, and when you compile it it
      will call itself 2.2.0-final. The reason is fairly obvious: enough is
      enough, and I can't make pre-kernels forever, it just dilutes the whole
      idea. The only reason the tar-file is not called 2.2.0 is that I want to
      avoid having any embarrassing typos that cause it to not compile under
      reasonable configurations or something like that. Unreasonable
      configurations I no longer care about.
      
      Every program has bugs, and I'm sure there are still bugs in this. Get
      over it - we've done our best, and nobody ever believed that there
      wouldn't be 2.2.x kernels to fix problems as they come up, and delaying
      2.2.0 forever is not an option.
      
      I have a wedding anniversary and a company party coming up, so I'm taking
      a few days off - when I get back I expect to take this current 2.2.0-final
      and just remove the "-final" from the Makefile, and that will be it. I
      suspect somebody _will_ find something embarrassing enough that I would
      fix it too, but let's basically avoid planning on that.
      In short, before you post a bug-report about 2.2.0-final, I'd like you to
      have the following simple guidelines:
       "Is this something Linus would be embarrassed enough about that he would
        wear a brown paper bag over his head for a month?"
      and
       "Is this something that normal people would ever really care deeply
        about?"
      
      If the answer to either question is "probably not", then please consider
      just politely discussing it as a curiosity on the kernel mailing lists
      rather than even sending email about it to me: I've been too busy the last
      few weeks, and I'd really appreciate it if I could just forget the worries
      of a release for a few days..
      
      But if you find something hilariously stupid I did, feel free to share it
      with me, and we'll laugh about it together (and I'll avoid wearing the
      brown paper bag on my head during the month of February). Do we have a
      deal?
      
      I've seen people working on a 2.2.0 announcement, and I'm happy - I've
      been too busy to think straight, much less worry about details like that.
      If everything turns out ok, I'll have a few memorable bloopers in my
      mailbox but nothing worse than that, and I can sit down and actually read
      the announcement texts that people have been discussing.
      
      ObFeatures:
       - m68k sync
       - various minor driver fixes (irda, net drivers, scsi, video, isdn)
       - SGI Visual Workstation support
       - adjtimex update to the latest standards
       - vfat silly buglet fix
       - semaphores work on alpha again
       - drop the inline strstr() that gcc got wrong whatever we did
       - kswapd needed to be a bit more aggressive
       - minor TCP retransmission and delack fixes
      Until Monday,
                              Linus
      182f4220
    • Linus Torvalds's avatar
      Import 2.2.0pre8 · 3a282a06
      Linus Torvalds authored
      3a282a06
    • Linus Torvalds's avatar
      Linux 2.2.0pre7 · c68677ac
      Linus Torvalds authored
      Ok, I think I now know why pre-6 looks so unbalanced. It's two issues.
      Basically, trying to swap out a large number of pages from one process
      context is just doomed. It bascially sucks, because
      
       - it has bad latency. This is further excerberated by the per-process
         "thrashing_memory" flag, which means that if we were unlucky enough to
         be selected to be the process that frees up memory, we'll probably be
         stuck with it for a long time. That can make it extremely unfair under
         some circumstances - other processes may allocate the pages we free'd
         up, so that we keep on being counted as a memory trasher even if we
         really aren't.
         Note that this shows most under "moderate" load - the problem doesn't
         tend to show itself if you have some process that is _really_
         allocating a lot of pages, because then that process will be correctly
         found by the trashing logic. But if you have lots of "normal load"
         processes, some of those can get really badly hurt by this.
         In particular, the worst case you have a number of processes that all
         allocate memory, but not very quickly - certainly not more quickly than
         we can page things out. What happens is that under these circumstances
         one of them gets marked as a "scapegoat", and once that happens all the
         others will just live off the pages that the scapegoat frees up, while
         the scapegoat itself doesn't make much progress at all because it is
         always just freeing memory for others.
         The really bad behaviour tends to go away reasonably quickly, but while
         it happens it's _really_ unfair.
       - try_to_free_pages() just goes overboard, and starts paging stuff out
         without getting back to the nice balanced behaviour. This is what
         Andrea noticed.
         Essentially, once it starts failing the shrink_mmap() tests, it will
         just page things out crazily. Normally this is avoided by just always
         starting from shrink_mmap(), but if you ask try_to_free_pages() to try
         to free up a ton of pages, the balancing that it does is basically
         bypassed.
      
      So basically pre-6 works _really_ well for the kind of stress-me stuff
      that it was designed for: a few processes that are extremely memory
      hungry. It gets close to perfect swap-out behaviour, simply because it is
      optimized for getting into a paging rut.
      
      That makes for nice benchmarks, but it also explains why (a) sometimes
      it's just not very nice for interactive behaviour and (b) why it under
      normal load can easily swap much too eagerly.
      
      Anyway, the first problem is fixed by making "trashing" be a global flag
      rather than a per-process flag. Being per-process is really nice when it
      finds the right process, but it's really unfair under a lot of other
      circumstances. I'd rather be fair than get the best possible page-out
      speed.
      
      Note that even a global flag helps: it still clusters the write-outs, and
      means that processes that allocate more pages tend to be more likely to be
      hit by it, so it still does a large part of what the per-process flag did
      - without the unfairness (but admittedly being unfair sometimes gets you
      better performance - you just have to be _very_ careful whom you target
      with the unfairness, and that's the hard part).
      
      The second problem actually goes away by simply just not asking
      try_to_free_pages() to free too many pages - and having the global
      trashing flag makes it unnecessary to do so anyway because the flag will
      essentially cluster the page-outs even without asking for them to be all
      done in one large chunk (and now it's not just one process that gets hit
      any more).
      
      There's a "pre-7.gz" on ftp.kernel.org in testing, anybody interested?
      It's not the real thing, as I haven't done the write semaphore deadlock
      thing yet, but that one will not affect normal users anyway so for
      performance testing this should be equivalent.
      
                              Linus
      c68677ac
    • Linus Torvalds's avatar
      Import 2.2.0pre6 · 70c27ee9
      Linus Torvalds authored
      70c27ee9
    • Linus Torvalds's avatar
      Linux 2.2.0pre5 · 24522c1b
      Linus Torvalds authored
      Oh, well.. Based on what the arca-[678] patches did, there's now a pre-5
      out there. Not very similar, but it should incorporate the basic idea:
      namely much more aggressively asynchronous swap-outs from a process
      context.
      Comment away,
                      Linus
      24522c1b
    • Linus Torvalds's avatar
      Linux 2.2.0pre4 · f2d0374c
      Linus Torvalds authored
      Ok, you know the drill by now. This fixes:
       - yes, people told me about the new and improved ksymoops. Much better,
         no need for C++, and this one actually seems to compile and work
         reliably.
       - ntfs fixes
       - the vfat thing _really_ works now
       - NFS fix for deleting files while writebacks active.
       - ppa/imm driver updated
       - minor mm balancing patches
       - Alan took the gauntlet and cleaned up some CONFIG_PROC_FS stuff.
      More on Monday,
      
                      Linus
      f2d0374c
    • Linus Torvalds's avatar
      Import 2.2.0pre3 · 14fbb8f3
      Linus Torvalds authored
      14fbb8f3
    • Linus Torvalds's avatar
      Linux 2.2.0pre2 (December 31 1998) · c828dfb9
      Linus Torvalds authored
      Well, some people obviously had problems with the first 2.2.0pre, so
      there's a second one there. Most of it is almost purely syntactic sugar:
      configuration issues and jiffies wraparound, but there were a few problems
      wrt some IDE disk geometry stuff in particular that made 2.2.0pre1 not
      boot for some people.
      
      Other real changes:
       - nfsd updated, and we have an official maintainer for knfsd (and I was
         happy by how many people were ready to stand up for it. Good show,
         guys!)
       - network driver updates (tulip/eepro)
       - some TCP fixes for occasional but nasty performance problems.
       - fix for an attack where you could cause a complete and utter lockup of
         the kernel as a normal user. Thanks to Michael Chastain for keeping the
         faith on this one and reminding me to fix it.
      
      If you haven't had problems with pre1, there should be no major cause to
      look at pre2. But if you haven't even looked at pre1 yet, please consider
      looking at the pre-2.2.0 kernels before it's too late. I'm going to be
      extremely rude to people who knew better but didn't test out the pre-
      kernels and then send me bug-reports on the released 2.2.0.
      
      		Linus
      c828dfb9