1. 23 Nov, 2007 40 commits
    • 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.88 · 3c99713c
      Linus Torvalds authored
      3c99713c
    • Linus Torvalds's avatar
      Linux 2.1.87 · bb62d5cb
      Linus Torvalds authored
      Ok, 2.1.87 is out there on ftp.kernel.org now, and it has the clever
      PROT_NONE thing done. It seems to work for the little test-case I wrote,
      and I also verified that swapping still works, so it seems to be all ok.
      I'd still like people who have test programs or similar to actually check
      it out,
      
                      Linus
      bb62d5cb
    • Linus Torvalds's avatar
      Import 2.1.87pre1 · a03099aa
      Linus Torvalds authored
      a03099aa
    • Linus Torvalds's avatar
      Import 2.1.86 · 7393083b
      Linus Torvalds authored
      7393083b
    • Linus Torvalds's avatar
      Import 2.1.85 · 275d3262
      Linus Torvalds authored
      275d3262
    • Linus Torvalds's avatar
      Linux 2.1.84 · 9ba95981
      Linus Torvalds authored
      - Update makefile version (forgot to in .83)
      - fixes a (very obscure, possibly never happens) autofs bug.
      - fix missing ; compile error in mm/filemap.c
      - MS_NODIRATIME support.
      
      [changelog summary by davej]
      9ba95981
    • Linus Torvalds's avatar
      Import 2.1.83 · 3ebce212
      Linus Torvalds authored
      3ebce212
    • Linus Torvalds's avatar
      Import 2.1.82 · 47c1864c
      Linus Torvalds authored
      47c1864c
    • Linus Torvalds's avatar
      Import 2.1.81 · f0e2d949
      Linus Torvalds authored
      f0e2d949
    • Linus Torvalds's avatar
      Linux 2.1.81pre1 · 45f74d65
      Linus Torvalds authored
      I just made a pre-2.1.81 available on ftp.kernel.org.
      This fixes the known problems of 2.1.80, and also makes the interrupt
      routing by default look like it always used to look - everything goes
      through the traditional external 8259A-compatible logic.
      The code to handle IO-APIC interrupt routing is still there, but as no
      interrupts are actually marked as io-apic interrupts you don't see it in
      action yet. The advantage of this is that people who want to work on this
      have a base that contains all the logic, and that we only need to figure
      out how to reliably make all the IRQ routing decisions.
      
                      Linus
      45f74d65
    • Linus Torvalds's avatar
      Linux 2.1.80 · 07e15ef7
      Linus Torvalds authored
      This release should fix a few networking problems, and the NFS client is
      hopefully fairly stable even under the kinds of loads we have here at
      Transmeta.
      
      The 2.1.80 release also contains some initial ARM support, and contains
      Ingo Molnar's better SMP interrupt handling.
      
      NOTE NOTE NOTE! The new SMP interrupt handling is currently not very good
      at autodetection. This can be a real problem, and _before_ booting the
      2.1.80 kernel as compiled for SMP you should probably try to figure out a
      possible IRQ override line by doing:
      
              echo -n pirq=; echo `scanpci -f | grep T_L | cut -c56-` | sed 's/ /,/g'
      which for me gives
              pirq=0x00,0x09,0x0b
      
      Then, after doing the above, boot into 2.1.80 and see if it finds your PCI
      interrupt lines correctly. If it does, everything is fine. If it doesn't,
      you need to boot with the pirq setting that you determined earlier, by
      giving the kernel the pirq data at the bootup command line or by using the
      LILO "append=" feature (or similar features in other bootloaders).
      We'll certainly have to make the autodetection work reliably, but in the
      meantime the command-line approach at least gives us a way to test the
      more fundamental impacts of better interrupt handling.
      
                      Linus
      07e15ef7
    • Linus Torvalds's avatar
      Import 2.1.80pre4 · 4bbfc32d
      Linus Torvalds authored
      4bbfc32d
    • Linus Torvalds's avatar
      Import 2.1.80pre3 · 472bbf0a
      Linus Torvalds authored
      472bbf0a
    • Linus Torvalds's avatar
      Import 2.1.80pre2 · 8772d71c
      Linus Torvalds authored
      8772d71c
    • Linus Torvalds's avatar
      Pre-2.1.80.. · 7a024f46
      Linus Torvalds authored
       I just put a pre-2.1.80 on ftp.kernel.org that should fix the fat-related
      problems. The reason I put it there is because I got several patches that
      fixed the FAT problems _and_ something else, and they all obviously
      clashed with each other so neither part got applied.
      
       So I'd ask people who sent me patches to maybe re-send the parts of the
      patches that are still relevant,
      
                      Linus
      7a024f46
    • Linus Torvalds's avatar
      Import 2.1.79 · ae04feb3
      Linus Torvalds authored
      ae04feb3
    • Linus Torvalds's avatar
      Import 2.1.79pre1 · 05648d56
      Linus Torvalds authored
      05648d56
    • Linus Torvalds's avatar
      Import 2.1.78 · 51fea7bb
      Linus Torvalds authored
      51fea7bb
    • Linus Torvalds's avatar
      Import 2.1.78pre3 · cfdec9c9
      Linus Torvalds authored
      cfdec9c9
    • Linus Torvalds's avatar
      Import 2.1.78pre2 · c95035fb
      Linus Torvalds authored
      c95035fb
    • Linus Torvalds's avatar
      Import 2.1.78pre1 · 5770cca7
      Linus Torvalds authored
      5770cca7
    • Linus Torvalds's avatar
      Import 2.1.77 · c7c53f5b
      Linus Torvalds authored
      c7c53f5b
    • Linus Torvalds's avatar
      Import 2.1.76 · 3c8de19e
      Linus Torvalds authored
      3c8de19e
    • Linus Torvalds's avatar
      Import 2.1.75 · 76315b72
      Linus Torvalds authored
      76315b72
    • Linus Torvalds's avatar
      Import 2.1.74 · 158c9de5
      Linus Torvalds authored
      158c9de5
    • Linus Torvalds's avatar
      Import 2.1.73 · 97ccc379
      Linus Torvalds authored
      97ccc379
    • Linus Torvalds's avatar
      Import 2.1.72 · 62e3b9df
      Linus Torvalds authored
      62e3b9df
    • Linus Torvalds's avatar
      Import 2.1.71 · 56dafec3
      Linus Torvalds authored
      56dafec3
    • Linus Torvalds's avatar
      Import 2.1.70 · e2033b5c
      Linus Torvalds authored
      e2033b5c
    • Linus Torvalds's avatar
      Import 2.1.69 · 0d43e5f3
      Linus Torvalds authored
      0d43e5f3
    • Linus Torvalds's avatar
      Import 2.1.68 · 7f563ad6
      Linus Torvalds authored
      7f563ad6
    • Linus Torvalds's avatar
      Import 2.1.68pre1 · 496d46a0
      Linus Torvalds authored
      496d46a0
    • Linus Torvalds's avatar
      Import 2.1.67 · c5a4ebcd
      Linus Torvalds authored
      c5a4ebcd
    • Linus Torvalds's avatar
      Import 2.1.66 · 09e6af9e
      Linus Torvalds authored
      09e6af9e
    • Linus Torvalds's avatar
      Import 2.1.65 · 7f98bfdb
      Linus Torvalds authored
      7f98bfdb
    • Linus Torvalds's avatar
      Import 2.1.64 · 3e213f64
      Linus Torvalds authored
      3e213f64
    • Linus Torvalds's avatar
      Import 2.1.63 · 1a9f55d9
      Linus Torvalds authored
      1a9f55d9
    • Linus Torvalds's avatar
      Import 2.1.62 · a14e97bf
      Linus Torvalds authored
      a14e97bf
    • Linus Torvalds's avatar
      Import 2.1.61 · 73f103e4
      Linus Torvalds authored
      73f103e4