An error occurred fetching the project authors.
  1. 12 Apr, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] use spinlocking in the ext2 block allocator · c14c1a44
      Andrew Morton authored
      From Alex Tomas and myself
      
      ext2 currently uses lock_super() to protect the filesystem's in-core block
      allocation bitmaps.
      
      On big SMP machines the contention on that semaphore is causing high context
      switch rates, large amounts of idle time and reduced throughput.
      
      The context switch rate can also worsen block allocation: if several tasks
      are trying to allocate blocks inside the same blockgroup for different files,
      madly rotating between those tasks will cause the files' blocks to be
      intermingled.
      
      On SDET and dbench-style worloads (lots of tasks doing lots of allocation)
      this patch (and a similar one for the inode allocator) improve throughout on
      an 8-way by ~15%.  On 16-way NUMAQ the speedup is 150%.
      
      What wedo isto remove the lock altogether and just rely on the atomic
      semantics of test_and_set_bit(): if the allocator sees a block was free it
      runs test_and_set_bit().  If that fails, then we raced and the allocator will
      go and look for another block.
      
      Of course, we don't really use test_and_set_bit() because that
      isn'tendian-dependent.  New atomic endian-independent functions are
      introduced: ext2_set_bit_atomic() and ext2_clear_bit_atomic().  We do not
      need ext2_test_bit_atomic(), since even if ext2_test_bit() returns the wrong
      result, that error will be detected and naturally handled in the subsequent
      ext2_set_bit_atomic().
      
      For little-endian machines the new atomic ops map directly onto the
      test_and_set_bit(), etc.
      
      For big-endian machines we provide the architecture's impementation with the
      address of a spinlock whcih can be taken around the nonatomic ext2_set_bit().
       The spinlocks are hashed, and the hash is scaled according to the machine
      size.  Architectures are free to implement optimised versions of
      ext2_set_bit_atomic() and ext2_clear_bit_atomic().
      c14c1a44
  2. 23 Jul, 2002 2 commits
  3. 07 May, 2002 1 commit
  4. 05 Feb, 2002 4 commits
    • Linus Torvalds's avatar
      v2.4.13.1 -> v2.4.13.2 · 4fd9cc9e
      Linus Torvalds authored
        - Alan Cox: more merging
        - Alexander Viro: block device module race fixes
        - Richard Henderson: mmap for 32-bit alpha personality
        - Jeff Garzik: 8139 and natsemi update
      4fd9cc9e
    • Linus Torvalds's avatar
      v2.4.5.1 -> v2.4.5.2 · 4fdbe71c
      Linus Torvalds authored
        - Takanori Kawano: brlock indexing bugfix
        - Ingo Molnar, Jeff Garzik: softirq updates and fixes
        - Al Viro: rampage of superblock cleanups.
        - Jean Tourrilhes: Orinoco driver update v6, IrNET update
        - Trond Myklebust: NFS brown-paper-bag thing
        - Tim Waugh: parport update
        - David Miller: networking and sparc updates
        - Jes Sorensen: m68k update.
        - Ben Fennema: UDF update
        - Geert Uytterhoeven: fbdev logo updates
        - Willem Riede: osst driver updates
        - Paul Mackerras: PPC update
        - Marcelo Tosatti: unlazy swap cache
        - Mikulas Patocka: hpfs update
      4fdbe71c
    • Linus Torvalds's avatar
      v2.4.1 -> v2.4.1.1 · 1644c00d
      Linus Torvalds authored
        - XMM: don't allow illegal mxcsr values
        - ACPI: handle non-existent battery strings gracefully
        - Compaq Smart Array driver update
        - Kanoj Sarcar: serial console hardware flow control support
        - ide-cs: revert toc-valid cache checking in 2.4.1
        - Vojtech Pavlik: update via82cxxx driver to handle the vt82c686
        - raid5 graceful failure handling fix
        - ne2k-pci: enable device before asking the irq number
        - sis900 driver update
        - riva FB driver update
        - fix silly inode hashing pessimization
        - add SO_ACCEPTCONN for SuS
        - remove modinfo hack workaround, all newer modutils do it correctly
        - datagram socket shutdown fix
        - mark process as running when it takes a page-fault
      1644c00d
    • Linus Torvalds's avatar
      Import changeset · 7a2deb32
      Linus Torvalds authored
      7a2deb32