1. 13 9月, 2013 11 次提交
    • L
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 5223161d
      Linus Torvalds 提交于
      Pull led updates from Bryan Wu:
       "Sorry for the late pull request, since I'm just back from vacation.
      
        LED subsystem updates for 3.12:
         - pca9633 driver DT supporting and pca9634 chip supporting
         - restore legacy device attributes for lp5521
         - other fixing and updates"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: (28 commits)
        leds: wm831x-status: Request a REG resource
        leds: trigger: ledtrig-backlight: Fix invalid memory access in fb_event notification callback
        leds-pca963x: Fix device tree parsing
        leds-pca9633: Rename to leds-pca963x
        leds-pca9633: Add mutex to the ledout register
        leds-pca9633: Unique naming of the LEDs
        leds-pca9633: Add support for PCA9634
        leds: lp5562: use LP55xx common macros for device attributes
        Documentation: leds-lp5521,lp5523: update device attribute information
        leds: lp5523: remove unnecessary writing commands
        leds: lp5523: restore legacy device attributes
        leds: lp5523: LED MUX configuration on initializing
        leds: lp5523: make separate API for loading engine
        leds: lp5521: remove unnecessary writing commands
        leds: lp5521: restore legacy device attributes
        leds: lp55xx: add common macros for device attributes
        leds: lp55xx: add common data structure for program
        Documentation: leds: Fix a typo
        leds: ss4200: Fix incorrect placement of __initdata
        leds: clevo-mail: Fix incorrect placement of __initdata
        ...
      5223161d
    • L
      Merge tag 'iommu-updates-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · e5d0c874
      Linus Torvalds 提交于
      Pull IOMMU Updates from Joerg Roedel:
       "This round the updates contain:
      
         - A new driver for the Freescale PAMU IOMMU from Varun Sethi.
      
           This driver has cooked for a while and required changes to the
           IOMMU-API and infrastructure that were already merged before.
      
         - Updates for the ARM-SMMU driver from Will Deacon
      
         - Various fixes, the most important one is probably a fix from Alex
           Williamson for a memory leak in the VT-d page-table freeing code
      
        In summary not all that much.  The biggest part in the diffstat is the
        new PAMU driver"
      
      * tag 'iommu-updates-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        intel-iommu: Fix leaks in pagetable freeing
        iommu/amd: Fix resource leak in iommu_init_device()
        iommu/amd: Clean up unnecessary MSI/MSI-X capability find
        iommu/arm-smmu: Simplify VMID and ASID allocation
        iommu/arm-smmu: Don't use VMIDs for stage-1 translations
        iommu/arm-smmu: Tighten up global fault reporting
        iommu/arm-smmu: Remove broken big-endian check
        iommu/fsl: Remove unnecessary 'fsl-pamu' prefixes
        iommu/fsl: Fix whitespace problems noticed by git-am
        iommu/fsl: Freescale PAMU driver and iommu implementation.
        iommu/fsl: Add additional iommu attributes required by the PAMU driver.
        powerpc: Add iommu domain pointer to device archdata
        iommu/exynos: Remove dead code (set_prefbuf)
      e5d0c874
    • L
      Merge tag 'stable/for-linus-3.12-rc0-tag-three' of... · d5adf7e2
      Linus Torvalds 提交于
      Merge tag 'stable/for-linus-3.12-rc0-tag-three' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
      
      Pull Xen balloon driver bug-fixes from Stefano Stabellini:
       - fix a preemption bug in xen/balloon.c;
       - remove an harmful BUG_ON in xen/balloon.c that can trigger in
         non-erroneous situations.
      
      * tag 'stable/for-linus-3.12-rc0-tag-three' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/balloon: remove BUG_ON in increase_reservation
        xen/balloon: ensure preemption is disabled when using a scratch page
      d5adf7e2
    • L
      Merge tag 'pm+acpi-fixes-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 02b9735c
      Linus Torvalds 提交于
      Pull ACPI and power management fixes from Rafael Wysocki:
       "All of these commits are fixes that have emerged recently and some of
        them fix bugs introduced during this merge window.
      
        Specifics:
      
         1) ACPI-based PCI hotplug (ACPIPHP) fixes related to spurious events
      
            After the recent ACPIPHP changes we've seen some interesting
            breakage on a system that triggers device check notifications
            during boot for non-existing devices.  Although those
            notifications are really spurious, we should be able to deal with
            them nevertheless and that shouldn't introduce too much overhead.
            Four commits to make that work properly.
      
         2) Memory hotplug and hibernation mutual exclusion rework
      
            This was maent to be a cleanup, but it happens to fix a classical
            ABBA deadlock between system suspend/hibernation and ACPI memory
            hotplug which is possible if they are started roughly at the same
            time.  Three commits rework memory hotplug so that it doesn't
            acquire pm_mutex and make hibernation use device_hotplug_lock
            which prevents it from racing with memory hotplug.
      
         3) ACPI Intel LPSS (Low-Power Subsystem) driver crash fix
      
            The ACPI LPSS driver crashes during boot on Apple Macbook Air with
            Haswell that has slightly unusual BIOS configuration in which one
            of the LPSS device's _CRS method doesn't return all of the
            information expected by the driver.  Fix from Mika Westerberg, for
            stable.
      
         4) ACPICA fix related to Store->ArgX operation
      
            AML interpreter fix for obscure breakage that causes AML to be
            executed incorrectly on some machines (observed in practice).
            From Bob Moore.
      
         5) ACPI core fix for PCI ACPI device objects lookup
      
            There still are cases in which there is more than one ACPI device
            object matching a given PCI device and we don't choose the one
            that the BIOS expects us to choose, so this makes the lookup take
            more criteria into account in those cases.
      
         6) Fix to prevent cpuidle from crashing in some rare cases
      
            If the result of cpuidle_get_driver() is NULL, which can happen on
            some systems, cpuidle_driver_ref() will crash trying to use that
            pointer and the Daniel Fu's fix prevents that from happening.
      
         7) cpufreq fixes related to CPU hotplug
      
            Stephen Boyd reported a number of concurrency problems with
            cpufreq related to CPU hotplug which are addressed by a series of
            fixes from Srivatsa S Bhat and Viresh Kumar.
      
         8) cpufreq fix for time conversion in time_in_state attribute
      
            Time conversion carried out by cpufreq when user space attempts to
            read /sys/devices/system/cpu/cpu*/cpufreq/stats/time_in_state
            won't work correcty if cputime_t doesn't map directly to jiffies.
            Fix from Andreas Schwab.
      
         9) Revert of a troublesome cpufreq commit
      
            Commit 7c30ed53 (cpufreq: make sure frequency transitions are
            serialized) was intended to address some known concurrency
            problems in cpufreq related to the ordering of transitions, but
            unfortunately it introduced several problems of its own, so I
            decided to revert it now and address the original problems later
            in a more robust way.
      
        10) Intel Haswell CPU models for intel_pstate from Nell Hardcastle.
      
        11) cpufreq fixes related to system suspend/resume
      
            The recent cpufreq changes that made it preserve CPU sysfs
            attributes over suspend/resume cycles introduced a possible NULL
            pointer dereference that caused it to crash during the second
            attempt to suspend.  Three commits from Srivatsa S Bhat fix that
            problem and a couple of related issues.
      
        12) cpufreq locking fix
      
            cpufreq_policy_restore() should acquire the lock for reading, but
            it acquires it for writing.  Fix from Lan Tianyu"
      
      * tag 'pm+acpi-fixes-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (25 commits)
        cpufreq: Acquire the lock in cpufreq_policy_restore() for reading
        cpufreq: Prevent problems in update_policy_cpu() if last_cpu == new_cpu
        cpufreq: Restructure if/else block to avoid unintended behavior
        cpufreq: Fix crash in cpufreq-stats during suspend/resume
        intel_pstate: Add Haswell CPU models
        Revert "cpufreq: make sure frequency transitions are serialized"
        cpufreq: Use signed type for 'ret' variable, to store negative error values
        cpufreq: Remove temporary fix for race between CPU hotplug and sysfs-writes
        cpufreq: Synchronize the cpufreq store_*() routines with CPU hotplug
        cpufreq: Invoke __cpufreq_remove_dev_finish() after releasing cpu_hotplug.lock
        cpufreq: Split __cpufreq_remove_dev() into two parts
        cpufreq: Fix wrong time unit conversion
        cpufreq: serialize calls to __cpufreq_governor()
        cpufreq: don't allow governor limits to be changed when it is disabled
        ACPI / bind: Prefer device objects with _STA to those without it
        ACPI / hotplug / PCI: Avoid parent bus rescans on spurious device checks
        ACPI / hotplug / PCI: Use _OST to notify firmware about notify status
        ACPI / hotplug / PCI: Avoid doing too much for spurious notifies
        ACPICA: Fix for a Store->ArgX when ArgX contains a reference to a field.
        ACPI / hotplug / PCI: Don't trim devices before scanning the namespace
        ...
      02b9735c
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 75acebf2
      Linus Torvalds 提交于
      Pull perf fixes from Ingo Molnar:
       "Various fixes.
      
        The -g perf report lockup you reported is only partially addressed,
        patches that fix the excessive runtime are still being worked on"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86: Fix uncore PCI fixed counter handling
        uprobes: Fix utask->depth accounting in handle_trampoline()
        perf/x86: Add constraint for IVB CYCLE_ACTIVITY:CYCLES_LDM_PENDING
        perf: Fix up MMAP2 buffer space reservation
        perf tools: Add attr->mmap2 support
        perf kvm: Fix sample_type manipulation
        perf evlist: Fix id pos in perf_evlist__open()
        perf trace: Handle perf.data files with no tracepoints
        perf session: Separate progress bar update when processing events
        perf trace: Check if MAP_32BIT is defined
        perf hists: Fix formatting of long symbol names
        perf evlist: Fix parsing with no sample_id_all bit set
        perf tools: Add test for parsing with no sample_id_all bit
        perf trace: Check control+C more often
      75acebf2
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b55ee281
      Linus Torvalds 提交于
      Pull scheduler fix from Ingo Molnar:
       "Performance regression fix"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Fix load balancing performance regression in should_we_balance()
      b55ee281
    • L
      vfs: make getcwd() get the root and pwd path under rcu · 8b19e341
      Linus Torvalds 提交于
      This allows us to skip all the crazy spinlocks and reference count
      updates, and instead use the fs sequence read-lock to get an atomic
      snapshot of the root and cwd information.
      
      We might want to make the rule that "prepend_path()" is always called
      with the RCU lock held, but the RCU lock nests fine and this is the
      minimal fix.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8b19e341
    • L
      vfs: move get_fs_root_and_pwd() to single caller · 5762482f
      Linus Torvalds 提交于
      Let's not pollute the include files with inline functions that are only
      used in a single place.  Especially not if we decide we might want to
      change the semantics of said function to make it more efficient..
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5762482f
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · b7c09ad4
      Linus Torvalds 提交于
      Pull btrfs updates from Chris Mason:
       "This is against 3.11-rc7, but was pulled and tested against your tree
        as of yesterday.  We do have two small incrementals queued up, but I
        wanted to get this bunch out the door before I hop on an airplane.
      
        This is a fairly large batch of fixes, performance improvements, and
        cleanups from the usual Btrfs suspects.
      
        We've included Stefan Behren's work to index subvolume UUIDs, which is
        targeted at speeding up send/receive with many subvolumes or snapshots
        in place.  It closes a long standing performance issue that was built
        in to the disk format.
      
        Mark Fasheh's offline dedup work is also here.  In this case offline
        means the FS is mounted and active, but the dedup work is not done
        inline during file IO.  This is a building block where utilities are
        able to ask the FS to dedup a series of extents.  The kernel takes
        care of verifying the data involved really is the same.  Today this
        involves reading both extents, but we'll continue to evolve the
        patches"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (118 commits)
        Btrfs: optimize key searches in btrfs_search_slot
        Btrfs: don't use an async starter for most of our workers
        Btrfs: only update disk_i_size as we remove extents
        Btrfs: fix deadlock in uuid scan kthread
        Btrfs: stop refusing the relocation of chunk 0
        Btrfs: fix memory leak of uuid_root in free_fs_info
        btrfs: reuse kbasename helper
        btrfs: return btrfs error code for dev excl ops err
        Btrfs: allow partial ordered extent completion
        Btrfs: convert all bug_ons in free-space-cache.c
        Btrfs: add support for asserts
        Btrfs: adjust the fs_devices->missing count on unmount
        Btrf: cleanup: don't check for root_refs == 0 twice
        Btrfs: fix for patch "cleanup: don't check the same thing twice"
        Btrfs: get rid of one BUG() in write_all_supers()
        Btrfs: allocate prelim_ref with a slab allocater
        Btrfs: pass gfp_t to __add_prelim_ref() to avoid always using GFP_ATOMIC
        Btrfs: fix race conditions in BTRFS_IOC_FS_INFO ioctl
        Btrfs: fix race between removing a dev and writing sbs
        Btrfs: remove ourselves from the cluster list under lock
        ...
      b7c09ad4
    • W
      dcache: get/release read lock in read_seqbegin_or_lock() & friend · 18129977
      Waiman Long 提交于
      This patch modifies read_seqbegin_or_lock() and need_seqretry() to use
      newly introduced read_seqlock_excl() and read_sequnlock_excl()
      primitives so that they won't change the sequence number even if they
      fall back to take the lock.  This is OK as no change to the protected
      data structure is being made.
      
      It will prevent one fallback to lock taking from cascading into a series
      of lock taking reducing performance because of the sequence number
      change.  It will also allow other sequence readers to go forward while
      an exclusive reader lock is taken.
      
      This patch also updates some of the inaccurate comments in the code.
      Signed-off-by: NWaiman Long <Waiman.Long@hp.com>
      To: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      18129977
    • W
      seqlock: Add a new locking reader type · 1370e97b
      Waiman Long 提交于
      The sequence lock (seqlock) was originally designed for the cases where
      the readers do not need to block the writers by making the readers retry
      the read operation when the data change.
      
      Since then, the use cases have been expanded to include situations where
      a thread does not need to change the data (effectively a reader) at all
      but have to take the writer lock because it can't tolerate changes to
      the protected structure.  Some examples are the d_path() function and
      the getcwd() syscall in fs/dcache.c where the functions take the writer
      lock on rename_lock even though they don't need to change anything in
      the protected data structure at all.  This is inefficient as a reader is
      now blocking other sequence number reading readers from moving forward
      by pretending to be a writer.
      
      This patch tries to eliminate this inefficiency by introducing a new
      type of locking reader to the seqlock locking mechanism.  This new
      locking reader will try to take an exclusive lock preventing other
      writers and locking readers from going forward.  However, it won't
      affect the progress of the other sequence number reading readers as the
      sequence number won't be changed.
      Signed-off-by: NWaiman Long <Waiman.Long@hp.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1370e97b
  2. 12 9月, 2013 29 次提交