1. 11 Jan, 2012 35 commits
  2. 10 Jan, 2012 3 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e4e11180
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: new helper - d_make_root()
        dcache: use a dispose list in select_parent
        ceph: d_alloc_root() may fail
        ext4: fix failure exits
        isofs: inode leak on mount failure
      e4e11180
    • Al Viro's avatar
      vfs: new helper - d_make_root() · adc0e91a
      Al Viro authored
      d_alloc_root() with iput() in case of allocation failure...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      adc0e91a
    • Dave Chinner's avatar
      dcache: use a dispose list in select_parent · b48f03b3
      Dave Chinner authored
      select_parent currently abuses the dentry cache LRU to provide
      cleanup features for child dentries that need to be freed. It moves
      them to the tail of the LRU, then tells shrink_dcache_parent() to
      calls __shrink_dcache_sb to unconditionally move them to a dispose
      list (as DCACHE_REFERENCED is ignored). __shrink_dcache_sb() has to
      relock the dentries to move them off the LRU onto the dispose list,
      but otherwise does not touch the dentries that select_parent() moved
      to the tail of the LRU. It then passses the dispose list to
      shrink_dentry_list() which tries to free the dentries.
      
      IOWs, the use of __shrink_dcache_sb() is superfluous - we can build
      exactly the same list of dentries for disposal directly in
      select_parent() and call shrink_dentry_list() instead of calling
      __shrink_dcache_sb() to do that. This means that we avoid long holds
      on the lru lock walking the LRU moving dentries to the dispose list
      We also avoid the need to relock each dentry just to move it off the
      LRU, reducing the numebr of times we lock each dentry to dispose of
      them in shrink_dcache_parent() from 3 to 2 times.
      
      Further, we remove one of the two callers of __shrink_dcache_sb().
      This also means that __shrink_dcache_sb can be moved into back into
      prune_dcache_sb() and we no longer have to handle referenced
      dentries conditionally, simplifying the code.
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b48f03b3
  3. 09 Jan, 2012 2 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · 37cfc3f6
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next:
        sparc32: remove unused file: include/asm/pgtsun4.h
        sparc32: fix PAGE_SIZE definition
        sparc32: enable different preemptions models
        sparc32: support atomic64_t
        apbuart: fix section mismatch warning
        sparc32: drop useless preprocessor conditional in atomic_32.h
        sparc32: drop unused atomic24 support
      37cfc3f6
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 38e5781b
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        igmp: Avoid zero delay when receiving odd mixture of IGMP queries
        netdev: make net_device_ops const
        bcm63xx: make ethtool_ops const
        usbnet: make ethtool_ops const
        net: Fix build with INET disabled.
        net: introduce netif_addr_lock_nested() and call if when appropriate
        net: correct lock name in dev_[uc/mc]_sync documentations.
        net: sk_update_clone is only used in net/core/sock.c
        8139cp: fix missing napi_gro_flush.
        pktgen: set correct max and min in pktgen_setup_inject()
        smsc911x: Unconditionally include linux/smscphy.h in smsc911x.h
        asix: fix infinite loop in rx_fixup()
        net: Default UDP and UNIX diag to 'n'.
        r6040: fix typo in use of MCR0 register bits
        net: fix sock_clone reference mismatch with tcp memcontrol
      38e5781b