1. 10 Jan, 2012 1 commit
    • 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
  2. 09 Jan, 2012 8 commits
  3. 08 Jan, 2012 11 commits
    • Linus Torvalds's avatar
      Merge tag 'infiniband-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 48fa57ac
      Linus Torvalds authored
      infiniband changes for 3.3 merge window
      
      * tag 'infiniband-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        rdma/core: Fix sparse warnings
        RDMA/cma: Fix endianness bugs
        RDMA/nes: Fix terminate during AE
        RDMA/nes: Make unnecessarily global nes_set_pau() static
        RDMA/nes: Change MDIO bus clock to 2.5MHz
        IB/cm: Fix layout of APR message
        IB/mlx4: Fix SL to 802.1Q priority-bits mapping for IBoE
        IB/qib: Default some module parameters optimally
        IB/qib: Optimize locking for get_txreq()
        IB/qib: Fix a possible data corruption when receiving packets
        IB/qib: Eliminate 64-bit jiffies use
        IB/qib: Fix style issues
        IB/uverbs: Protect QP multicast list
      48fa57ac
    • Linus Torvalds's avatar
      Merge branch 'dma-buf-merge' of git://people.freedesktop.org/~airlied/linux · 8e369672
      Linus Torvalds authored
      * 'dma-buf-merge' of git://people.freedesktop.org/~airlied/linux:
        dma-buf: mark EXPERIMENTAL for 1st release.
        dma-buf: Documentation for buffer sharing framework
        dma-buf: Introduce dma buffer sharing mechanism
      8e369672
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of... · 6950d76c
      Linus Torvalds authored
      Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        max1111.c: fix checkpatch warning
        hwmon: (lm75) fix checkpatch warnings
        hwmon: (lm80) fix checkpatch messages
        hwmon: replaced strict_str* with kstr*
        hwmon: (lm75) fix checkpatch warning
        hwmon: (lm75) added error handling
        hwmon: (ltc4261) set data->valid to 0 if error
        hwmon: (f75375s) Add support for F75387SG/RG
        hwmon: (f75375s) Disable setting DC fan control mode for F75373
        hwmon: (f75375s) Initialize pwmX_mode and pwmX_enable if there is no platform data
        hwmon: (f75375s) Fix value range for PWM modes
        hwmon: (f75375s) Use standard sysfs attribute names
        hwmon: (f75375s) Fix checkpatch errors and warnings
        hwmon: (pmbus/zl6100) Only instantiate external temperature sensor if enabled
        hwmon: (pmbus/zl6100) Add support for Ericsson BMR45[0,1] and BMR46[2,3,4]
        hwmon: (pmbus/zl6100) Add support for ZL2005
        hwmon: (pmbus/adm1275) Validate device ID
      6950d76c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · b7d845f8
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (36 commits)
        mfd: Clearing events requires event registers to be writable for da9052-core
        mfd: Fix annotations in da9052-core
        gpiolib: Mark da9052 driver broken
        mfd: Declare da9052_regmap_config for the bus drivers
        MFD: DA9052/53 MFD core module add SPI support v2
        MFD: DA9052/53 MFD core module
        regmap: Add irq_base accessor to regmap_irq
        regmap: Allow drivers to reinitialise the register cache at runtime
        regmap: Add trace event for successful cache reads
        regmap: Allow regmap_update_bits() users to detect changes
        regmap: Report if we actually handled an interrupt in regmap-irq
        regmap: Fix rbtreee build when not using debugfs
        regmap: Provide debugfs dump of the rbtree cache data
        regmap: Do debugfs init before cache init
        regmap: Suppress noop writes in regmap_update_bits()
        regmap: Remove indexed cache type
        regmap: Drop check whether a register is readable in regcache_read
        regmap: Properly round cache_word_size
        regmap: Add support for 10/14 register formating
        regmap: Try cached read before checking if a hardware read is possible
        ...
      b7d845f8
    • Linus Torvalds's avatar
      Merge tag 'md-3.3' of git://neil.brown.name/md · 2943c833
      Linus Torvalds authored
      md update for 3.3
      
      Big change is new hot-replacement.
      A slot in an array can hold 2 devices - one that
      wants-replacement and one that is the replacement.
      Once the replacement is built - either from the
      original or (in the case of errors) from elsewhere,
      the wants-replacement device will be removed.
      
      * tag 'md-3.3' of git://neil.brown.name/md: (36 commits)
        md/raid1: Mark device want_replacement when we see a write error.
        md/raid1: If there is a spare and a want_replacement device, start replacement.
        md/raid1: recognise replacements when assembling arrays.
        md/raid1: handle activation of replacement device when recovery completes.
        md/raid1: Allow a failed replacement device to be removed.
        md/raid1: Allocate spare to store replacement devices and their bios.
        md/raid1:  Replace use of mddev->raid_disks with conf->raid_disks.
        md/raid10: If there is a spare and a want_replacement device, start replacement.
        md/raid10: recognise replacements when assembling array.
        md/raid10: Allow replacement device to be replace old drive.
        md/raid10: handle recovery of replacement devices.
        md/raid10:  Handle replacement devices during resync.
        md/raid10: writes should get directed to replacement as well as original.
        md/raid10: allow removal of failed replacement devices.
        md/raid10: preferentially read from replacement device if possible.
        md/raid10:  change read_balance to return an rdev
        md/raid10: prepare data structures for handling replacement.
        md/raid5: Mark device want_replacement when we see a write error.
        md/raid5: If there is a spare and a want_replacement device, start replacement.
        md/raid5: recognise replacements when assembling array.
        ...
      2943c833
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 98793265
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)
        Kconfig: acpi: Fix typo in comment.
        misc latin1 to utf8 conversions
        devres: Fix a typo in devm_kfree comment
        btrfs: free-space-cache.c: remove extra semicolon.
        fat: Spelling s/obsolate/obsolete/g
        SCSI, pmcraid: Fix spelling error in a pmcraid_err() call
        tools/power turbostat: update fields in manpage
        mac80211: drop spelling fix
        types.h: fix comment spelling for 'architectures'
        typo fixes: aera -> area, exntension -> extension
        devices.txt: Fix typo of 'VMware'.
        sis900: Fix enum typo 'sis900_rx_bufer_status'
        decompress_bunzip2: remove invalid vi modeline
        treewide: Fix comment and string typo 'bufer'
        hyper-v: Update MAINTAINERS
        treewide: Fix typos in various parts of the kernel, and fix some comments.
        clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR
        gpio: Kconfig: drop unknown symbol 'CS5535_GPIO'
        leds: Kconfig: Fix typo 'D2NET_V2'
        sound: Kconfig: drop unknown symbol ARCH_CLPS7500
        ...
      
      Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new
      kconfig additions, close to removed commented-out old ones)
      98793265
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm · b4a133da
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm:
        x86: Kconfig: drop unknown symbol 'APM_MODULE'
      b4a133da
    • Linus Torvalds's avatar
      Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · eb59c505
      Linus Torvalds authored
      * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
        PM / Hibernate: Implement compat_ioctl for /dev/snapshot
        PM / Freezer: fix return value of freezable_schedule_timeout_killable()
        PM / shmobile: Allow the A4R domain to be turned off at run time
        PM / input / touchscreen: Make st1232 use device PM QoS constraints
        PM / QoS: Introduce dev_pm_qos_add_ancestor_request()
        PM / shmobile: Remove the stay_on flag from SH7372's PM domains
        PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
        PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode
        PM: Drop generic_subsys_pm_ops
        PM / Sleep: Remove forward-only callbacks from AMBA bus type
        PM / Sleep: Remove forward-only callbacks from platform bus type
        PM: Run the driver callback directly if the subsystem one is not there
        PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
        PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.
        PM / Sleep: Merge internal functions in generic_ops.c
        PM / Sleep: Simplify generic system suspend callbacks
        PM / Hibernate: Remove deprecated hibernation snapshot ioctls
        PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
        ARM: S3C64XX: Implement basic power domain support
        PM / shmobile: Use common always on power domain governor
        ...
      
      Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused
      XBT_FORCE_SLEEP bit
      eb59c505
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw · 1619ed8f
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:
        GFS2: local functions should be static
        GFS2: We only need one ACL getting function
        GFS2: Fix multi-block allocation
        GFS2: decouple quota allocations from block allocations
        GFS2: split function rgblk_search
        GFS2: Fix up "off by one" in the previous patch
        GFS2: move toward a generic multi-block allocator
        GFS2: O_(D)SYNC support for fallocate
        GFS2: remove vestigial al_alloced
        GFS2: combine gfs2_alloc_block and gfs2_alloc_di
        GFS2: Add non-try locks back to get_local_rgrp
        GFS2: f_ra is always valid in dir readahead function
        GFS2: Fix very unlikley memory leak in ACL xattr code
        GFS2: More automated code analysis fixes
        GFS2: Add readahead to sequential directory traversal
        GFS2: Fix up REQ flags
      1619ed8f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 29ad0de2
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs: (22 commits)
        xfs: mark the xfssyncd workqueue as non-reentrant
        xfs: simplify xfs_qm_detach_gdquots
        xfs: fix acl count validation in xfs_acl_from_disk()
        xfs: remove unused XBT_FORCE_SLEEP bit
        xfs: remove XFS_QMOPT_DQSUSER
        xfs: kill xfs_qm_idtodq
        xfs: merge xfs_qm_dqinit_core into the only caller
        xfs: add a xfs_dqhold helper
        xfs: simplify xfs_qm_dqattach_grouphint
        xfs: nest qm_dqfrlist_lock inside the dquot qlock
        xfs: flatten the dquot lock ordering
        xfs: implement lazy removal for the dquot freelist
        xfs: remove XFS_DQ_INACTIVE
        xfs: cleanup xfs_qm_dqlookup
        xfs: cleanup dquot locking helpers
        xfs: remove the sync_mode argument to xfs_qm_dqflush_all
        xfs: remove xfs_qm_sync
        xfs: make sure to really flush all dquots in xfs_qm_quotacheck
        xfs: untangle SYNC_WAIT and SYNC_TRYLOCK meanings for xfs_qm_dqflush
        xfs: remove the lid_size field in struct log_item_desc
        ...
      
      Fix up trivial conflict in fs/xfs/xfs_sync.c
      29ad0de2
    • Linus Torvalds's avatar
      Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 972b2c71
      Linus Torvalds authored
      * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
        reiserfs: Properly display mount options in /proc/mounts
        vfs: prevent remount read-only if pending removes
        vfs: count unlinked inodes
        vfs: protect remounting superblock read-only
        vfs: keep list of mounts for each superblock
        vfs: switch ->show_options() to struct dentry *
        vfs: switch ->show_path() to struct dentry *
        vfs: switch ->show_devname() to struct dentry *
        vfs: switch ->show_stats to struct dentry *
        switch security_path_chmod() to struct path *
        vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
        vfs: trim includes a bit
        switch mnt_namespace ->root to struct mount
        vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
        vfs: opencode mntget() mnt_set_mountpoint()
        vfs: spread struct mount - remaining argument of next_mnt()
        vfs: move fsnotify junk to struct mount
        vfs: move mnt_devname
        vfs: move mnt_list to struct mount
        vfs: switch pnode.h macros to struct mount *
        ...
      972b2c71
  4. 07 Jan, 2012 20 commits