1. 19 Jun, 2013 1 commit
    • Vincent Guittot's avatar
      sched: Fix clear NOHZ_BALANCE_KICK · 873b4c65
      Vincent Guittot authored
      I have faced a sequence where the Idle Load Balance was sometime not
      triggered for a while on my platform, in the following scenario:
      
       CPU 0 and CPU 1 are running tasks and CPU 2 is idle
      
       CPU 1 kicks the Idle Load Balance
       CPU 1 selects CPU 2 as the new Idle Load Balancer
       CPU 2 sets NOHZ_BALANCE_KICK for CPU 2
       CPU 2 sends a reschedule IPI to CPU 2
      
       While CPU 3 wakes up, CPU 0 or CPU 1 migrates a waking up task A on CPU 2
      
       CPU 2 finally wakes up, runs task A and discards the Idle Load Balance
             task A quickly goes back to sleep (before a tick occurs on CPU 2)
       CPU 2 goes back to idle with NOHZ_BALANCE_KICK set
      
      Whenever CPU 2 will be selected as the ILB, no reschedule IPI will be sent
      because NOHZ_BALANCE_KICK is already set and no Idle Load Balance will be
      performed.
      
      We must wait for the sched softirq to be raised on CPU 2 thanks to another
      part the kernel to come back to clear NOHZ_BALANCE_KICK.
      
      The proposed solution clears NOHZ_BALANCE_KICK in schedule_ipi if
      we can't raise the sched_softirq for the Idle Load Balance.
      
      Change since V1:
      
      - move the clear of NOHZ_BALANCE_KICK in got_nohz_idle_kick if the ILB
        can't run on this CPU (as suggested by Peter)
      Signed-off-by: default avatarVincent Guittot <vincent.guittot@linaro.org>
      Signed-off-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1370419991-13870-1-git-send-email-vincent.guittot@linaro.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      873b4c65
  2. 31 May, 2013 1 commit
    • Andrew Jones's avatar
      sched/x86: Construct all sibling maps if smt · b0bc225d
      Andrew Jones authored
      Commit 316ad248 ("sched/x86: Rewrite
      set_cpu_sibling_map()") broke the construction of sibling maps,
      which also broke the booted_cores accounting.
      
      Before the rewrite, if smt was present, then each map was
      updated for each smt sibling. After the rewrite only
      cpu_sibling_mask gets updated, as the llc and core maps depend
      on 'has_mc = x86_max_cores > 1' instead. This leads to problems
      with topologies like the following
      
      (qemu -smp sockets=2,cores=1,threads=2)
      
        processor       : 0
        physical id     : 0
        siblings        : 1    <= should be 2
        core id         : 0
        cpu cores       : 1
      
        processor       : 1
        physical id     : 0
        siblings        : 1    <= should be 2
        core id         : 0
        cpu cores       : 0    <= should be 1
      
        processor       : 2
        physical id     : 1
        siblings        : 1    <= should be 2
        core id         : 0
        cpu cores       : 1
      
        processor       : 3
        physical id     : 1
        siblings        : 1    <= should be 2
        core id         : 0
        cpu cores       : 0    <= should be 1
      
      This patch restores the former construction by defining has_mc
      as (has_smt || x86_max_cores > 1). This should be fine as there
      were no (has_smt && !has_mc) conditions in the context.
      
      Aso rename has_mc to has_mp now that it's not just for cores.
      Signed-off-by: default avatarAndrew Jones <drjones@redhat.com>
      Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Cc: a.p.zijlstra@chello.nl
      Cc: fenghua.yu@intel.com
      Link: http://lkml.kernel.org/r/1369831695-11970-1-git-send-email-drjones@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      b0bc225d
  3. 30 May, 2013 5 commits
  4. 29 May, 2013 3 commits
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-fixes-v3.10-3' of... · 7b55eab8
      Linus Torvalds authored
      Merge tag 'pinctrl-fixes-v3.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
      
      Pull pin-control fixes from Linus Walleij:
       - Six patches fixing up the suspend/resume and wakeup handling of the
         Samsung and Exynos drivers.
       - Errorpath fixes for four different drivers.  All on the probe()
         errorpath.
       - Make the debugfs code for pin config take the right mutex.
      
      * tag 'pinctrl-fixes-v3.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl: pinconf: take the right mutex
        pinctrl: sunxi: fix error return code in sunxi_pinctrl_probe()
        pinctrl: exynos: Handle suspend/resume of GPIO EINT registers
        pinctrl: samsung: Allow per-bank SoC-specific private data
        pinctrl: samsung: Add support for SoC-specific suspend/resume callbacks
        pinctrl: Don't override the error code in probe error handling
        ARM: EXYNOS: Fix EINT wake-up mask configuration when pinctrl is used
        pinctrl: exynos: Add support for set_irq_wake of wake-up EINTs
        pinctrl: samsung: fix suspend/resume functionality
      7b55eab8
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · c4763215
      Linus Torvalds authored
      Pull ARM Exynos fixes from Olof Johansson:
       "Here's a shorter set of fixes for 3.10, all for Samsung Exynos
        platforms.
      
        It also includes a defconfig update so that exynos_defconfig provides
        a meaningful set of drivers to boot an unmodified kernel on the
        Samsung ARM-based Chromebooks."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: exynos: defconfig update
        ARM: SAMSUNG: Add names to fimd0 IRQ resources
        ARM: EXYNOS: fix software reset logic for EXYNOS5440 SOC
        ARM: EXYNOS: Fix support of Exynos4210 rev0 SoC
        ARM: dts: Enabling samsung-usb2phy driver for exynos5250
      c4763215
    • Olof Johansson's avatar
      ARM: exynos: defconfig update · da9d0fbf
      Olof Johansson authored
      This turns on a number of configs that are useful on the Chromebook, but also
      good to have on in general:
      
      * USB host and MMC drivers(!)
      * I2C GPIO arbitration driver
      * CYAPA trackpad driver
      * simplefb
      * CROS EC and keyboard drivers
      * S5M8767 driver
      * MAX77686 drivers
      * MAX8997 driver
      * DEVTMPFS + mount
      * DM_CRYPT (as module)
      * CRYPTOLOOP
      * HIGHMEM
      * PRINTK timestamps
      
      This also turns off DEBUG_LL, and switches the hardcoded Samsung lowlevel
      uart to uart 3 (which is only used to show the "uncompressing kernel"
      message at boot, it seems).
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      Reviewed-by: default avatarDoug Anderson <dianders@chromium.org>
      Tested-by: default avatarTushar Behera <tushar.behera@linaro.org>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      da9d0fbf
  5. 28 May, 2013 11 commits
  6. 27 May, 2013 10 commits
  7. 26 May, 2013 9 commits
    • Linus Torvalds's avatar
      Linux 3.10-rc3 · e4aa937e
      Linus Torvalds authored
      e4aa937e
    • Manfred Spraul's avatar
      ipc/sem.c: Fix missing wakeups in do_smart_update_queue() · ab465df9
      Manfred Spraul authored
      do_smart_update_queue() is called when an operation (semop,
      semctl(SETVAL), semctl(SETALL), ...) modified the array.  It must check
      which of the sleeping tasks can proceed.
      
      do_smart_update_queue() missed a few wakeups:
       - if a sleeping complex op was completed, then all per-semaphore queues
         must be scanned - not only those that were modified by *sops
       - if a sleeping simple op proceeded, then the global queue must be
         scanned again
      
      And:
       - the test for "|sops == NULL) before scanning the global queue is not
         required: If the global queue is empty, then it doesn't need to be
         scanned - regardless of the reason for calling do_smart_update_queue()
      
      The patch is not optimized, i.e.  even completing a wait-for-zero
      operation causes a rescan.  This is done to keep the patch as simple as
      possible.
      Signed-off-by: default avatarManfred Spraul <manfred@colorfullife.com>
      Acked-by: default avatarDavidlohr Bueso <davidlohr.bueso@hp.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ab465df9
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-3.10-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 89ff7783
      Linus Torvalds authored
      Pull NFS client bugfixes from Trond Myklebust:
      
       - Stable fix to prevent an rpc_task wakeup race
       - Fix a NFSv4.1 session drain deadlock
       - Fix a NFSv4/v4.1 mount regression when not running rpc.gssd
       - Ensure auth_gss pipe detection works in namespaces
       - Fix SETCLIENTID fallback if rpcsec_gss is not available
      
      * tag 'nfs-for-3.10-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        NFS: Fix SETCLIENTID fallback if GSS is not available
        SUNRPC: Prevent an rpc_task wakeup race
        NFSv4.1 Fix a pNFS session draining deadlock
        SUNRPC: Convert auth_gss pipe detection to work in namespaces
        SUNRPC: Faster detection if gssd is actually running
        SUNRPC: Fix a bug in gss_create_upcall
      89ff7783
    • Linus Torvalds's avatar
      Merge tag 'edac_fixes_for_3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 932ff06b
      Linus Torvalds authored
      Pull amd64 edac fix from Borislav Petkov:
       "A sysfs file permissions correction"
      
      * tag 'edac_fixes_for_3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        amd64_edac: Fix bogus sysfs file permissions
      932ff06b
    • Linus Torvalds's avatar
      Merge branch 'parisc-for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 95f4838e
      Linus Torvalds authored
      Pull parisc fixes from Helge Deller:
       "This time we made the kernel- and interruption stack allocation
        reentrant which fixed some strange kernel crashes (specifically
        protection ID traps).
      
        Furthemore this patchset fixes the interrupt stack in UP and SMP
        configurations by using native locking instructions.  And finally
        usage of floating point calculations on parisc were disabled in the
        MPILIB."
      
      * 'parisc-for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: fix irq stack on UP and SMP
        parisc/superio: Use module_pci_driver to register driver
        parisc: make interrupt and interruption stack allocation reentrant
        parisc: show number of FPE and unaligned access handler calls in /proc/interrupts
        parisc: add additional parisc git tree to MAINTAINERS file
        parisc: use PAGE_SHIFT instead of hardcoded value 12 in pacache.S
        parisc: add rp5470 entry to machine database
        MPILIB: disable usage of floating point registers on parisc
      95f4838e
    • Linus Torvalds's avatar
      Merge tag 'for-linus-v3.10-rc3' of git://oss.sgi.com/xfs/xfs · 088d812f
      Linus Torvalds authored
      Pull xfs fixes from Ben Myers:
       "Here are fixes for corruption on 512 byte filesystems, a rounding
        error, a use-after-free, some flags to fix lockdep reports, and
        several fixes related to CRCs.  We have a somewhat larger post -rc1
        queue than usual due to fixes related to the CRC feature we merged for
        3.10:
      
         - Fix for corruption with FSX on 512 byte blocksize filesystems
         - Fix rounding error in xfs_free_file_space
         - Fix use-after-free with extent free intents
         - Add several missing KM_NOFS flags to fix lockdep reports
         - Several fixes for CRC related code"
      
      * tag 'for-linus-v3.10-rc3' of git://oss.sgi.com/xfs/xfs:
        xfs: remote attribute lookups require the value length
        xfs: xfs_attr_shortform_allfit() does not handle attr3 format.
        xfs: xfs_da3_node_read_verify() doesn't handle XFS_ATTR3_LEAF_MAGIC
        xfs: fix missing KM_NOFS tags to keep lockdep happy
        xfs: Don't reference the EFI after it is freed
        xfs: fix rounding in xfs_free_file_space
        xfs: fix sub-page blocksize data integrity writes
      088d812f
    • Linus Torvalds's avatar
      Merge tag 'for-v3.10-fixes' of git://git.infradead.org/battery-2.6 · 72de4c63
      Linus Torvalds authored
      Pull bettery fixes from Anton Vorontsov:
       "Last minute one-liners: wrong kfree usage fix, module alias fixup and
        kconfig adjustments"
      
      * tag 'for-v3.10-fixes' of git://git.infradead.org/battery-2.6:
        pm2301_charger: Fix module alias prefix
        wm831x_backup: Fix wrong kfree call for devdata->backup.name
        bq27x00: Fix I2C dependency in KConfig
        lp8788-charger: Fix kconfig dependency
      72de4c63
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 1aad08dc
      Linus Torvalds authored
      Pull power management and ACPI fixes from Rafael Wysocki:
      
       - Additional CPU ID for the intel_pstate driver from Dirk Brandewie.
      
       - More cpufreq fixes related to ARM big.LITTLE support and locking from
         Viresh Kumar.
      
       - VIA C7 cpufreq build fix from Rafał Bilski.
      
       - ACPI power management fix making it possible to use device power
         states regardless of the CONFIG_PM setting from Rafael J Wysocki.
      
       - New ACPI video blacklist item from Bastian Triller.
      
      * tag 'pm+acpi-3.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / video: Add "Asus UL30A" to ACPI video detect blacklist
        cpufreq: arm_big_little_dt: Instantiate as platform_driver
        cpufreq: arm_big_little_dt: Register driver only if DT has valid data
        cpufreq / e_powersaver: Fix linker error when ACPI processor is a module
        cpufreq / intel_pstate: Add additional supported CPU ID
        cpufreq: Drop rwsem lock around CPUFREQ_GOV_POLICY_EXIT
        ACPI / PM: Allow device power states to be used for CONFIG_PM unset
      1aad08dc
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma · 27a24cfa
      Linus Torvalds authored
      Pull slave-dma fixes from Vinod Koul:
       "We have two patches from Andy & Rafael fixing the Lynxpoint dma"
      
      * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
        ACPI / LPSS: register clock device for Lynxpoint DMA properly
        dma: acpi-dma: parse CSRT to extract additional resources
      27a24cfa