17 Sep, 2013

1 commit

  • Pull timer code update from Thomas Gleixner:
    - armada SoC clocksource overhaul with a trivial merge conflict
    - Minor improvements to various SoC clocksource drivers

    * 'timers/core' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    clocksource: armada-370-xp: Add detailed clock requirements in devicetree binding
    clocksource: armada-370-xp: Get reference fixed-clock by name
    clocksource: armada-370-xp: Replace WARN_ON with BUG_ON
    clocksource: armada-370-xp: Fix device-tree binding
    clocksource: armada-370-xp: Introduce new compatibles
    clocksource: armada-370-xp: Use CLOCKSOURCE_OF_DECLARE
    clocksource: armada-370-xp: Simplify TIMER_CTRL register access
    clocksource: armada-370-xp: Use BIT()
    ARM: timer-sp: Set dynamic irq affinity
    ARM: nomadik: add dynamic irq flag to the timer
    clocksource: sh_cmt: 32-bit control register support
    clocksource: em_sti: Convert to devm_* managed helpers

    Linus Torvalds
     

16 Sep, 2013

1 commit

  • Pull MIPS fixes from Ralf Baechle:
    "These are four patches for three construction sites:

    - Fix register decoding for the combination of multi-core processors
    and multi-threading.

    - Two more fixes that are part of the ongoing DECstation resurrection
    work. One of these touches a DECstation-only network driver.

    - Finally Markos' trivial build fix for the AP/SP support.

    (With this applied now all MIPS defconfigs are building again)"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: kernel: vpe: Make vpe_attrs an array of pointers.
    MIPS: Fix SMP core calculations when using MT support.
    MIPS: DECstation I/O ASIC DMA interrupt handling fix
    MIPS: DECstation HRT initialization rearrangement

    Linus Torvalds
     

14 Sep, 2013

1 commit

  • Pull Xtensa updates from Chris Zankel.

    * tag 'xtensa-next-20130912' of git://github.com/czankel/xtensa-linux:
    xtensa: Fix broken allmodconfig build
    xtensa: remove CCOUNT_PER_JIFFY
    xtensa: fix !CONFIG_XTENSA_CALIBRATE_CCOUNT build failure
    xtensa: don't use echo -e needlessly
    xtensa: new fast_alloca handler
    xtensa: keep a3 and excsave1 on entry to exception handlers
    xtensa: enable kernel preemption
    xtensa: check thread flags atomically on return from user exception

    Linus Torvalds
     

13 Sep, 2013

