1. 11 Aug, 2007 32 commits
  2. 10 Aug, 2007 3 commits
    • Jesper Juhl's avatar
      SLUB: Fix format specifier in Documentation/vm/slabinfo.c · ac078602
      Jesper Juhl authored
      There's a little problem in Documentation/vm/slabinfo.c
      The code is using "%d" in a printf() call to print an 'unsigned long'.
      This patch corrects it to use "%lu" instead.
      Signed-off-by: default avatarJesper Juhl <jesper.juhl@gmail.com>
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      ac078602
    • Christoph Lameter's avatar
      SLUB: Fix dynamic dma kmalloc cache creation · 1ceef402
      Christoph Lameter authored
      The dynamic dma kmalloc creation can run into trouble if a
      GFP_ATOMIC allocation is the first one performed for a certain size
      of dma kmalloc slab.
      
      - Move the adding of the slab to sysfs into a workqueue
        (sysfs does GFP_KERNEL allocations)
      - Do not call kmem_cache_destroy() (uses slub_lock)
      - Only acquire the slub_lock once and--if we cannot wait--do a trylock.
      
        This introduces a slight risk of the first kmalloc(x, GFP_DMA|GFP_ATOMIC)
        for a range of sizes failing due to another process holding the slub_lock.
        However, we only need to acquire the spinlock once in order to establish
        each power of two DMA kmalloc cache. The possible conflict is with the
        slub_lock taken during slab management actions (create / remove slab cache).
      
        It is rather typical that a driver will first fill its buffers using
        GFP_KERNEL allocations which will wait until the slub_lock can be acquired.
        Drivers will also create its slab caches first outside of an atomic
        context before starting to use atomic kmalloc from an interrupt context.
      
        If there are any failures then they will occur early after boot or when
        loading of multiple drivers concurrently. Drivers can already accomodate
        failures of GFP_ATOMIC for other reasons. Retries will then create the slab.
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      1ceef402
    • Christoph Lameter's avatar
      SLUB: Remove checks for MAX_PARTIAL from kmem_cache_shrink · fcda3d89
      Christoph Lameter authored
      The MAX_PARTIAL checks were supposed to be an optimization. However, slab
      shrinking is a manually triggered process either through running slabinfo
      or by the kernel calling kmem_cache_shrink.
      
      If one really wants to shrink a slab then all operations should be done
      regardless of the size of the partial list. This also fixes an issue that
      could surface if the number of partial slabs was initially above MAX_PARTIAL
      in kmem_cache_shrink and later drops below MAX_PARTIAL through the
      elimination of empty slabs on the partial list (rare). In that case a few
      slabs may be left off the partial list (and only be put back when they
      are empty).
      Signed-off-by: default avatarChristoph Lameter <clameter@sgi.com>
      fcda3d89
  3. 09 Aug, 2007 5 commits
    • Alan Cox's avatar
      remove dubious legal statment from uio-howto · 6adb31c9
      Alan Cox authored
      UIO currently contains a rather dubious statement which wants removing.
      
      The actual questions around whether user space code that depends tightly
      on kernel GPL code designed to co-work with it are derivative works of
      the kernel is extremely complex, and since we don't have space for either
      a masters length essay on legal issues or need to start flamewars lets
      simply remove the comment and leave law to lawyers
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <tovalds@linux-foundation.org>
      6adb31c9
    • Richard Henderson's avatar
      Fix Alpha O_CLOEXEC definition · 620b5e68
      Richard Henderson authored
      The default definition in asm-generic conflicts with Alpha's O_DIRECT,
      so, like several other arches, it needs to be redefined.
      Signed-off-by: default avatarRichard Hendersion  <rth@twiddle.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      620b5e68
    • Linus Torvalds's avatar
      Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 · 8b80fc02
      Linus Torvalds authored
      * git://git.linux-nfs.org/pub/linux/nfs-2.6:
        SUNRPC: Replace flush_workqueue() with cancel_work_sync() and friends
        NFS: Replace flush_scheduled_work with cancel_work_sync() and friends
        SUNRPC: Don't call gss_delete_sec_context() from an rcu context
        NFSv4: Don't call put_rpccred() from an rcu callback
        NFS: Fix NFSv4 open stateid regressions
        NFSv4: Fix a locking regression in nfs4_set_mode_locked()
        NFS: Fix put_nfs_open_context
        SUNRPC: Fix a race in rpciod_down()
      8b80fc02
    • Artem Bityutskiy's avatar
      hexdump: use const notation · 6a0ed91e
      Artem Bityutskiy authored
      Trivial fix: mark the buffer to hexdump as const so callers could avoid
      casting their const buffers when calling print_hex_dump().
      
      The patch is really trivial and I suggest to consider it as a fix
      (it fixes GCC warnings) and push it to current tree.
      Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6a0ed91e
    • Linus Torvalds's avatar
      Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · 660ca531
      Linus Torvalds authored
      * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
        [TCP]: H-TCP maxRTT estimation at startup
        [NETFILTER]: nf_nat: add symbolic dependency on IPv4 conntrack
        [NETFILTER]: ctnetlink: return EEXIST instead of EINVAL for existing nat'ed conntracks
        [NETFILTER]: ipt_recent: avoid a possible NULL pointer deref in recent_seq_open()
        [NET] net/core/utils: fix sparse warning
        [NetLabel]: add missing rcu_dereference() calls in the LSM domain mapping hash table
        [PATCH] mac80211: don't allow scanning in monitor mode
        [PATCH] mac80211: Fix sparse error for sta_last_seq_ctrl_read
        [PATCH] mac80211: use do { } while (0) for multi-line macros
        [PATCH] mac80211: missing dev_put in ieee80211_master_start_xmit
      660ca531