13 Nov, 2013

1 commit

  • Any user process callers of wait_for_completion() except global init
    process might be chosen by the OOM killer while waiting for completion()
    call by some other process which does memory allocation. See
    CVE-2012-4398 "kernel: request_module() OOM local DoS" can happen.

    When such users are chosen by the OOM killer when they are waiting for
    completion() in TASK_UNINTERRUPTIBLE, the system will be kept stressed
    due to memory starvation because the OOM killer cannot kill such users.

    kthread_create() is one of such users and this patch fixes the problem
    for kthreadd by making kthread_create() killable - the same approach
    used for fixing CVE-2012-4398.

    Signed-off-by: Tetsuo Handa
    Cc: Oleg Nesterov
    Acked-by: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tetsuo Handa
     

12 Nov, 2013

37 commits

  • Pull devicetree updates from Rob Herring:
    "DeviceTree updates for 3.13. This is a bit larger pull request than
    usual for this cycle with lots of clean-up.

    - Cross arch clean-up and consolidation of early DT scanning code.
    - Clean-up and removal of arch prom.h headers. Makes arch specific
    prom.h optional on all but Sparc.
    - Addition of interrupts-extended property for devices connected to
    multiple interrupt controllers.
    - Refactoring of DT interrupt parsing code in preparation for
    deferred probe of interrupts.
    - ARM cpu and cpu topology bindings documentation.
    - Various DT vendor binding documentation updates"

    * tag 'devicetree-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (82 commits)
    powerpc: add missing explicit OF includes for ppc
    dt/irq: add empty of_irq_count for !OF_IRQ
    dt: disable self-tests for !OF_IRQ
    of: irq: Fix interrupt-map entry matching
    MIPS: Netlogic: replace early_init_devtree() call
    of: Add Panasonic Corporation vendor prefix
    of: Add Chunghwa Picture Tubes Ltd. vendor prefix
    of: Add AU Optronics Corporation vendor prefix
    of/irq: Fix potential buffer overflow
    of/irq: Fix bug in interrupt parsing refactor.
    of: set dma_mask to point to coherent_dma_mask
    of: add vendor prefix for PHYTEC Messtechnik GmbH
    DT: sort vendor-prefixes.txt
    of: Add vendor prefix for Cadence
    of: Add empty for_each_available_child_of_node() macro definition
    arm/versatile: Fix versatile irq specifications.
    of/irq: create interrupts-extended property
    microblaze/pci: Drop PowerPC-ism from irq parsing
    of/irq: Create of_irq_parse_and_map_pci() to consolidate arch code.
    of/irq: Use irq_of_parse_and_map()
    ...

    Linus Torvalds
     
  • Pull LED subsystem changes from Bryan Wu:
    "LED subsystem updates for 3.13 are basically cleanup and also add a
    new driver for PCA9685"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
    leds: lp55xx: handle enable pin in driver
    leds-gpio: of: led should not be created if its status is disabled
    of: introduce of_get_available_child_count
    leds: Added driver for the NXP PCA9685 I2C chip
    leds: pwm: Remove redundant of_match_ptr
    leds: Include linux/of.h header
    leds: dac124s085: Remove redundant spi_set_drvdata
    leds: lp55xx: enable setting default trigger
    leds: blinkm: Remove redundant break

    Linus Torvalds
     
  • Pull clock framework changes from Mike Turquette:
    "The clock changes for 3.13 are an even mix of framework improvements &
    bug fixes along with updates to existing clock drivers and the
    additional of new clock drivers"

    * tag 'clk-for-linus-3.13' of git://git.linaro.org/people/mturquette/linux:
    clk: new driver for efm32 SoC
    clk: of: helper for determining number of parent clocks
    clk/zynq: Fix possible memory leak
    clk: keystone: Build Keystone clock drivers
    clk: keystone: Add gate control clock driver
    clk: keystone: add Keystone PLL clock driver
    Documentation: Add documentation for APM X-Gene clock binding
    clk: arm64: Add DTS clock entry for APM X-Gene Storm SoC
    clk: Add APM X-Gene SoC clock driver
    clk: wm831x: get rid of the implementation of remove function
    clk: Correct lookup logic in clk_fetch_parent_index()
    clk: Use kcalloc() to allocate arrays
    clk: Add error handling to clk_fetch_parent_index()

    Linus Torvalds
     
  • Pull GPIO changes from Linus Walleij:
    "Here is the bulk of GPIO changes for the v3.13 development cycle.

    I've got ACKs for the things that affect other subsystems (or it's my
    own subsystem, like pinctrl). Most of that pertain to an attempt from
    my side to consolidate and get rid of custom GPIO implementations in
    the ARM tree. I will continue doing this.

    The main change this time is the new GPIO descriptor API, background
    for this can be found in Corbet's summary from this january in LWN:

    http://lwn.net/Articles/533632/

    Summary:

    - Merged the GPIO descriptor API from Alexandre Courbot. This is a
    first step toward trying to get rid of the global GPIO numberspace
    for the future.

    - Add an API so that driver can flag that a certain GPIO line is
    being used by a irqchip backend for generating IRQs, so that we can
    enforce checks, like not allowing users to switch that line to an
    output at runtime, since this makes no sense. Implemented
    corresponding calls in a few select drivers.

    - ACPI GPIO cleanups, refactorings and switch to using the
    descriptor-based interface.

    - Support for the TPS80036 Palmas GPIO variant.

    - A new driver for the Broadcom Kona GPIO SoC IP block.

    - Device tree support for the PCF857x driver.

    - A set of ARM GPIO refactorings with the goal of getting rid of a
    bunch of custom GPIO implementations from the arch/arm/* tree:

    * Move the IOP GPIO driver to the GPIO subsystem and fix all users
    to use the gpiolib API for accessing GPIOs. Delete the old
    custom GPIO implementation.

    * Delete the unused custom PXA GPIO implemention.

    * Convert all users of the IXP4 custom GPIO implementation to use
    gpiolib and delete the custom implementation.

    * Delete the custom Gemini GPIO implementation, also completely
    unused.

    - Various cleanups and renamings"

    * tag 'gpio-v3.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (85 commits)
    gpio: gpio-mxs: Remove unneeded dt checks
    gpio: pl061: don't depend on CONFIG_ARM
    gpio: bcm-kona: add missing .owner to struct gpio_chip
    gpiolib: provide a declaration of seq_file in gpio/driver.h
    gpiolib: include gpio/consumer.h in of_gpio.h for desc_to_gpio()
    gpio: provide stubs for devres gpio functions
    gpiolib: devres: add missing headers
    gpiolib: make GPIO_DEVRES depend on GPIOLIB
    gpiolib: devres: fix devm_gpiod_get_index()
    gpiolib / ACPI: document the GPIO descriptor based interface
    gpiolib / ACPI: allow passing GPIOF_ACTIVE_LOW for GpioInt resources
    gpiolib / ACPI: add ACPI support for gpiod_get_index()
    gpiolib / ACPI: convert to gpiod interfaces
    gpiolib: add gpiod_get() and gpiod_put() functions
    gpiolib: port of_ functions to use gpiod
    gpiolib: export descriptor-based GPIO interface
    Fixup "MAINTAINERS: GPIO-INTEL-MID: add maintainer"
    gpio: bcm281xx: Don't print addresses of GPIO area in probe()
    gpio: tegra: use new gpio_lock_as_irq() API
    gpio: rcar: Include linux/of.h header
    ...

    Linus Torvalds
     
  • …/linusw/linux-pinctrl

    Pull pin control updates from Linus Walleij:
    "Main pin control pull request for the v3.13 cycle.

    The changes hitting arch/blackfin are ACKed by the Blackfin
    maintainer, and the device tree bindings are ACKed to the extent
    possible by someone from the device tree maintainers group.

    - Blackfin ADI pin control driver, we move yet another architecture
    under this subsystem umbrella.

    - Incremental updates to the Renesas Super-H PFC pin control driver.
    New subdriver for the r8a7791 SoC.

    - Non-linear GPIO ranges from the gpiolib side of things, this
    enabled simplified device tree bindings by referring entire groups
    of pins on some pin controller to act as back-end for a certain
    GPIO-chip driver.

    - Add the Abilis TB10x pin control driver used on the ARC
    architecture. Also the corresponding GPIO driver is merged through
    this tree, so the ARC has full support for pins and GPIOs after
    this.

    - Subdrivers for Freescale i.MX1, i.MX27 and i.MX50 pin controller
    instances. The i.MX1 and i.MX27 is an entirely new family
    (silicon) of controllers whereas i.MX50 is a variant of the
    previous supported controller.

    - Then the usual slew of fixes, cleanups and incremental updates"

    The ARC DT changes are apparently still pending, that hopefully gets
    sorted out in a timely manner.

    * tag 'pinctrl-for-v3.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (48 commits)
    pinctrl: imx50: add pinctrl support code for the IMX50 SoC
    pinctrl: at91: copy define to driver
    pinctrl: remove minor dead code
    pinctrl: imx: fix using pin->input_val wrongly
    pinctrl: imx1: fix return value check in imx1_pinctrl_core_probe()
    gpio: tb10x: fix return value check in tb10x_gpio_probe()
    gpio: tb10x: use module_platform_driver to simplify the code
    pinctrl: imx27: imx27 pincontrol driver
    pinctrl: imx1 core driver
    pinctrl: sh-pfc: r8a7791 PFC support
    sh-pfc: r8a7778: Add CAN pin groups
    gpio: add TB10x GPIO driver
    pinctrl: at91: correct a few typos
    pinctrl: mvebu: remove redundant of_match_ptr
    pinctrl: tb10x: use module_platform_driver to simplify the code
    pinctrl: tb10x: fix the error handling in tb10x_pinctrl_probe()
    pinctrl: add documentation for pinctrl_get_group_pins()
    pinctrl: rockchip: emulate both edge triggered interrupts
    pinctrl: rockchip: add rk3188 specifics
    pinctrl: rockchip: remove redundant check
    ...

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "There are no too intrusive changes in this update batch. The biggest
    LOC is found in the new DICE driver, and other small changes are
    scattered over the whole sound subtree (which is a common pattern).

    Below are highlights:

    - ALSA core:
    * Memory allocation support with genpool
    * Fix blocking in drain ioctl of compress_offload

    - HD-audio:
    * Improved AMD HDMI supports
    * Intel HDMI detection improvements
    * thinkpad_acpi mute-key integration
    * New PCI ID, New ALC255,285,293 codecs, CX20952

    - USB-audio:
    * New buffer size management
    * Clean up endpoint handling codes

    - ASoC:
    * Further work on the dmaengine helpers, including support for
    configuring the parameters for DMA by reading the capabilities of
    the DMA controller which removes some guesswork and magic numbers
    from drivers.
    * A refresh of the documentation.
    * Conversions of many drivers to direct regmap API usage in order
    to allow the ASoC level register I/O code to be removed, this
    will hopefully be completed by v3.14.
    * Support for using async register I/O in DAPM, reducing the time
    taken to implement power transitions on systems that support it.

    - Firewire: DICE driver

    - Lots of small fixes for bugs reported by Coverity"

    * tag 'sound-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (382 commits)
    ALSA: hda/realtek - Add new codec ALC255/ALC3234 UAJ supported
    ALSA: hda - Apply MacBook fixups for CS4208 correctly
    ASoC: fsl: imx-wm8962: remove an unneeded check
    ASoC: fsl: imx-pcm-fiq: Remove unused 'runtime' variable
    ALSA: hda/realtek - Make fixup regs persist after resume
    ALSA: hda_intel: ratelimit "spurious response" message
    ASoC: generic-dmaengine-pcm: Use SNDRV_DMA_TYPE_DEV_IRAM as default
    ASoC: dapm: Use WARN_ON() instead of BUG_ON()
    ASoC: wm_adsp: Fix BUG_ON() and WARN_ON() usages
    ASoC: Replace BUG() with WARN()
    ASoC: wm_hubs: Replace BUG() with WARN()
    ASoC: wm8996: Replace BUG() with WARN()
    ASoC: wm8962: Replace BUG() with WARN()
    ASoC: wm8958: Replace BUG() with WARN()
    ASoC: wm8904: Replace BUG() with WARN()
    ASoC: wm8900: Replace BUG() with WARN()
    ASoC: wm8350: Replace BUG() with WARN()
    ASoC: txx9: Use WARN_ON() instead of BUG_ON()
    ASoC: sh: Use WARN_ON() instead of BUG_ON()
    ASoC: rcar: Use WARN_ON() instead of BUG_ON()
    ...

    Linus Torvalds
     
  • Pull spi updates from Mark Brown:
    "As well as the usual driver updates and cleanups there's a few
    improvements to the core here:

    - The start of some improvements to factor out more of the SPI
    message loop into the core. Right now this is just simplifying the
    code a bit but hopefully next time around we'll also have managed
    to roll out some noticable performance improvements which drivers
    can take advantage of.
    - Support for loading modules for ACPI enumerated SPI devices.
    - Managed registration for SPI controllers.
    - Helper for another common I/O pattern"

    * tag 'spi-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (116 commits)
    spi/hspi: add device tree support
    spi: atmel: fix return value check in atmel_spi_probe()
    spi: spi-imx: only enable the clocks when we start to transfer a message
    spi/s3c64xx: Fix doubled clock disable on suspend
    spi/s3c64xx: Do not ignore return value of spi_master_resume/suspend
    spi: spi-mxs: Use u32 instead of uint32_t
    spi: spi-mxs: Don't set clock for each xfer
    spi: spi-mxs: Clean up setup_transfer function
    spi: spi-mxs: Remove check of spi mode bits
    spi: spi-mxs: Fix race in setup method
    spi: spi-mxs: Remove bogus setting of ssp clk rate field
    spi: spi-mxs: Remove full duplex check, spi core already does it
    spi: spi-mxs: Fix chip select control bits in DMA mode
    spi: spi-mxs: Fix extra CS pulses and read mode in multi-transfer messages
    spi: spi-mxs: Change flag arguments in txrx functions to bit flags
    spi: spi-mxs: Always clear INGORE_CRC, to keep CS asserted
    spi: spi-mxs: Remove mxs_spi_enable and mxs_spi_disable
    spi: spi-mxs: Always set LOCK_CS
    spi/s3c64xx: Add missing pm_runtime_put on setup fail
    spi/s3c64xx: Add missing pm_runtime_set_active() call in probe()
    ...

    Linus Torvalds
     
  • Pull regulator updates from Mark Brown:
    "Lots of driver updates here plus some nice new core features, the main
    one being the first:

    - Enable support for providing a dummy regulator when we know that
    one must exist for the device to be functional. This makes it much
    easier to add regulator support to drivers since we don't require
    that the machine integration for all systems using the device be
    updated to provide regulators.
    - Substantial reduction in the amount of busy waiting done while
    waiting for enables to complete.
    - Allow MFDs to distribute regulator supplies to child devices so we
    don't have to expose the internal structure of MFDs outside of the
    driver.
    - Managed registeration for regulators"

    * tag 'regulator-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (113 commits)
    regulator: s5m8767: Modify parsing method of the voltage table of buck2/3/4
    regulator: s5m8767: Modify parse_dt function to parse data related to ramp
    regulator: da9052: Revert se apply_[reg|bit] with regmap based voltage_sel operations
    mfd: arizona: Specify supply mappings for Arizona CODECs
    mfd: Allow mapping regulator supplies to MFD device from children
    regulator: core: Add ability to create a lookup alias for supply
    regulator: tps65910: Fix checkpatch issue
    regulator: tps65023: Fix checkpatch issue
    regulator: tps6105x: Fix checkpatch issue
    regulator: mc13783: Fix checkpatch issue
    regulator: max8997: Fix checkpatch issue
    regulator: lp3971: Fix checkpatch issue
    regulator: fixed: Fix checkpatch issue
    regulator: anatop: Fix checkpatch issue
    regulator: Add REGULATOR_LINEAR_RANGE macro
    regulator: Remove max_uV from struct regulator_linear_range
    regulator: ti-abb: Fix operator precedence typo
    regulator: tps65910: get regulators node from parent node only
    regulator: tps6586x: get regulators node from parent node only
    regulator: tps65090: get regulators node from parent node only
    ...

    Linus Torvalds
     
  • Pull regmap updates from Mark Brown:
    "The main thing this time around has been some improvments to async
    I/O.

    - Cleaned up the async I/O support and extended it to allow single
    register writes more easily. This is now used where possible for
    internally generated I/O, providing performance improvements for
    devices that can do async I/O.
    - An API for issuing a sequence of register writes as a single
    operation. Some devices and buses can take advantage of this to do
    the I/O faster.
    - Addition of regmap_field APIs which help drivers for devices with
    repeated IPs or which move registers around between revisions to
    share helpers.
    - Support for SPMI buses"

    * tag 'regmap-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
    regmap: add SPMI support
    regmap: debugfs: Fix a boot time crash with early regmap init
    regmap: irq: clear status when disable irq
    regmap: Only send a single buffer for async I/O if writing one register
    regmap: spi: Handle async writes of only one buffer
    regmap: new API regmap_multi_reg_write() definition
    regmap: Use async I/O during cache sync
    regmap: Use async I/O for patch application
    regmap: Fix regmap_bulk_write single-rw mutex deadlock
    regmap: Provide asynchronous write and update bits operations
    regmap: Simplify the initiation of async I/O
    regmap: Don't generate gather writes for single register raw writes
    regmap: Cache async work structures
    regmap: add helper macro to set min/max range of register
    regmap: Add regmap_fields APIs
    regmap: add regmap_field_update_bits()

    Linus Torvalds
     
  • Pull hwmon updates from Guenter Roeck:
    "Introduce new hwmon API functions hwmon_device_register_with_groups
    and devm_hwmon_device_register_with_groups, and convert several
    drivers to use the new API.

    Add support for EMC1404, EMC1424, LTC2977, LTC2978A, LM25063 to
    existing drivers

    Various cleanups in several drivers"

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (49 commits)
    hwmon: (w83793) Clean up a signedness issue
    hwmon: (nct6775) Remove an unused variable
    hwmon: (emc1403) Add support for EMC1404 and EMC1424
    hwmon: (emc1403) Convert to use devm_hwmon_device_register_with_groups
    hwmon: (pmbus/ltc2978): Add support for LTC2978A
    hwmon: (pmbus/ltc2978): Add support for LTC2977
    hwmon: (pmbus/lm25066) Add support for LM25063
    hwmon: Correct some typos
    hwmon: (gpio-fan) Include linux/of.h header
    hwmon: (lm70) Remove redundant spi_set_drvdata
    hwmon: (adcxx) Remove redundant spi_set_drvdata
    hwmon: (jc42) fix coccinelle warnings
    hwmon: (ltc4261) fix coccinelle warnings
    hwmon: (lm95234) fix coccinelle warnings
    hwmon: (max6697) fix coccinelle warnings
    hwmon: (max6642 fix coccinelle warnings
    hwmon: (ds1621) fix coccinelle warnings
    hwmon: (nct6775) fix coccinelle warnings
    hwmon: (jc42) Convert to use devm_hwmon_device_register_with_groups
    hwmon: (ltc4261) Convert to use devm_hwmon_device_register_with_groups
    ...

    Linus Torvalds
     
  • Pull powerpc updates from Benjamin Herrenschmidt:
    "The bulk of this is LE updates. One should now be able to build an LE
    kernel and even run some things in it.

    I'm still sitting on a handful of patches to enable the new ABI that I
    *might* still send this merge window around, but due to the
    incertainty (they are pretty fresh) I want to keep them separate.

    Other notable changes are some infrastructure bits to better handle
    PCI pass-through under KVM, some bits and pieces added to the new
    PowerNV platform support such as access to the CPU SCOM bus via sysfs,
    and support for EEH error handling on PHB3 (Power8 PCIe).

    We also grew arch_get_random_long() for both pseries and powernv when
    running on P7+ and P8, exploiting the HW rng.

    And finally various embedded updates from freescale"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (154 commits)
    powerpc: Fix fatal SLB miss when restoring PPR
    powerpc/powernv: Reserve the correct PE number
    powerpc/powernv: Add PE to its own PELTV
    powerpc/powernv: Add support for indirect XSCOM via debugfs
    powerpc/scom: Improve debugfs interface
    powerpc/scom: Enable 64-bit addresses
    powerpc/boot: Properly handle the base "of" boot wrapper
    powerpc/bpf: Support MOD operation
    powerpc/bpf: Fix DIVWU instruction opcode
    of: Move definition of of_find_next_cache_node into common code.
    powerpc: Remove big endianness assumption in of_find_next_cache_node
    powerpc/tm: Remove interrupt disable in __switch_to()
    powerpc: word-at-a-time optimization for 64-bit Little Endian
    powerpc/bpf: BPF JIT compiler for 64-bit Little Endian
    powerpc: Only save/restore SDR1 if in hypervisor mode
    powerpc/pmu: Fix ADB_PMU_LED_IDE dependencies
    powerpc/nvram: Fix endian issue when using the partition length
    powerpc/nvram: Fix endian issue when reading the NVRAM size
    powerpc/nvram: Scan partitions only once
    powerpc/mpc512x: remove unnecessary #if
    ...

    Linus Torvalds
     
  • Pull microblaze updates from Michal Simek:
    - Get rid of NO_MMU Kconfig
    - mmap2 fixups
    - Some minor cleanups

    * tag 'microblaze-3.13-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Remove incorrect file path
    microblaze: Fix bug with mmap2 syscall MB implementation
    microblaze: Use predefined SYSCALL_DEFINE macro
    microblaze: Remove deprecated IRQF_DISABLED
    microblaze: Calculate kernel pad automatically
    microblaze: Remove unused NO_MMU Kconfig parameter

    Linus Torvalds
     
  • Pull metag architecture changes from James Hogan:
    - A change to remove the last dependence on bootloader exception
    handlers so that QEMU can more easily boot an SMP Linux/Meta kernel
    image directly.
    - A fix for a minor off by one error in a BUG_ON condition found by Dan
    Carpenter.

    * tag 'metag-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
    metag: off by one in setup_bootmem_node()
    metag: handle low level kicks directly

    Linus Torvalds
     
  • Pull h8300 platform removal from Guenter Roeck:
    "The patch series has been in -next for more than one relase cycle. I
    did get a number of Acks, and no objections.

    H8/300 has been dead for several years, the kernel for it has not
    compiled for ages, and recent versions of gcc for it are broken.
    Remove support for it"

    * tag 'h8300-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    CREDITS: Add Yoshinori Sato for h8300
    fs/minix: Drop dependency on H8300
    Drop remaining references to H8/300 architecture
    Drop MAINTAINERS entry for H8/300
    watchdog: Drop references to H8300 architecture
    net/ethernet: Drop H8/300 Ethernet driver
    net/ethernet: smsc9194: Drop conditional code for H8/300
    ide: Drop H8/300 driver
    Drop support for Renesas H8/300 (h8300) architecture

    Linus Torvalds
     
  • Pull x86 UV debug changes from Ingo Molnar:
    "Various SGI UV debuggability improvements, amongst them KDB support,
    with related core KDB enabling patches changing kernel/debug/kdb/"

    * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    Revert "x86/UV: Add uvtrace support"
    x86/UV: Add call to KGDB/KDB from NMI handler
    kdb: Add support for external NMI handler to call KGDB/KDB
    x86/UV: Check for alloc_cpumask_var() failures properly in uv_nmi_setup()
    x86/UV: Add uvtrace support
    x86/UV: Add kdump to UV NMI handler
    x86/UV: Add summary of cpu activity to UV NMI handler
    x86/UV: Update UV support for external NMI signals
    x86/UV: Move NMI support

    Linus Torvalds
     
  • Pull x86 uaccess changes from Ingo Molnar:
    "A single change that micro-optimizes __copy_*_user_inatomic(), used by
    the futex code"

    * 'x86-uaccess-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Add 1/2/4/8 byte optimization to 64bit __copy_{from,to}_user_inatomic

    Linus Torvalds
     
  • Pull x86 reboot changes from Ingo Molnar:
    "Misc changes - the only one with functional impact should be commit
    16c21ae5ca63 ("reboot: Allow specifying warm/cold reset for CF9 boot
    type") which extends cold/warm reboot handling to the 0xCF9 reboot
    method"

    * 'x86-reboot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/reboot: Correct pr_info() log message in the set_bios/pci/kbd_reboot()
    x86/reboot: Sort reboot DMI quirks by vendor
    x86/reboot: Remove the duplicate C6100 entry in the reboot quirks list
    reboot: Allow specifying warm/cold reset for CF9 boot type

    Linus Torvalds
     
  • Pull x86 platform fixlet from Ingo Molnar:
    "A single __initdata fix"

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/geode: Fix incorrect placement of __initdata tag

    Linus Torvalds
     
  • Pull x86 mm fixlet from Ingo Molnar:
    "One cleanup that documents a particular detail in init_mem_mapping()"

    * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/mm: Add 'step_size' comments to init_mem_mapping()

    Linus Torvalds
     
  • Pull x86 RAS changes from Ingo Molnar:
    "The biggest change adds support for Intel 'CPER' (UEFI Common Platform
    Error Record) error logging, which builds upon an enhanced error
    logging mechanism available on Xeon processors.

    Full description is here:

    http://www.intel.com/content/www/us/en/architecture-and-technology/enhanced-mca-logging-xeon-paper.html

    This change provides a module (and support code) to check for an
    extended error log and prints extra details about the error on the
    console"

    * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    ACPI, x86: Fix extended error log driver to depend on CONFIG_X86_LOCAL_APIC
    dmi: Avoid unaligned memory access in save_mem_devices()
    Move cper.c from drivers/acpi/apei to drivers/firmware/efi
    EDAC, GHES: Update ghes error record info
    ACPI, APEI, CPER: Cleanup CPER memory error output format
    ACPI, APEI, CPER: Enhance memory reporting capability
    ACPI, APEI, CPER: Add UEFI 2.4 support for memory error
    DMI: Parse memory device (type 17) in SMBIOS
    ACPI, x86: Extended error log driver for x86 platform
    bitops: Introduce a more generic BITMASK macro
    ACPI, CPER: Update cper info
    ACPI, APEI, CPER: Fix status check during error printing

    Linus Torvalds
     
  • Pull x86 iommu changes from Ingo Molnar:
    "Make it easier to turn off the old AMD GART code"

    * 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/iommu: Clean up the CONFIG_GART_IOMMU config option a bit
    x86/iommu: Don't make AMD_GART depend on EXPERT and default y

    Linus Torvalds
     
  • Pull x86/intel-mid changes from Ingo Molnar:
    "Update the 'intel mid' (mobile internet device) platform code as Intel
    is rolling out more SoC designs.

    This gets rid of most of the 'MRST' platform code in the process,
    mostly by renaming and shuffling code around into their respective
    'intel-mid' platform drivers"

    * 'x86-intel-mid-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, intel-mid: Do not re-introduce usage of obsolete __cpuinit
    intel_mid: Move platform device setups to their own platform_.* files
    x86: intel-mid: Add section for sfi device table
    intel-mid: sfi: Allow struct devs_id.get_platform_data to be NULL
    intel_mid: Moved SFI related code to sfi.c
    intel_mid: Added custom handler for ipc devices
    intel_mid: Added custom device_handler support
    intel_mid: Refactored sfi_parse_devs() function
    intel_mid: Renamed *mrst* to *intel_mid*
    pci: intel_mid: Return true/false in function returning bool
    intel_mid: Renamed *mrst* to *intel_mid*
    mrst: Fixed indentation issues
    mrst: Fixed printk/pr_* related issues

    Linus Torvalds
     
  • Pull x86/hyperv changes from Ingo Molnar:
    "These changes enable Linux guests to boot as 'Modern VM' guest kernels
    on MS-Hyperv hosts"

    * 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, hyperv: Move a variable to avoid an unused variable warning
    x86, hyperv: Fix build error due to missing include
    x86, hyperv: Correctly guard the local APIC calibration code
    x86, hyperv: Get the local APIC timer frequency from the hypervisor

    Linus Torvalds
     
  • Pull x86 EFI changes from Ingo Molnar:
    "Main changes:

    - Add support for earlyprintk=efi which uses the EFI framebuffer.
    Very useful for debugging boot problems.

    - EFI stub support for large memory maps (more than 128 entries)

    - EFI ARM support - this was mostly done by generalizing x86 ARM
    platform differences, such as by moving x86 EFI code into
    drivers/firmware/efi/ and sharing it with ARM.

    - Documentation updates

    - misc fixes"

    * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
    x86/efi: Add EFI framebuffer earlyprintk support
    boot, efi: Remove redundant memset()
    x86/efi: Fix config_table_type array termination
    x86 efi: bugfix interrupt disabling sequence
    x86: EFI stub support for large memory maps
    efi: resolve warnings found on ARM compile
    efi: Fix types in EFI calls to match EFI function definitions.
    efi: Renames in handle_cmdline_files() to complete generalization.
    efi: Generalize handle_ramdisks() and rename to handle_cmdline_files().
    efi: Allow efi_free() to be called with size of 0
    efi: use efi_get_memory_map() to get final map for x86
    efi: generalize efi_get_memory_map()
    efi: Rename __get_map() to efi_get_memory_map()
    efi: Move unicode to ASCII conversion to shared function.
    efi: Generalize relocate_kernel() for use by other architectures.
    efi: Move relocate_kernel() to shared file.
    efi: Enforce minimum alignment of 1 page on allocations.
    efi: Rename memory allocation/free functions
    efi: Add system table pointer argument to shared functions.
    efi: Move common EFI stub code from x86 arch code to common location
    ...

    Linus Torvalds
     
  • Pull x86 cpu changes from Ingo Molnar:
    "The biggest change that stands out is the increase of the
    CONFIG_NR_CPUS range from 4096 to 8192 - as real hardware out there
    already went beyond 4k CPUs ...

    We only allow more than 512 CPUs if offstack cpumasks are enabled.

    CONFIG_MAXSMP=y remains to be the 'you are nuts!' extreme testcase,
    which now means a max of 8192 CPUs"

    * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/cpu: Increase max CPU count to 8192
    x86/cpu: Allow higher NR_CPUS values
    x86/cpu: Always print SMP information in /proc/cpuinfo
    x86/cpu: Track legacy CPU model data only on 32-bit kernels

    Linus Torvalds
     
  • Pull x86 cleanups from Ingo Molnar:
    "Two small cleanups"

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, msr: Use file_inode(), not f_mapping->host
    x86: mkpiggy.c: Explicitly close the output file

    Linus Torvalds
     
  • Pull x86 build changes from Ingo Molnar:
    "Two small changes"

    * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, defconfig: Add DEVTMPFS and DEVTMPFS_MOUNT to *86*_defconfig
    x86, build: move build output statistics away from stderr

    Linus Torvalds
     
  • Pull x86 boot changes from Ingo Molnar:
    "Two changes that prettify and compactify the SMP bootup output from:

    smpboot: Booting Node 0, Processors #1 #2 #3 OK
    smpboot: Booting Node 1, Processors #4 #5 #6 #7 OK
    smpboot: Booting Node 2, Processors #8 #9 #10 #11 OK
    smpboot: Booting Node 3, Processors #12 #13 #14 #15 OK
    Brought up 16 CPUs

    to something like:

    x86: Booting SMP configuration:
    .... node #0, CPUs: #1 #2 #3
    .... node #1, CPUs: #4 #5 #6 #7
    .... node #2, CPUs: #8 #9 #10 #11
    .... node #3, CPUs: #12 #13 #14 #15
    x86: Booted up 4 nodes, 16 CPUs"

    * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/boot: Further compress CPUs bootup message
    x86: Improve the printout of the SMP bootup CPU table

    Linus Torvalds
     
  • Pull x86 user access changes from Ingo Molnar:
    "This tree contains two copy_[from/to]_user() build time checking
    changes/enhancements from Jan Beulich.

    The desired outcome is to get better compiler warnings with
    CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y, to keep people from
    introducing bugs such as overflows and information leaks"

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Unify copy_to_user() and add size checking to it
    x86: Unify copy_from_user() size checking

    Linus Torvalds
     
  • Pull x86/apic fix from Ingo Molnar:
    "A single fix to the IO-APIC / local-APIC shutdown sequence"

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/apic: Disable I/O APIC before shutdown of the local APIC

    Linus Torvalds
     
  • Pull timer changes from Ingo Molnar:
    "Main changes in this cycle were:

    - Updated full dynticks support.

    - Event stream support for architected (ARM) timers.

    - ARM clocksource driver updates.

    - Move arm64 to using the generic sched_clock framework & resulting
    cleanup in the generic sched_clock code.

    - Misc fixes and cleanups"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (50 commits)
    x86/time: Honor ACPI FADT flag indicating absence of a CMOS RTC
    clocksource: sun4i: remove IRQF_DISABLED
    clocksource: sun4i: Report the minimum tick that we can program
    clocksource: sun4i: Select CLKSRC_MMIO
    clocksource: Provide timekeeping for efm32 SoCs
    clocksource: em_sti: convert to clk_prepare/unprepare
    time: Fix signedness bug in sysfs_get_uname() and its callers
    timekeeping: Fix some trivial typos in comments
    alarmtimer: return EINVAL instead of ENOTSUPP if rtcdev doesn't exist
    clocksource: arch_timer: Do not register arch_sys_counter twice
    timer stats: Add a 'Collection: active/inactive' line to timer usage statistics
    sched_clock: Remove sched_clock_func() hook
    arch_timer: Move to generic sched_clock framework
    clocksource: tcb_clksrc: Remove IRQF_DISABLED
    clocksource: tcb_clksrc: Improve driver robustness
    clocksource: tcb_clksrc: Replace clk_enable/disable with clk_prepare_enable/disable_unprepare
    clocksource: arm_arch_timer: Use clocksource for suspend timekeeping
    clocksource: dw_apb_timer_of: Mark a few more functions as __init
    clocksource: Put nodes passed to CLOCKSOURCE_OF_DECLARE callbacks centrally
    arm: zynq: Enable arm_global_timer
    ...

    Linus Torvalds
     
  • Pull scheduler changes from Ingo Molnar:
    "The main changes in this cycle are:

    - (much) improved CONFIG_NUMA_BALANCING support from Mel Gorman, Rik
    van Riel, Peter Zijlstra et al. Yay!

    - optimize preemption counter handling: merge the NEED_RESCHED flag
    into the preempt_count variable, by Peter Zijlstra.

    - wait.h fixes and code reorganization from Peter Zijlstra

    - cfs_bandwidth fixes from Ben Segall

    - SMP load-balancer cleanups from Peter Zijstra

    - idle balancer improvements from Jason Low

    - other fixes and cleanups"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (129 commits)
    ftrace, sched: Add TRACE_FLAG_PREEMPT_RESCHED
    stop_machine: Fix race between stop_two_cpus() and stop_cpus()
    sched: Remove unnecessary iteration over sched domains to update nr_busy_cpus
    sched: Fix asymmetric scheduling for POWER7
    sched: Move completion code from core.c to completion.c
    sched: Move wait code from core.c to wait.c
    sched: Move wait.c into kernel/sched/
    sched/wait: Fix __wait_event_interruptible_lock_irq_timeout()
    sched: Avoid throttle_cfs_rq() racing with period_timer stopping
    sched: Guarantee new group-entities always have weight
    sched: Fix hrtimer_cancel()/rq->lock deadlock
    sched: Fix cfs_bandwidth misuse of hrtimer_expires_remaining
    sched: Fix race on toggling cfs_bandwidth_used
    sched: Remove extra put_online_cpus() inside sched_setaffinity()
    sched/rt: Fix task_tick_rt() comment
    sched/wait: Fix build breakage
    sched/wait: Introduce prepare_to_wait_event()
    sched/wait: Add ___wait_cond_timeout() to wait_event*_timeout() too
    sched: Remove get_online_cpus() usage
    sched: Fix race in migrate_swap_stop()
    ...

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "As a first remark I'd like to note that the way to build perf tooling
    has been simplified and sped up, in the future it should be enough for
    you to build perf via:

    cd tools/perf/
    make install

    (ie without the -j option.) The build system will figure out the
    number of CPUs and will do a parallel build+install.

    The various build system inefficiencies and breakages Linus reported
    against the v3.12 pull request should now be resolved - please
    (re-)report any remaining annoyances or bugs.

    Main changes on the perf kernel side:

    * Performance optimizations:
    . perf ring-buffer code optimizations, by Peter Zijlstra
    . perf ring-buffer code optimizations, by Oleg Nesterov
    . x86 NMI call-stack processing optimizations, by Peter Zijlstra
    . perf context-switch optimizations, by Peter Zijlstra
    . perf sampling speedups, by Peter Zijlstra
    . x86 Intel PEBS processing speedups, by Peter Zijlstra

    * Enhanced hardware support:
    . for Intel Ivy Bridge-EP uncore PMUs, by Zheng Yan
    . for Haswell transactions, by Andi Kleen, Peter Zijlstra

    * Core perf events code enhancements and fixes by Oleg Nesterov:
    . for uprobes, if fork() is called with pending ret-probes
    . for uprobes platform support code

    * New ABI details by Andi Kleen:
    . Report x86 Haswell TSX transaction abort cost as weight

    Main changes on the perf tooling side (some of these tooling changes
    utilize the above kernel side changes):

    * 'perf report/top' enhancements:

    . Convert callchain children list to rbtree, greatly reducing the
    time taken for callchain processing, from Namhyung Kim.

    . Add new COMM infrastructure, further improving histogram
    processing, from Frédéric Weisbecker, one fix from Namhyung Kim.

    . Add /proc/kcore based live-annotation improvements, including
    build-id cache support, multi map 'call' instruction navigation
    fixes, kcore address validation, objdump workarounds. From
    Adrian Hunter.

    . Show progress on histogram collapsing, that can take a long
    time, from Namhyung Kim.

    . Add --max-stack option to limit callchain stack scan in 'top'
    and 'report', improving callchain processing when reducing the
    stack depth is an option, from Waiman Long.

    . Add new option --ignore-vmlinux for perf top, from Willy
    Tarreau.

    * 'perf trace' enhancements:

    . 'perf trace' now can can use a 'perf probe' dynamic tracepoints
    to hook into the userspace -> kernel pathname copy so that it
    can map fds to pathnames without reading /proc/pid/fd/ symlinks.
    From Arnaldo Carvalho de Melo.

    . Show VFS path associated with fd in live sessions, using a
    'vfs_getname' 'perf probe' created dynamic tracepoint or by
    looking at /proc/pid/fd, from Arnaldo Carvalho de Melo.

    . Add 'trace' beautifiers for lots of syscall arguments, from
    Arnaldo Carvalho de Melo.

    . Implement more compact 'trace' output by suppressing zeroed
    args, from Arnaldo Carvalho de Melo.

    . Show thread COMM by default in 'trace', from Arnaldo Carvalho de
    Melo.

    . Add option to show full timestamp in 'trace', from David Ahern.

    . Add 'record' command in 'trace', to record raw_syscalls:*, from
    David Ahern.

    . Add summary option to dump syscall statistics in 'trace', from
    David Ahern.

    . Improve error messages in 'trace', providing hints about system
    configuration steps needed for using it, from Ramkumar
    Ramachandra.

    . 'perf trace' now emits hints as to why tracing is not possible,
    helping the user to setup the system to allow tracing in the
    desired permission granularity, telling if the problem is due to
    debugfs not being mounted or with not enough permission for
    !root, /proc/sys/kernel/perf_event_paranoit value, etc. From
    Arnaldo Carvalho de Melo.

    * 'perf record' enhancements:

    . Check maximum frequency rate for record/top, emitting better
    error messages, from Jiri Olsa.

    . 'perf record' code cleanups, from David Ahern.

    . Improve write_output error message in 'perf record', from Adrian
    Hunter.

    . Allow specifying B/K/M/G unit to the --mmap-pages arguments,
    from Jiri Olsa.

    . Fix command line callchain attribute tests to handle the new
    -g/--call-chain semantics, from Arnaldo Carvalho de Melo.

    * 'perf kvm' enhancements:

    . Disable live kvm command if timerfd is not supported, from David
    Ahern.

    . Fix detection of non-core features, from David Ahern.

    * 'perf list' enhancements:

    . Add usage to 'perf list', from David Ahern.

    . Show error in 'perf list' if tracepoints not available, from
    Pekka Enberg.

    * 'perf probe' enhancements:

    . Support "$vars" meta argument syntax for local variables,
    allowing asking for all possible variables at a given probe
    point to be collected when it hits, from Masami Hiramatsu.

    * 'perf sched' enhancements:

    . Address the root cause of that 'perf sched' stack initialization
    build slowdown, by programmatically setting a big array after
    moving the global variable back to the stack. Fix from Adrian
    Hunter.

    * 'perf script' enhancements:

    . Set up output options for in-stream attributes, from Adrian
    Hunter.

    . Print addr by default for BTS in 'perf script', from Adrian
    Juntmer

    * 'perf stat' enhancements:

    . Improved messages when doing profiling in all or a subset of
    CPUs using a workload as the session delimitator, as in:

    'perf stat --cpu 0,2 sleep 10s'

    from Arnaldo Carvalho de Melo.

    . Add units to nanosec-based counters in 'perf stat', from David
    Ahern.

    . Remove bogus info when using 'perf stat' -e cycles/instructions,
    from Ramkumar Ramachandra.

    * 'perf lock' enhancements:

    . 'perf lock' fixes and cleanups, from Davidlohr Bueso.

    * 'perf test' enhancements:

    . Fixup PERF_SAMPLE_TRANSACTION handling in sample synthesizing
    and 'perf test', from Adrian Hunter.

    . Clarify the "sample parsing" test entry, from Arnaldo Carvalho
    de Melo.

    . Consider PERF_SAMPLE_TRANSACTION in the "sample parsing" test,
    from Arnaldo Carvalho de Melo.

    . Memory leak fixes in 'perf test', from Felipe Pena.

    * 'perf bench' enhancements:

    . Change the procps visible command-name of invididual benchmark
    tests plus cleanups, from Ingo Molnar.

    * Generic perf tooling infrastructure/plumbing changes:

    . Separating data file properties from session, code
    reorganization from Jiri Olsa.

    . Fix version when building out of tree, as when using one of
    these:

    $ make help | grep perf
    perf-tar-src-pkg - Build perf-3.12.0.tar source tarball
    perf-targz-src-pkg - Build perf-3.12.0.tar.gz source tarball
    perf-tarbz2-src-pkg - Build perf-3.12.0.tar.bz2 source tarball
    perf-tarxz-src-pkg - Build perf-3.12.0.tar.xz source tarball
    $

    from David Ahern.

    . Enhance option parse error message, showing just the help lines
    of the options affected, from Namhyung Kim.

    . libtraceevent updates from upstream trace-cmd repo, from Steven
    Rostedt.

    . Always use perf_evsel__set_sample_bit to set sample_type, from
    Adrian Hunter.

    . Memory and mmap leak fixes from Chenggang Qin.

    . Assorted build fixes for from David Ahern and Jiri Olsa.

    . Speed up and prettify the build system, from Ingo Molnar.

    . Implement addr2line directly using libbfd, from Roberto Vitillo.

    . Separate the GTK support in a separate libperf-gtk.so DSO, that
    is only loaded when --gtk is specified, from Namhyung Kim.

    . perf bash completion fixes and improvements from Ramkumar
    Ramachandra.

    . Support for Openembedded/Yocto -dbg packages, from Ricardo
    Ribalda Delgado.

    And lots and lots of other fixes and code reorganizations that did not
    make it into the list, see the shortlog, diffstat and the Git log for
    details!"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (300 commits)
    uprobes: Fix the memory out of bound overwrite in copy_insn()
    uprobes: Fix the wrong usage of current->utask in uprobe_copy_process()
    perf tools: Remove unneeded include
    perf record: Remove post_processing_offset variable
    perf record: Remove advance_output function
    perf record: Refactor feature handling into a separate function
    perf trace: Don't relookup fields by name in each sample
    perf tools: Fix version when building out of tree
    perf evsel: Ditch evsel->handler.data field
    uprobes: Export write_opcode() as uprobe_write_opcode()
    uprobes: Introduce arch_uprobe->ixol
    uprobes: Kill module_init() and module_exit()
    uprobes: Move function declarations out of arch
    perf/x86/intel: Add Ivy Bridge-EP uncore IRP box support
    perf/x86/intel/uncore: Add filter support for IvyBridge-EP QPI boxes
    perf: Factor out strncpy() in perf_event_mmap_event()
    tools/perf: Add required memory barriers
    perf: Fix arch_perf_out_copy_user default
    perf: Update a stale comment
    perf: Optimize perf_output_begin() -- address calculation
    ...

    Linus Torvalds
     
  • Pull leftover IRQ fixes from Ingo Molnar:
    "Two (minor) fixlets that missed v3.12"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    genirq: Set the irq thread policy without checking CAP_SYS_NICE
    irq: DocBook/genericirq.tmpl: Correct various typos

    Linus Torvalds
     
  • Pull IRQ changes from Ingo Molnar:
    "The biggest change this cycle are the softirq/hardirq stack
    interaction and nesting fixes, cleanups and reorganizations from
    Frederic. This is the longer followup story to the softirq nesting
    fix that is already upstream (commit ded797547548: "irq: Force hardirq
    exit's softirq processing on its own stack")"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip: bcm2835: Convert to use IRQCHIP_DECLARE macro
    powerpc: Tell about irq stack coverage
    x86: Tell about irq stack coverage
    irq: Optimize softirq stack selection in irq exit
    irq: Justify the various softirq stack choices
    irq: Improve a bit softirq debugging
    irq: Optimize call to softirq on hardirq exit
    irq: Consolidate do_softirq() arch overriden implementations
    x86/irq: Correct comment about i8259 initialization

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "The main RCU changes in this cycle are:

    - Idle entry/exit changes, to throttle callback execution and other
    refinements to speed up kbuild, primarily to address performance
    issues located by Tibor Billes.

    - Grace-period related changes, primarily to aid in debugging,
    inspired by an -rt debugging session.

    - Code reorganization moving RCU's source files into its own
    kernel/rcu/ directory.

    - RCU documentation updates

    - Miscellaneous fixes.

    Note, the following commit:

    5c889690aa08 mm: Place preemption point in do_mlockall() loop

    is identical to the commit already in your tree via email:

    22356f447ceb mm: Place preemption point in do_mlockall() loop

    [ Your version of the changelog nicely demonstrates it how kernel oops
    messages should be trimmed properly :-/ ]"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
    rcu: Move RCU-related source code to kernel/rcu directory
    rcu: Fix occurrence of "the the" in checklist.txt
    kthread: Add pointer to vmstat-avoidance patch
    rcu: Update stall-warning documentation
    rcu: Consistent rcu_is_watching() naming
    rcu: Change EXPORT_SYMBOL() to EXPORT_SYMBOL_GPL()
    rcu: Is it safe to enter an RCU read-side critical section?
    rcu: Throttle invoke_rcu_core() invocations due to non-lazy callbacks
    rcu: Throttle rcu_try_advance_all_cbs() execution
    rcu: Remove redundant code from rcu_cleanup_after_idle()
    rcu: Fix CONFIG_RCU_NOCB_CPU_ALL panic on machines with sparse CPU mask
    rcu: Avoid sparse warnings in rcu_nocb_wake trace event
    rcu: Track rcu_nocb_kthread()'s sleeping and awakening
    rcu: Distinguish between NOCB and non-NOCB rcu_callback trace events
    rcu: Add tracing for rcuo no-CBs CPU wakeup handshake
    rcu: Add tracing of normal (non-NOCB) grace-period requests
    rcu: Add tracing to rcu_gp_kthread()
    rcu: Flag lockless access to ->gp_flags with ACCESS_ONCE()
    rcu: Prevent spurious-wakeup DoS attack on rcu_gp_kthread()
    rcu: Improve grace-period start logic
    ...

    Linus Torvalds
     
  • This reverts commit 8eba18428ac926f436064ac281e76d36d51bd631.

    uv_trace() is not used by anything, nor is uv_trace_nmi_func, nor
    uv_trace_func.

    That's not how we do instrumentation code in the kernel: we add
    tracepoints, printk()s, etc. so that everyone not just those with
    magic kernel modules can debug a system.

    So remove this unused (and misguied) piece of code.

    Signed-off-by: Ingo Molnar
    Cc: Mike Travis
    Cc: Dimitri Sivanich
    Cc: Hedi Berriche
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Arnaldo Carvalho de Melo
    Cc: Jason Wessel
    Link: http://lkml.kernel.org/n/tip-tumfBffmr4jmnt8Gyxanoblg@git.kernel.org

    Ingo Molnar
     

11 Nov, 2013

2 commits

  • Commit b5b4bb3f6a11f9 (of: only include prom.h on sparc) removed implicit
    includes of of_*.h headers by powerpc's prom.h. Some components were
    missed in initial clean-up patch, so add the necessary includes to fix
    powerpc builds.

    Signed-off-by: Rob Herring
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Tejun Heo
    Cc: Matt Mackall
    Cc: Herbert Xu
    Cc: "David S. Miller"
    Cc: Vinod Koul
    Cc: Dan Williams
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: linux-ide@vger.kernel.org
    Cc: linux-crypto@vger.kernel.org

    Rob Herring
     
  • Since the introduction of PREEMPT_NEED_RESCHED in:

    f27dde8deef3 ("sched: Add NEED_RESCHED to the preempt_count")

    we need to be able to look at both TIF_NEED_RESCHED and
    PREEMPT_NEED_RESCHED to understand the full preemption behaviour.

    Add it to the trace output.

    Signed-off-by: Peter Zijlstra
    Acked-by: Steven Rostedt
    Cc: Fengguang Wu
    Cc: Huang Ying
    Cc: Yuanhan Liu
    Link: http://lkml.kernel.org/r/20131004152826.GP3081@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar

    Peter Zijlstra