30 commits

  • Pull generic hardirq option removal from Martin Schwidefsky:
    "All architectures now use generic hardirqs, s390 has been last to
    switch.

    With that the code under !CONFIG_GENERIC_HARDIRQS and the related
    HAVE_GENERIC_HARDIRQS and GENERIC_HARDIRQS config options can be
    removed. Yay!"

    * 'genirq' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    Remove GENERIC_HARDIRQ config option

    Linus Torvalds
     
  • …realmz6/blackfin-linux

    Pull blackfin updates from Steven Miao.

    * tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux:
    blackfin: Ignore generated uImages
    blackfin: Add STMMAC platform data to enable dwmac1000 driver on BF60x.
    bf609: adv7343: add S-Video and Component output support
    bf609: add adv7343 video encoder support
    clock: add stmmac clock for ethernet driver
    blackfin: scb: Add SCB1 to SCB9 config options and data.
    blackfin: scb: Add system crossbar init code.

    Linus Torvalds
     
  • Commit 567b21e973ccf5b0d13776e408d7c67099749eb8
    "mips: convert vpe_class to use dev_groups"

    broke the build on MIPS since vpe_attrs should be an array
    of 'struct device_attribute' pointers.

    Fixes the following build problem:
    arch/mips/kernel/vpe.c:1372:2: error: missing braces around initializer
    [-Werror=missing-braces]
    arch/mips/kernel/vpe.c:1372:2: error: (near initialization for 'vpe_attrs[0]')
    [-Werror=missing-braces]

    Cc: Ralf Baechle
    Cc: John Crispin
    Cc: Greg Kroah-Hartman
    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5819/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • After the last architecture switched to generic hard irqs the config
    options HAVE_GENERIC_HARDIRQS & GENERIC_HARDIRQS and the related code
    for !CONFIG_GENERIC_HARDIRQS can be removed.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • The TCBIND register is only available if the core has MT support. It
    should not be read otherwise. Secondly, the number of TCs (siblings)
    are calculated differently depending on if the kernel is configured
    as SMVP or SMTC.

    Signed-off-by: Leonid Yegoshin
    Signed-off-by: Steven J. Hill
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5822/
    Signed-off-by: Ralf Baechle

    Leonid Yegoshin
     
  • This change complements commit d0da7c002f7b2a93582187a9e3f73891a01d8ee4
    and brings clear_ioasic_irq back, renaming it to clear_ioasic_dma_irq at
    the same time, to make I/O ASIC DMA interrupts functional.

    Unlike ordinary I/O ASIC interrupts DMA interrupts need to be deasserted
    by software by writing 0 to the respective bit in I/O ASIC's System
    Interrupt Register (SIR), similarly to how CP0.Cause.IP0 and CP0.Cause.IP1
    bits are handled in the CPU (the difference is SIR DMA interrupt bits are
    R/W0C so there's no need for an RMW cycle). Otherwise the handler is
    reentered over and over again.

    The only current user is the DEC LANCE Ethernet driver and its extremely
    uncommon DMA memory error handler that does not care when exactly the
    interrupt is cleared. Anticipating the use of DMA interrupts by the Zilog
    SCC driver this change however exports clear_ioasic_dma_irq for device
    drivers to choose the right application-specific sequence to clear the
    request explicitly rather than calling it implicitly in the .irq_eoi
    handler of `struct irq_chip'. Previously these interrupts were cleared in
    the .end handler of the said structure, before it was removed.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5826/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     
  • Not all I/O ASIC versions have the free-running counter implemented, an
    early revision used in the 5000/1xx models aka 3MIN and 4MIN did not have
    it. Therefore we cannot unconditionally use it as a clock source.
    Fortunately if not implemented its register slot has a fixed value so it
    is enough if we check for the value at the end of the calibration period
    being the same as at the beginning.

    This also means we need to look for another high-precision clock source on
    the systems affected. The 5000/1xx can have an R4000SC processor
    installed where the CP0 Count register can be used as a clock source.
    Unfortunately all the R4k DECstations suffer from the missed timer
    interrupt on CP0 Count reads erratum, so we cannot use the CP0 timer as a
    clock source and a clock event both at a time. However we never need an
    R4k clock event device because all DECstations have a DS1287A RTC chip
    whose periodic interrupt can be used as a clock source.

    This gives us the following four configuration possibilities for I/O ASIC
    DECstations:

    1. No I/O ASIC counter and no CP0 timer, e.g. R3k 5000/1xx (3MIN).

    2. No I/O ASIC counter but the CP0 timer, i.e. R4k 5000/150 (4MIN).

    3. The I/O ASIC counter but no CP0 timer, e.g. R3k 5000/240 (3MAX+).

    4. The I/O ASIC counter and the CP0 timer, e.g. R4k 5000/260 (4MAX+).

    For #1 and #2 this change stops the I/O ASIC free-running counter from
    being installed as a clock source of a 0Hz frequency. For #2 it also
    arranges for the CP0 timer to be used as a clock source rather than a
    clock event device, because having an accurate wall clock is more
    important than a high-precision interval timer. For #3 there is no
    change. For #4 the change makes the I/O ASIC free-running counter
    installed as a clock source so that the CP0 timer can be used as a clock
    event device.

    Unfortunately the use of the CP0 timer as a clock event device relies on a
    succesful completion of c0_compare_interrupt. That never happens, because
    while waiting for a CP0 Compare interrupt to happen the function spins in
    a loop reading the CP0 Count register. This makes the CP0 Count erratum
    trigger reliably causing the interrupt waited for to be lost in all cases.
    As a result #4 resorts to using the CP0 timer as a clock source as well,
    just as #2. However we want to keep this separate arrangement in case
    (hope) c0_compare_interrupt is eventually rewritten such that it avoids
    the erratum.

    Signed-off-by: Maciej W. Rozycki
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/5825/
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     
  • We have the build infrastructure to generate uImages so we should ignore
    the resulting generated files.

    Signed-off-by: Mark Brown
    Acked-by: Mike Frysinger

    Mark Brown
     
  • - Enable GMAC
    - Set propler DMA PBL
    - Disable DMA store and forward mode
    - Select PTP input clock from MII
    clock.

    Signed-off-by: Sonic Zhang
    Signed-off-by: Steven Miao

    Sonic Zhang
     
  • Signed-off-by: Scott Jiang

    Scott Jiang
     
  • Signed-off-by: Scott Jiang

    Scott Jiang
     
  • Signed-off-by: Steven Miao

    Steven Miao
     
  • Signed-off-by: Sonic Zhang

    Sonic Zhang
     
  • If SCB exists in select blackfin cpu, developer can change the SCB
    priority in kernel configuration.

    Signed-off-by: Sonic Zhang
    Signed-off-by: Steven Miao

    Steven Miao
     
  • Pull MIPS updates from Ralf Baechle:
    "This has been sitting in -next for a while with no objections and all
    MIPS defconfigs except one are building fine; that one platform got
    broken by another patch in your tree and I'm going to submit a patch
    separately.

    - a handful of fixes that didn't make 3.11
    - a few bits of Octeon 3 support with more to come for a later
    release
    - platform enhancements for Octeon, ath79, Lantiq, Netlogic and
    Ralink SOCs
    - a GPIO driver for the Octeon
    - some dusting off of the DECstation code
    - the usual dose of cleanups"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (65 commits)
    MIPS: DMA: Fix BUG due to smp_processor_id() in preemptible code
    MIPS: kexec: Fix random crashes while loading crashkernel
    MIPS: kdump: Skip walking indirection page for crashkernels
    MIPS: DECstation HRT calibration bug fixes
    MIPS: Export copy_from_user_page() (needed by lustre)
    MIPS: Add driver for the built-in PCI controller of the RT3883 SoC
    MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000
    MIPS: ralink: Add support for reset-controller API
    MIPS: ralink: mt7620: Add cpu-feature-override header
    MIPS: ralink: mt7620: Add spi clock definition
    MIPS: ralink: mt7620: Add wdt clock definition
    MIPS: ralink: mt7620: Improve clock frequency detection
    MIPS: ralink: mt7620: This SoC has EHCI and OHCI hosts
    MIPS: ralink: mt7620: Add verbose ram info
    MIPS: ralink: Probe clocksources from OF
    MIPS: ralink: Add support for systick timer found on newer ralink SoC
    MIPS: ralink: Add support for periodic timer irq
    MIPS: Netlogic: Built-in DTB for XLP2xx SoC boards
    MIPS: Netlogic: Add support for USB on XLP2xx
    MIPS: Netlogic: XLP2xx update for I2C controller
    ...

    Linus Torvalds
     
  • Merge more patches from Andrew Morton:
    "The rest of MM. Plus one misc cleanup"

    * emailed patches from Andrew Morton : (35 commits)
    mm/Kconfig: add MMU dependency for MIGRATION.
    kernel: replace strict_strto*() with kstrto*()
    mm, thp: count thp_fault_fallback anytime thp fault fails
    thp: consolidate code between handle_mm_fault() and do_huge_pmd_anonymous_page()
    thp: do_huge_pmd_anonymous_page() cleanup
    thp: move maybe_pmd_mkwrite() out of mk_huge_pmd()
    mm: cleanup add_to_page_cache_locked()
    thp: account anon transparent huge pages into NR_ANON_PAGES
    truncate: drop 'oldsize' truncate_pagecache() parameter
    mm: make lru_add_drain_all() selective
    memcg: document cgroup dirty/writeback memory statistics
    memcg: add per cgroup writeback pages accounting
    memcg: check for proper lock held in mem_cgroup_update_page_stat
    memcg: remove MEMCG_NR_FILE_MAPPED
    memcg: reduce function dereference
    memcg: avoid overflow caused by PAGE_ALIGN
    memcg: rename RESOURCE_MAX to RES_COUNTER_MAX
    memcg: correct RESOURCE_MAX to ULLONG_MAX
    mm: memcg: do not trap chargers with full callstack on OOM
    mm: memcg: rework and document OOM waiting and wakeup
    ...

    Linus Torvalds
     
  • The x86 fault handler bails in the middle of error handling when the
    task has a fatal signal pending. For a subsequent patch this is a
    problem in OOM situations because it relies on pagefault_out_of_memory()
    being called even when the task has been killed, to perform proper
    per-task OOM state unwinding.

    Shortcutting the fault like this is a rather minor optimization that
    saves a few instructions in rare cases. Just remove it for
    user-triggered faults.

    Use the opportunity to split the fault retry handling from actual fault
    errors and add locking documentation that reads suprisingly similar to
    ARM's.

    Signed-off-by: Johannes Weiner
    Reviewed-by: Michal Hocko
    Acked-by: KOSAKI Motohiro
    Cc: David Rientjes
    Cc: KAMEZAWA Hiroyuki
    Cc: azurIt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Unlike global OOM handling, memory cgroup code will invoke the OOM killer
    in any OOM situation because it has no way of telling faults occuring in
    kernel context - which could be handled more gracefully - from
    user-triggered faults.

    Pass a flag that identifies faults originating in user space from the
    architecture-specific fault handlers to generic code so that memcg OOM
    handling can be improved.

    Signed-off-by: Johannes Weiner
    Reviewed-by: Michal Hocko
    Cc: David Rientjes
    Cc: KAMEZAWA Hiroyuki
    Cc: azurIt
    Cc: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Kernel faults are expected to handle OOM conditions gracefully (gup,
    uaccess etc.), so they should never invoke the OOM killer. Reserve this
    for faults triggered in user context when it is the only option.

    Most architectures already do this, fix up the remaining few.

    Signed-off-by: Johannes Weiner
    Reviewed-by: Michal Hocko
    Acked-by: KOSAKI Motohiro
    Cc: David Rientjes
    Cc: KAMEZAWA Hiroyuki
    Cc: azurIt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • The memcg code can trap tasks in the context of the failing allocation
    until an OOM situation is resolved. They can hold all kinds of locks
    (fs, mm) at this point, which makes it prone to deadlocking.

    This series converts memcg OOM handling into a two step process that is
    started in the charge context, but any waiting is done after the fault
    stack is fully unwound.

    Patches 1-4 prepare architecture handlers to support the new memcg
    requirements, but in doing so they also remove old cruft and unify
    out-of-memory behavior across architectures.

    Patch 5 disables the memcg OOM handling for syscalls, readahead, kernel
    faults, because they can gracefully unwind the stack with -ENOMEM. OOM
    handling is restricted to user triggered faults that have no other
    option.

    Patch 6 reworks memcg's hierarchical OOM locking to make it a little
    more obvious wth is going on in there: reduce locked regions, rename
    locking functions, reorder and document.

    Patch 7 implements the two-part OOM handling such that tasks are never
    trapped with the full charge stack in an OOM situation.

    This patch:

    Back before smart OOM killing, when faulting tasks were killed directly on
    allocation failures, the arch-specific fault handlers needed special
    protection for the init process.

    Now that all fault handlers call into the generic OOM killer (see commit
    609838cfed97: "mm: invoke oom-killer from remaining unconverted page
    fault handlers"), which already provides init protection, the
    arch-specific leftovers can be removed.

    Signed-off-by: Johannes Weiner
    Reviewed-by: Michal Hocko
    Acked-by: KOSAKI Motohiro
    Cc: David Rientjes
    Cc: KAMEZAWA Hiroyuki
    Cc: azurIt
    Acked-by: Vineet Gupta [arch/arc bits]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Pull vfs pile 4 from Al Viro:
    "list_lru pile, mostly"

    This came out of Andrew's pile, Al ended up doing the merge work so that
    Andrew didn't have to.

    Additionally, a few fixes.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (42 commits)
    super: fix for destroy lrus
    list_lru: dynamically adjust node arrays
    shrinker: Kill old ->shrink API.
    shrinker: convert remaining shrinkers to count/scan API
    staging/lustre/libcfs: cleanup linux-mem.h
    staging/lustre/ptlrpc: convert to new shrinker API
    staging/lustre/obdclass: convert lu_object shrinker to count/scan API
    staging/lustre/ldlm: convert to shrinkers to count/scan API
    hugepage: convert huge zero page shrinker to new shrinker API
    i915: bail out earlier when shrinker cannot acquire mutex
    drivers: convert shrinkers to new count/scan API
    fs: convert fs shrinkers to new scan/count API
    xfs: fix dquot isolation hang
    xfs-convert-dquot-cache-lru-to-list_lru-fix
    xfs: convert dquot cache lru to list_lru
    xfs: rework buffer dispose list tracking
    xfs-convert-buftarg-lru-to-generic-code-fix
    xfs: convert buftarg LRU to generic code
    fs: convert inode and dentry shrinking to be node aware
    vmscan: per-node deferred work
    ...

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A small batch of fixes that have trickled in over the last week of the
    merge window.

    Also included are few small devicetree updates for sunxi, since it
    enables me to use one of their newer boards (cubieboard2) for
    additional test coverage. The support for that SoC is new for 3.12,
    so there's no exposure to new regressions due to it"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: dts: sun7i: olinuxino-micro: Enable the EMAC
    ARM: dts: sun7i: cubieboard2: Enable the EMAC
    ARM: dts: sun7i: Add the muxing options for the EMAC
    ARM: dts: sun7i: Enable the Ethernet in the A20
    i2c: davinci: Fix bad dev_get_platdata() conversion
    ARM: vexpress: allow dcscb and tc2_pm in a combined ARMv6+v7 build
    ARM: shmobile: lager: Do not use register_type field of struct sh_eth_plat_data
    ARM: pxa: ssp: Check return values from phandle lookups
    ARM: PCI: versatile: Fix SMAP register offsets
    ARM: PCI: versatile: Fix PCI I/O
    ARM: PCI: versatile: Fix map_irq function to match hardware
    ARM: ep93xx: Don't use modem interface on the second UART
    ARM: shmobile: r8a7779: Update early timer initialisation order

    Linus Torvalds
     
  • Pull ARM fixes from Russell King:
    "Just two fixes here - one for the recent addition of Neon stuff which
    causes problems when this is built as a module. The other was one
    spotted by Olof with the fixed-HZ stuff.

    Last patch (which is at the very top) is not a fix per-se, but an
    almost-end-of-merge window sorting of the select symbols in
    arch/arm/Kconfig to keep them as akpm would like to reduce unnecessary
    conflicts. I've also taken the liberty this time to add a comment at
    the end to discourage the endless "add the next select to the bottom
    of a nicely sorted list" syndrome"

    * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
    ARM: sort arch/arm/Kconfig
    ARM: fix forced-HZ values
    ARM: 7835/2: fix modular build of xor_blocks() with NEON enabled

    Linus Torvalds
     
  • Keep arch/arm/Kconfig select statements sorted alphabetically. I've
    added a comment at the bottom of the main bank for CONFIG_ARM to this
    effect so hopefully this will keep things more in order.

    Signed-off-by: Russell King

    Russell King
     
  • The A20-olinuxino-micro has the EMAC wired in. Enable it in the DT so
    that we can use it.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Olof Johansson

    Maxime Ripard
     
  • The Cubieboard2, just like its A10 counterpart, has the Ethernet wired
    in. Enable it in the DT.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Olof Johansson

    Maxime Ripard
     
  • The A20 has several muxing options for the EMAC. Yet, the currently
    supported boards only use one set of them. Add that pin set to the DTSI.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Olof Johansson

    Maxime Ripard
     
  • The Allwinner A20 SoC also have the EMAC found on the A10 and A10s.
    Enable the support for it in the DTSI.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Olof Johansson

    Maxime Ripard
     
  • 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)

    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

    Linus Torvalds
     

12 Sep, 2013

7 commits

  • Joerg Roedel
     
  • Commit 05b016ecf5e7a "ARC: Setup Vector Table Base in early boot" moved
    the Interrupt vector Table setup out of arc_init_IRQ() which is called
    for all CPUs, to entry point of boot cpu only, breaking booting of others.

    Fix by adding the same to entry point of non-boot CPUs too.

    read_arc_build_cfg_regs() printing IVT Base Register didn't help the
    casue since it prints a synthetic value if zero which is totally bogus,
    so fix that to print the exact Register.

    [vgupta: Remove the now stale comment from header of arc_init_IRQ and
    also added the commentary for halt-on-reset]

    Cc: Gilad Ben-Yossef
    Cc: Cc: #3.11
    Signed-off-by: Noam Camus
    Signed-off-by: Vineet Gupta
    Signed-off-by: Linus Torvalds

    Noam Camus
     
  • There was a bug in the handling of SNB-EP/IVB-EP uncore PCI
    fixed counters, e.g., IMC.

    It would cause erratic values to be returned for the IMC
    clockticks event. This was due to a bogus hwc->config value
    which was then written to PCI config space.

    The erratic values can be seen via:

    $ perf stat -a -C 0 -e uncore_imc_0/clockticks/ -I 1000 sleep 10

    The fixed counter has most fields marked as reserved with
    hw reset values of 0. Yet the kernel was defaulting to a
    hwc->config = ~0 and that was causing the issues.

    This patch sets the hwc->config values for fixed uncore event
    to 0. Now, the values of IMC clockticks is correct.

    Signed-off-by: Stephane Eranian
    Reviewed-by: Andi Kleen
    Cc: peterz@infradead.org
    Cc: zheng.z.yan@intel.com
    Link: http://lkml.kernel.org/r/20130909195350.GA17643@google.com
    Signed-off-by: Ingo Molnar

    Stephane Eranian
     
  • The IvyBridge event CYCLE_ACTIVITY:CYCLES_LDM_PENDING can only
    be measured on counters 0-3 when HT is off. When HT is on, you
    only have counters 0-3.

    If you program it on the eight counters for 1s on a 3GHz
    IVB laptop running a noploop, you see:

    2 747 527 CYCLE_ACTIVITY:CYCLES_LDM_PENDING
    2 747 527 CYCLE_ACTIVITY:CYCLES_LDM_PENDING
    2 747 527 CYCLE_ACTIVITY:CYCLES_LDM_PENDING
    2 747 527 CYCLE_ACTIVITY:CYCLES_LDM_PENDING
    3 280 563 608 CYCLE_ACTIVITY:CYCLES_LDM_PENDING
    3 280 563 608 CYCLE_ACTIVITY:CYCLES_LDM_PENDING
    3 280 563 608 CYCLE_ACTIVITY:CYCLES_LDM_PENDING
    3 280 563 608 CYCLE_ACTIVITY:CYCLES_LDM_PENDING

    Clearly the last 4 values are bogus.

    Signed-off-by: Stephane Eranian
    Cc: peterz@infradead.org
    Cc: ak@linux.intel.com
    Cc: zheng.z.yan@intel.com
    Cc: dhsharp@google.com
    Link: http://lkml.kernel.org/r/20130911152222.GA28761@google.com
    Signed-off-by: Ingo Molnar

    Stephane Eranian
     
  • Modify the s390 copy_oldmem_page() and remap_oldmem_pfn_range() function
    for zfcpdump to read from the HSA memory if memory below HSA_SIZE bytes is
    requested. Otherwise real memory is used.

    Signed-off-by: Michael Holzheu
    Cc: HATAYAMA Daisuke
    Cc: Jan Willeke
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Holzheu
     
  • Introduce the s390 specific way to map pages from oldmem. The memory area
    below OLDMEM_SIZE is mapped with offset OLDMEM_BASE. The other old memory
    is mapped directly.

    Signed-off-by: Jan Willeke
    Signed-off-by: Michael Holzheu
    Cc: HATAYAMA Daisuke
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Willeke
     
  • Exchange the old relocate mechanism with the new arch function call
    override mechanism that allows to create the ELF core header in the 2nd
    kernel.

    Signed-off-by: Michael Holzheu
    Cc: HATAYAMA Daisuke
    Cc: Jan Willeke
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Holzheu