1. 23 Nov, 2007 40 commits
    • Linus Torvalds's avatar
      Import 2.1.100pre2 · 57afa237
      Linus Torvalds authored
      57afa237
    • Linus Torvalds's avatar
      Linux 2.1.100pre1 · 5892de9e
      Linus Torvalds authored
      pre-100 (on ftp.kernel.org now), moves the dcache shrinking into the regular
      memory de-allocation loop, and while the exact shrinking speed is probably
      completely off, it should be able to react much better to small-memory machines
      than the hardcoded shrink did..
      
      Also, for those that appear to still have SMP interrupt stability
      problems, Ingo pointed out that we may have problems with PCI
      level-triggered interrupts. Could those people please test an additional
      small patch that involves moving the "ack_APIC_irq();" inside
      arch/i386/kernel/irq.c: do_ioapic_IRQ() from the top of the function to
      the very bottom of that function (that will move it to outside the irq
      controller lock, but it should actually be perfectly ok in this case).
      
                      Linus
      5892de9e
    • Linus Torvalds's avatar
      Import 2.1.99pre2 · 25eaf06c
      Linus Torvalds authored
      25eaf06c
    • Linus Torvalds's avatar
      Linux 2.1.99pre1 · 1b6d23c1
      Linus Torvalds authored
      a cleanup of my previous patches wrt irq handling, and also fixes
      a real bug (we used to ACK the io-apic outside the irq-controller lock,
      which meant that the ack's we did and "ipi_pending[]" might have gotten
      out of sync - which could certainly have resulted in bad behaviour).
      This also re-enables the code that replays interrupts in enable_irq(),
      because it should be ok now that the rest of the code is cleaned up.
      People that had the earlier problem with locking up with floppies, please
      test: if this re-introduces the lockup, please just #if 0 out all the code
      inside trigger_pending_irqs(), and send me a note telling me that that
      code still doesn't work.
      
                      Linus
      1b6d23c1
    • Linus Torvalds's avatar
      Linux 2.1.91 · cad34273
      Linus Torvalds authored
      I just made a real 91 on ftp.kernel.org, let's hope that this has all the
      sillies gone. As usual, it is prefectly smooth on my machine, but this
      time we also have a better chance of it being smooth on machines with less
      memory too, as Rik has done some good work in testing the algorithms out.
      So throw some problems at it to see just how good it is..
      
                      Linus
      cad34273
    • Linus Torvalds's avatar
      Import 2.1.91pre2 · b884a92a
      Linus Torvalds authored
      b884a92a
    • Linus Torvalds's avatar
      Import 2.1.91pre1 · f26125cb
      Linus Torvalds authored
      f26125cb
    • Linus Torvalds's avatar
      - Revert TCP delayed ACK fix, and fix correctly. · 1a92894a
      Linus Torvalds authored
        We should not send an ack if we don't have any pending
        (in which case the DACK timer will be set)     (Dave Miller)
      1a92894a
    • Linus Torvalds's avatar
      - Fix TCP delayed ACK stall (Andrea Arcangeli) · a054f123
      Linus Torvalds authored
      - the first cut of my spinlock changes wrt the task lists (Linus)
      a054f123
    • Linus Torvalds's avatar
      I just put a pre-90 on ftp.kernel.org, and I'm happy to report that Davem · 9d11a517
      Linus Torvalds authored
      seems to have found and fixed the TCP performance problem, which means
      that the code-freeze for 2.2 is going to go into effect shortly..
      
      pre-90 does a few other minor things, like for example getting rid of
      kerneld because the new kmod thing is a lot simpler in many ways. Let's
      see what the reaction to that is, but I'm fairly certain that this was a
      major good thing: I've personally never liked kerneld, but kmod seems to
      be a much nicer and more controlled way of handling the same issues that
      kerneld tried to do. I'd actually almost be willing to use the thing
      myself, something that was never true of kerneld.
      
      This also moves the WD7000 SCSI driver to a working status again, thanks
      to Miroslav Zagorac.
      
      But the interesting and important part of the patches are the networking
      fixes from David and Bill Hawes..
      
                      Linus
      9d11a517
    • Linus Torvalds's avatar
      Import 2.1.89 · 3b0db29e
      Linus Torvalds authored
      3b0db29e
    • Linus Torvalds's avatar
      Linux 2.1.89pre2 · 2a342179
      Linus Torvalds authored
      [sct] a patch against ipc/shm.c was missing from my swap patches,
            and another fix for spurious warnings about shared dirty pages.
      
      [changelog pieced together by davej]
      2a342179
    • Linus Torvalds's avatar
      Stephen Tweedie: · 717def95
      Linus Torvalds authored
      * 2.1.88, adds a bunch of new functionality to
        the swapper.  The main changes are:
      
      * All swapping goes through the swap cache (aka. page cache) now.
      
      * There is no longer a swap lock map.  Because we need to atomically
        test and create a new swap-cache page in order to do swap IO, it is
        sufficient just to lock the struct page itself.  Having only one
        layer of locking to deal with removes a number of races concerning
        swapping shared pages.
      
      * We can swap shared pages, and still keep them shared when they are
        swapped back in!!!  Currently, only private shared pages (as in pages
        shared after a fork()) benefit from this, but the basic mechanism will
        be appropriate for MAP_ANONYMOUS | MAP_SHARED pages too
        (implementation to follow).  Pages will remain shared after a swapoff.
      
      * The page cache is now quite happy dealing with swap-cache pages too.
        In particular, write-ahead and read-ahead of swap through the page
        cache will work fine (and in fact, write-ahead does get done already
        under certain circumstances with this patch --- that's essentially how
        the swapping of shared pages gets done).  Support code to perform
        asynchronous readahead of swap is included, but is not actually used
        anywhere yet.
      
        I've tested with a number of forked processes running with a shared
        working set larger than physical memory, and with SysV shared memory.
        I haven't found any problems with it so far.
      
      Linus: I've also changed the way we consider us to need more memory in kswapd,
             but that was entirely orthogonal and did not impact these patches. ]
      
      [Changelog pieced together by davej]
      717def95
    • Linus Torvalds's avatar
      Import 2.1.80pre3 · 472bbf0a
      Linus Torvalds authored
      472bbf0a
    • Linus Torvalds's avatar
      Import 2.1.79 · ae04feb3
      Linus Torvalds authored
      ae04feb3
    • Linus Torvalds's avatar
      Import 2.1.76 · 3c8de19e
      Linus Torvalds authored
      3c8de19e
    • Linus Torvalds's avatar
      Import 2.1.68pre1 · 496d46a0
      Linus Torvalds authored
      496d46a0
    • Linus Torvalds's avatar
      Import 2.1.60 · be6cc637
      Linus Torvalds authored
      be6cc637
    • Linus Torvalds's avatar
      Import 2.1.58 · f59dfe26
      Linus Torvalds authored
      f59dfe26
    • Linus Torvalds's avatar
      Import 2.1.57 · b23c7003
      Linus Torvalds authored
      b23c7003
    • Linus Torvalds's avatar
      Import 2.1.52 · ddb701b2
      Linus Torvalds authored
      ddb701b2
    • Linus Torvalds's avatar
      Import 2.1.47 · 0df794ec
      Linus Torvalds authored
      0df794ec
    • Linus Torvalds's avatar
      Import 2.1.45pre5 · ca6ede75
      Linus Torvalds authored
      ca6ede75
    • Linus Torvalds's avatar
      Import 2.1.45pre4 · 83e937d1
      Linus Torvalds authored
      83e937d1
    • Linus Torvalds's avatar
      Import 2.1.43 · d5977cd7
      Linus Torvalds authored
      d5977cd7
    • Linus Torvalds's avatar
      Import 2.1.41 · b0d31909
      Linus Torvalds authored
      b0d31909
    • Linus Torvalds's avatar
      Import 2.1.37pre1 · 11297b7c
      Linus Torvalds authored
      11297b7c
    • Linus Torvalds's avatar
      Import 2.1.34 · 92cc7d38
      Linus Torvalds authored
      92cc7d38
    • Linus Torvalds's avatar
      Import 2.1.33 · 7a88bde7
      Linus Torvalds authored
      7a88bde7
    • Linus Torvalds's avatar
      Import 2.1.23 · 32d4fbac
      Linus Torvalds authored
      32d4fbac
    • Linus Torvalds's avatar
      Import 2.1.16 · c0711bf3
      Linus Torvalds authored
      c0711bf3
    • Linus Torvalds's avatar
      Import 2.1.6 · d86fb96f
      Linus Torvalds authored
      d86fb96f
    • Linus Torvalds's avatar
      Import 2.1.4 · a1e82dcd
      Linus Torvalds authored
      a1e82dcd
    • Linus Torvalds's avatar
      Import 2.1.0 · fbda5aab
      Linus Torvalds authored
      fbda5aab
    • Linus Torvalds's avatar
      Import 2.0.20 · 5fec1cd9
      Linus Torvalds authored
      5fec1cd9
    • Linus Torvalds's avatar
      Import 2.0.19 · 63038f25
      Linus Torvalds authored
      63038f25
    • Linus Torvalds's avatar
      Import 2.0.13 · cde5f10a
      Linus Torvalds authored
      cde5f10a
    • Linus Torvalds's avatar
      Import 2.0.5 · 83257356
      Linus Torvalds authored
      83257356
    • Linus Torvalds's avatar
      Import 2.0.1 · a96e1f22
      Linus Torvalds authored
      a96e1f22
    • Linus Torvalds's avatar
      Import pre2.0.13 · 21a0a5d3
      Linus Torvalds authored
      21a0a5d3