1. 18 Sep, 2006 2 commits
    • Steven Whitehouse's avatar
      [GFS2] Map multiple blocks at once where possible · 7a6bbacb
      Steven Whitehouse authored
      This is a tidy up of the GFS2 bmap code. The main change is that the
      bh is passed to gfs2_block_map allowing the flags to be set directly
      rather than having to repeat that code several times in ops_address.c.
      
      At the same time, the extent mapping code from gfs2_extent_map has
      been moved into gfs2_block_map. This allows all calls to gfs2_block_map
      to map extents in the case that no allocation is taking place. As a
      result reads and non-allocating writes should be faster. A quick test
      with postmark appears to support this.
      
      There is a limit on the number of blocks mapped in a single bmap
      call in that it will only ever map blocks which are pointed to
      from a single pointer block. So in other words, it will never try
      to do additional i/o in order to satisfy read-ahead. The maximum
      number of blocks is thus somewhat less than 512 (the GFS2 4k block
      size minus the header divided by sizeof(u64)). I've further limited
      the mapping of "normal" blocks to 32 blocks (to avoid extra work)
      since readpages() will currently read a maximum of 32 blocks ahead (128k).
      
      Some further work will probably be needed to set a suitable value
      for DIO as well, but for now thats left at the maximum 512 (see
      ops_address.c:gfs2_get_block_direct).
      
      There is probably a lot more that can be done to improve bmap for GFS2,
      but this is a good first step.
      Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      7a6bbacb
    • David Teigland's avatar
      [GFS2] print mount errors related to sysfs · 65952fb4
      David Teigland authored
      Print an error message if mount fails in setting up the sysfs files.
      Signed-off-by: default avatarDavid Teigland <teigland@redhat.com>
      Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      65952fb4
  2. 14 Sep, 2006 1 commit
  3. 13 Sep, 2006 10 commits
  4. 12 Sep, 2006 10 commits
    • Steven Whitehouse's avatar
      [GFS2] Use hlist for glock hash chains · b6397893
      Steven Whitehouse authored
      This results in smaller list heads, so that we can have more chains
      in the same amount of memory (twice as many). I've multiplied the
      size of the table by four though - this is because we are saving
      memory by not having one lock per chain any more. So we land up
      using about the same amount of memory for the hash table as we
      did before I started these changes, the difference being that we
      now have four times as many hash chains.
      
      The reason that I say "about the same amount of memory" is that the
      actual amount now depends upon the NR_CPUS and some of the config
      variables, so that its not exact and in some cases we do use more
      memory. Eventually we might want to scale the hash table size
      according to the size of physical ram as measured on module load.
      Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      b6397893
    • Henk Vergonet's avatar
      USB: Fix unload oops and memory leak in yealink driver · 3e2aac36
      Henk Vergonet authored
      This patch fixes a memory leak and a kernel oops when trying to unload
      the driver, due to an unbalanced cleanup.
      Thanks Ivar Jensen for spotting my mistake.
      Signed-off-by: default avatarHenk Vergonet <henk.vergonet@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3e2aac36
    • Matthias Urlichs's avatar
      usbserial: Reference leak · 59925838
      Matthias Urlichs authored
      A sufficiently-large number of USB serial devices causes a reference leak
      when /proc/tty/drivers/usbserial is read.
      Signed-Off-By: default avatarMatthias Urlichs <smurf@smurf.noris.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      59925838
    • Al Viro's avatar
      [PATCH] sparc64 audit syscall classes hookup · f6bc0c1c
      Al Viro authored
      ... that should do it for all targets; the only remaining issues are
      mips (currently treated as non-biarch) and handling of other OS
      emulations (OSF/SunOS/Solaris/???).  The latter would need to be
      assigned new AUDIT_ARCH_... ABI numbers anyway...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      f6bc0c1c
    • Al Viro's avatar
      [PATCH] syscall class hookup for all normal targets · e65e1fc2
      Al Viro authored
      Take default arch/*/kernel/audit.c to lib/, have those with special
      needs (== biarch) define AUDIT_ARCH in their Kconfig.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      e65e1fc2
    • Paul Mundt's avatar
      sh64: Add a sane pm_power_off implementation. · 1bb99a64
      Paul Mundt authored
      sh64 wasn't providing a sensible pm_power_off(), add one,
      and just wrap it to machine_power_off, which already does
      the right thing.
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      1bb99a64
    • Paul Mundt's avatar
      sh64: Use generic BUG_ON()/WARN_ON(). · 56060141
      Paul Mundt authored
      sh64 doesn't need to do anything special for BUG_ON() or
      WARN_ON(), use the generic versions.
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      56060141
    • Paul Mundt's avatar
      sh64: Trivial build fixes. · 21264136
      Paul Mundt authored
      While we've been sorting out the toolchain fiasco, some of
      the code has suffered a bit of bitrot. Building with GCC4
      also brings up some more build warnings. Trivial fixes for
      both issues.
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      21264136
    • Paul Mundt's avatar
      sh64: Drop deprecated ISA tuning for legacy toolchains. · ccdfc526
      Paul Mundt authored
      The original sh64 toolchains required that we tune the ISA
      level accordingly to not have head.S/entry.S blow up. With
      current toolchains, this is no longer the case, and the
      syntax magically changed as well, causing all current
      toolchains to die a horrible death.
      
      Incidentally, code generation in other parts of the kernel
      is now significantly complex enough that none of the older
      toolchains make it very far these days, so there's not
      even any point in preserving legacy compatability via
      as-option.
      
      This fixes a long-standing issue, as noted here:
      
      	http://lkml.org/lkml/2005/1/5/223
      
      Though at the time the current toolchains were too broken
      to make adjusting the tuning worthwhile.
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      ccdfc526
    • Steven Whitehouse's avatar
      [GFS2] Rewrite of examine_bucket() · 24264434
      Steven Whitehouse authored
      The existing implementation of this function in glock.c was not
      very efficient as it relied upon keeping a cursor element upon the
      hash chain in question and moving it along. This new version improves
      upon this by using the current element as a cursor. This is possible
      since we only look at the "next" element in the list after we've
      taken the read_lock() subsequent to calling the examiner function.
      Obviously we have to eventually drop the ref count that we are then
      left with and we cannot do that while holding the read_lock, so we
      do that next time we drop the lock. That means either just before
      we examine another glock, or when the loop has terminated.
      
      The new implementation has several advantages: it uses only a
      read_lock() rather than a write_lock(), so it can run simnultaneously
      with other code, it doesn't need a "plug" element, so that it removes
      a test not only from this list iterator, but from all the other glock
      list iterators too. So it makes things faster and smaller.
      Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      24264434
  5. 11 Sep, 2006 16 commits
  6. 10 Sep, 2006 1 commit