28 Jan, 2015

1 commit

  • …/acme/linux into perf/core

    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

    "
    User visible changes:

    - Enable sampling loads and stores simultaneously in 'perf mem' (Stephane Eranian)

    - 'perf diff' output improvements (Namhyung Kim)

    - Fix error reporting for evsel pgfault constructor (Arnaldo Carvalho de Melo)

    Infrastructure changes:

    - Move debugfs sterrno like method to tools/lib/ so that it may be used by
    other tools, as 'perf probe' will be soon (Arnaldo Carvalho de Melo)

    - Introduce function fro deleting/removing hist_entry to avoid code duplication
    (Arnaldo Carvalho de Melo)

    - Support parsing parameterized events (Cody P Schafer)

    - Add support for IP address formats in libtraceevent (David Ahern)

    - Fix typo in sample-parsing.c 'perf test' entry (Rasmus Villemoes)

    - Remove some unused functions from color.c (Rickard Strandqvist)
    "

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     

24 Jan, 2015

1 commit


22 Jan, 2015

1 commit

  • Event parameters are a basic way for partial events to be specified in
    sysfs with per-event names given to the fields that need to be filled in
    when using a particular event.

    It is intended for supporting cases where the single 'cpu' parameter is
    insufficient. For example, POWER 8 has events for physical
    sockets/cores/cpus that are accessible from with virtual machines. To
    keep using the single 'cpu' parameter we'd need to perform a mapping
    between Linux's cpus and the physical machine's cpus (in this case Linux
    is running under a hypervisor). This isn't possible because bindings
    between our cpus and physical cpus may not be fixed, and we probably
    won't have a "cpu" on each physical cpu.

    Signed-off-by: Cody P Schafer
    Signed-off-by: Sukadev Bhattiprolu
    Acked-by: Jiri Olsa
    Cc: Cody P Schafer
    Cc: Haren Myneni
    Cc: Jiri Olsa
    Cc: Michael Ellerman
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Sukadev Bhattiprolu
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: http://lkml.kernel.org/r/1420679633-28856-4-git-send-email-sukadev@linux.vnet.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Cody P Schafer
     

10 Jan, 2015

1 commit


19 Dec, 2014

1 commit

  • …/linux-platform-drivers-x86

    Pull x86 platform driver update from Darren Hart:
    - thinkpad-acpi: Switch to software mute, cleanups
    - acerhdf: Bang-bang thermal governor, new models, cleanups
    - dell-laptop: New keyboard backlight support and documentation
    - toshiba_acpi: Keyboard backlight updates, hotkey handling
    - dell-wmi: Keypress filtering, WMI event processing
    - eeepc-laptop: Multiple cleanups, improved error handling, documentation
    - hp_wireless: Inform the user if hp_wireless_input_setup()/add() fails
    - misc: Code cleanups, quirks, various new IDs

    * tag 'platform-drivers-x86-v3.19-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (33 commits)
    platform/x86/acerhdf: Still depends on THERMAL
    Documentation: Add entry for dell-laptop sysfs interface
    acpi: Remove _OSI(Linux) for ThinkPads
    thinkpad-acpi: Try to use full software mute control
    acerhdf: minor clean up
    acerhdf: added critical trip point
    acerhdf: Use bang-bang thermal governor
    acerhdf: Adding support for new models
    acerhdf: Adding support for "manual mode"
    dell-smo8800: Add more ACPI ids and change description of driver
    platform: x86: dell-laptop: Add support for keyboard backlight
    toshiba_acpi: Add keyboard backlight mode change event
    toshiba_acpi: Change notify funtion to handle more events
    toshiba_acpi: Move hotkey enabling code to its own function
    dell-wmi: Don't report keypresses on keybord illumination change
    dell-wmi: Don't report keypresses for radio state changes
    hp_wireless: Inform the user if hp_wireless_input_setup()/add() fails
    toshiba-acpi: Add missing ID (TOS6207)
    Sony-laptop: Deletion of an unnecessary check before the function call "pci_dev_put"
    platform: x86: Deletion of checks before backlight_device_unregister()
    ...

    Linus Torvalds
     

16 Dec, 2014

1 commit

  • Pull staging driver updates from Greg KH:
    "Here's the big staging tree pull request for 3.19-rc1.

    We continued to delete more lines than were added, always a good
    thing, but not at a huge rate this release, only about 70k lines
    removed overall mostly from removing the horrid bcm driver.

    Lots of normal staging driver cleanups and fixes all over the place,
    well over a thousand of them, the shortlog shows all the horrid
    details.

    The "contentious" thing here is the movement of the Android binder
    code out of staging into the "real" part of the kernel. This is code
    that has been stable for a few years now and is working as-is in the
    tens of millions of devices with no issues. Yes, the code is horrid,
    and the userspace api leaves a lot to be desired, but it's not going
    to change due to legacy issues that we have no control over. Because
    so many devices and companies rely on this, and the code is stable,
    might as well promote it out of staging.

    This was all discussed at the Linux Plumbers conference, and everyone
    participating agreed that this was the best way forward.

    There is work happening to replace the binder code with something new
    that is happening right now, but I don't expect to see the results of
    that work for another year at the earliest. If that ever happens, and
    Android switches over to it, I'll gladly remove this version.

    As for maintainers, I'll be glad to maintain this code, I've been
    doing it for the past few years with no problems. I'll send a
    MAINTAINERS entry for it before 3.19-final is out, still need to talk
    to the Google developers about if they are willing to help with it or
    not, last I checked they were, which was good.

    All of these patches have been in linux-next for a while with no
    reported issues"

    * tag 'staging-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1382 commits)
    Staging: slicoss: Fix long line issues in slicoss.c
    staging: rtl8712: remove unnecessary else after return
    staging: comedi: change some printk calls to pr_err
    staging: rtl8723au: hal: Removed the extra semicolon
    lustre: Deletion of unnecessary checks before three function calls
    staging: lustre: fix sparse warnings: static function declaration
    staging: lustre: fixed sparse warnings related to static declarations
    staging: unisys: remove duplicate header
    staging: unisys: remove unneeded structure
    staging: ft1000 : replace __attribute ((__packed__) with __packed
    drivers: staging: rtl8192e: Include "asm/unaligned.h" instead of "access_ok.h" in "rtl819x_BAProc.c"
    Drivers:staging:rtl8192e: Fixed checkpatch warning
    Drivers:staging:clocking-wizard: Added a newline
    staging: clocking-wizard: check for a valid clk_name pointer
    staging: rtl8723au: Hal_InitPGData() avoid unnecessary typecasts
    staging: rtl8723au: _DisableAnalog(): Avoid zero-init variables unnecessarily
    staging: rtl8723au: Remove unnecessary wrapper _ResetDigitalProcedure1()
    staging: rtl8723au: _ResetDigitalProcedure1_92C() reduce code obfuscation
    staging: rtl8723au: Remove unnecessary wrapper _DisableRFAFEAndResetBB()
    staging: rtl8723au: _DisableRFAFEAndResetBB8192C(): Reduce code obfuscation
    ...

    Linus Torvalds
     

15 Dec, 2014

3 commits

  • Pull char/misc driver updates from Greg KH:
    "Here's the big char/misc driver update for 3.19-rc1

    Lots of little things all over the place in different drivers, and a
    new subsystem, "coresight" has been added. Full details are in the
    shortlog"

    * tag 'char-misc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (73 commits)
    parport: parport_pc, do not remove parent devices early
    spmi: Remove shutdown/suspend/resume kernel-doc
    carma-fpga-program: drop videobuf dependency
    carma-fpga: drop videobuf dependency
    carma-fpga-program.c: fix compile errors
    i8k: Fix temperature bug handling in i8k_get_temp()
    cxl: Name interrupts in /proc/interrupt
    CXL: Return error to PSL if IRQ demultiplexing fails & print clearer warning
    coresight-replicator: remove .owner field for driver
    coresight: fixed comments in coresight.h
    coresight: fix typo in comment in coresight-priv.h
    coresight: bindings for coresight drivers
    coresight: Adding ABI documentation
    w1: support auto-load of w1_bq27000 module.
    w1: avoid potential u16 overflow
    cn: verify msg->len before making callback
    mei: export fw status registers through sysfs
    mei: read and print all six FW status registers
    mei: txe: add cherrytrail device id
    mei: kill cached host and me csr values
    ...

    Linus Torvalds
     
  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     
  • Pull USB updates from Greg KH:
    "Here's the big set of USB and PHY patches for 3.19-rc1.

    The normal churn in the USB gadget area is in here, as well as xhci
    and other individual USB driver updates. The PHY tree is also in
    here, as there were dependancies on the USB tree.

    All of these have been in linux-next"

    * tag 'usb-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (351 commits)
    arm: omap3: twl: remove usb phy init data
    usbip: fix error handling in stub_probe()
    usb: gadget: udc: missing curly braces
    USB: mos7720: delete some unneeded code
    wusb: replace memset by memzero_explicit
    usbip: remove unneeded structure
    usb: xhci: fix comment for PORT_DEV_REMOVE
    xhci: don't use the same variable for stopped and halted rings current TD
    xhci: clear extra bits from slot context when setting max exit latency
    xhci: cleanup finish_td function
    USB: adutux: NULL dereferences on disconnect
    usb: chipidea: fix platform_no_drv_owner.cocci warnings
    usb: chipidea: Fixed a few typos in comments
    Documentation: bindings: add doc for the USB2 ChipIdea USB driver
    usb: chipidea: add a usb2 driver for ci13xxx
    usb: chipidea: fix phy handling
    usb: chipidea: remove duplicate dev_set_drvdata for host_start
    usb: chipidea: parameter 'mode' isn't needed for hw_device_reset
    usb: chipidea: add controller reset API
    usb: chipidea: remove flag CI_HDRC_REQUIRE_TRANSCEIVER
    ...

    Linus Torvalds
     

12 Dec, 2014

1 commit

  • Pull networking updates from David Miller:

    1) New offloading infrastructure and example 'rocker' driver for
    offloading of switching and routing to hardware.

    This work was done by a large group of dedicated individuals, not
    limited to: Scott Feldman, Jiri Pirko, Thomas Graf, John Fastabend,
    Jamal Hadi Salim, Andy Gospodarek, Florian Fainelli, Roopa Prabhu

    2) Start making the networking operate on IOV iterators instead of
    modifying iov objects in-situ during transfers. Thanks to Al Viro
    and Herbert Xu.

    3) A set of new netlink interfaces for the TIPC stack, from Richard
    Alpe.

    4) Remove unnecessary looping during ipv6 routing lookups, from Martin
    KaFai Lau.

    5) Add PAUSE frame generation support to gianfar driver, from Matei
    Pavaluca.

    6) Allow for larger reordering levels in TCP, which are easily
    achievable in the real world right now, from Eric Dumazet.

    7) Add a variable of napi_schedule that doesn't need to disable cpu
    interrupts, from Eric Dumazet.

    8) Use a doubly linked list to optimize neigh_parms_release(), from
    Nicolas Dichtel.

    9) Various enhancements to the kernel BPF verifier, and allow eBPF
    programs to actually be attached to sockets. From Alexei
    Starovoitov.

    10) Support TSO/LSO in sunvnet driver, from David L Stevens.

    11) Allow controlling ECN usage via routing metrics, from Florian
    Westphal.

    12) Remote checksum offload, from Tom Herbert.

    13) Add split-header receive, BQL, and xmit_more support to amd-xgbe
    driver, from Thomas Lendacky.

    14) Add MPLS support to openvswitch, from Simon Horman.

    15) Support wildcard tunnel endpoints in ipv6 tunnels, from Steffen
    Klassert.

    16) Do gro flushes on a per-device basis using a timer, from Eric
    Dumazet. This tries to resolve the conflicting goals between the
    desired handling of bulk vs. RPC-like traffic.

    17) Allow userspace to ask for the CPU upon what a packet was
    received/steered, via SO_INCOMING_CPU. From Eric Dumazet.

    18) Limit GSO packets to half the current congestion window, from Eric
    Dumazet.

    19) Add a generic helper so that all drivers set their RSS keys in a
    consistent way, from Eric Dumazet.

    20) Add xmit_more support to enic driver, from Govindarajulu
    Varadarajan.

    21) Add VLAN packet scheduler action, from Jiri Pirko.

    22) Support configurable RSS hash functions via ethtool, from Eyal
    Perry.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1820 commits)
    Fix race condition between vxlan_sock_add and vxlan_sock_release
    net/macb: fix compilation warning for print_hex_dump() called with skb->mac_header
    net/mlx4: Add support for A0 steering
    net/mlx4: Refactor QUERY_PORT
    net/mlx4_core: Add explicit error message when rule doesn't meet configuration
    net/mlx4: Add A0 hybrid steering
    net/mlx4: Add mlx4_bitmap zone allocator
    net/mlx4: Add a check if there are too many reserved QPs
    net/mlx4: Change QP allocation scheme
    net/mlx4_core: Use tasklet for user-space CQ completion events
    net/mlx4_core: Mask out host side virtualization features for guests
    net/mlx4_en: Set csum level for encapsulated packets
    be2net: Export tunnel offloads only when a VxLAN tunnel is created
    gianfar: Fix dma check map error when DMA_API_DEBUG is enabled
    cxgb4/csiostor: Don't use MASTER_MUST for fw_hello call
    net: fec: only enable mdio interrupt before phy device link up
    net: fec: clear all interrupt events to support i.MX6SX
    net: fec: reset fep link status in suspend function
    net: sock: fix access via invalid file descriptor
    net: introduce helper macro for_each_cmsghdr
    ...

    Linus Torvalds
     

11 Dec, 2014

3 commits

  • Pull ACPI and power management updates from Rafael Wysocki:
    "This time we have some more new material than we used to have during
    the last couple of development cycles.

    The most important part of it to me is the introduction of a unified
    interface for accessing device properties provided by platform
    firmware. It works with Device Trees and ACPI in a uniform way and
    drivers using it need not worry about where the properties come from
    as long as the platform firmware (either DT or ACPI) makes them
    available. It covers both devices and "bare" device node objects
    without struct device representation as that turns out to be necessary
    in some cases. This has been in the works for quite a few months (and
    development cycles) and has been approved by all of the relevant
    maintainers.

    On top of that, some drivers are switched over to the new interface
    (at25, leds-gpio, gpio_keys_polled) and some additional changes are
    made to the core GPIO subsystem to allow device drivers to manipulate
    GPIOs in the "canonical" way on platforms that provide GPIO
    information in their ACPI tables, but don't assign names to GPIO lines
    (in which case the driver needs to do that on the basis of what it
    knows about the device in question). That also has been approved by
    the GPIO core maintainers and the rfkill driver is now going to use
    it.

    Second is support for hardware P-states in the intel_pstate driver.
    It uses CPUID to detect whether or not the feature is supported by the
    processor in which case it will be enabled by default. However, it
    can be disabled entirely from the kernel command line if necessary.

    Next is support for a platform firmware interface based on ACPI
    operation regions used by the PMIC (Power Management Integrated
    Circuit) chips on the Intel Baytrail-T and Baytrail-T-CR platforms.
    That interface is used for manipulating power resources and for
    thermal management: sensor temperature reporting, trip point setting
    and so on.

    Also the ACPI core is now going to support the _DEP configuration
    information in a limited way. Basically, _DEP it supposed to reflect
    off-the-hierarchy dependencies between devices which may be very
    indirect, like when AML for one device accesses locations in an
    operation region handled by another device's driver (usually, the
    device depended on this way is a serial bus or GPIO controller). The
    support added this time is sufficient to make the ACPI battery driver
    work on Asus T100A, but it is general enough to be able to cover some
    other use cases in the future.

    Finally, we have a new cpufreq driver for the Loongson1B processor.

    In addition to the above, there are fixes and cleanups all over the
    place as usual and a traditional ACPICA update to a recent upstream
    release.

    As far as the fixes go, the ACPI LPSS (Low-power Subsystem) driver for
    Intel platforms should be able to handle power management of the DMA
    engine correctly, the cpufreq-dt driver should interact with the
    thermal subsystem in a better way and the ACPI backlight driver should
    handle some more corner cases, among other things.

    On top of the ACPICA update there are fixes for race conditions in the
    ACPICA's interrupt handling code which might lead to some random and
    strange looking failures on some systems.

    In the cleanups department the most visible part is the series of
    commits targeted at getting rid of the CONFIG_PM_RUNTIME configuration
    option. That was triggered by a discussion regarding the generic
    power domains code during which we realized that trying to support
    certain combinations of PM config options was painful and not really
    worth it, because nobody would use them in production anyway. For
    this reason, we decided to make CONFIG_PM_SLEEP select
    CONFIG_PM_RUNTIME and that lead to the conclusion that the latter
    became redundant and CONFIG_PM could be used instead of it. The
    material here makes that replacement in a major part of the tree, but
    there will be at least one more batch of that in the second part of
    the merge window.

    Specifics:

    - Support for retrieving device properties information from ACPI _DSD
    device configuration objects and a unified device properties
    interface for device drivers (and subsystems) on top of that. As
    stated above, this works with Device Trees and ACPI and allows
    device drivers to be written in a platform firmware (DT or ACPI)
    agnostic way. The at25, leds-gpio and gpio_keys_polled drivers are
    now going to use this new interface and the GPIO subsystem is
    additionally modified to allow device drivers to assign names to
    GPIO resources returned by ACPI _CRS objects (in case _DSD is not
    present or does not provide the expected data). The changes in
    this set are mostly from Mika Westerberg, Rafael J Wysocki, Aaron
    Lu, and Darren Hart with some fixes from others (Fabio Estevam,
    Geert Uytterhoeven).

    - Support for Hardware Managed Performance States (HWP) as described
    in Volume 3, section 14.4, of the Intel SDM in the intel_pstate
    driver. CPUID is used to detect whether or not the feature is
    supported by the processor. If supported, it will be enabled
    automatically unless the intel_pstate=no_hwp switch is present in
    the kernel command line. From Dirk Brandewie.

    - New Intel Broadwell-H ID for intel_pstate (Dirk Brandewie).

    - Support for firmware interface based on ACPI operation regions used
    by the PMIC chips on the Intel Baytrail-T and Baytrail-T-CR
    platforms for power resource control and thermal management (Aaron
    Lu).

    - Limited support for retrieving off-the-hierarchy dependencies
    between devices from ACPI _DEP device configuration objects and
    deferred probing support for the ACPI battery driver based on the
    _DEP information to make that driver work on Asus T100A (Lan
    Tianyu).

    - New cpufreq driver for the Loongson1B processor (Kelvin Cheung).

    - ACPICA update to upstream revision 20141107 which only affects
    tools (Bob Moore).

    - Fixes for race conditions in the ACPICA's interrupt handling code
    and in the ACPI code related to system suspend and resume (Lv Zheng
    and Rafael J Wysocki).

    - ACPI core fix for an RCU-related issue in the ioremap() regions
    management code that slowed down significantly after CPUs had been
    allowed to enter idle states even if they'd had RCU callbakcs
    queued and triggered some problems in certain proprietary graphics
    driver (and elsewhere). The fix replaces synchronize_rcu() in that
    code with synchronize_rcu_expedited() which makes the issue go
    away. From Konstantin Khlebnikov.

    - ACPI LPSS (Low-Power Subsystem) driver fix to handle power
    management of the DMA engine included into the LPSS correctly. The
    problem is that the DMA engine doesn't have ACPI PM support of its
    own and it simply is turned off when the last LPSS device having
    ACPI PM support goes into D3cold. To work around that, the PM
    domain used by the ACPI LPSS driver is redesigned so at least one
    device with ACPI PM support will be on as long as the DMA engine is
    in use. From Andy Shevchenko.

    - ACPI backlight driver fix to avoid using it on "Win8-compatible"
    systems where it doesn't work and where it was used by default by
    mistake (Aaron Lu).

    - Assorted minor ACPI core fixes and cleanups from Tomasz Nowicki,
    Sudeep Holla, Huang Rui, Hanjun Guo, Fabian Frederick, and Ashwin
    Chaugule (mostly related to the upcoming ARM64 support).

    - Intel RAPL (Running Average Power Limit) power capping driver fixes
    and improvements including new processor IDs (Jacob Pan).

    - Generic power domains modification to power up domains after
    attaching devices to them to meet the expectations of device
    drivers and bus types assuming devices to be accessible at probe
    time (Ulf Hansson).

    - Preliminary support for controlling device clocks from the generic
    power domains core code and modifications of the ARM/shmobile
    platform to use that feature (Ulf Hansson).

    - Assorted minor fixes and cleanups of the generic power domains core
    code (Ulf Hansson, Geert Uytterhoeven).

    - Assorted minor fixes and cleanups of the device clocks control code
    in the PM core (Geert Uytterhoeven, Grygorii Strashko).

    - Consolidation of device power management Kconfig options by making
    CONFIG_PM_SLEEP select CONFIG_PM_RUNTIME and removing the latter
    which is now redundant (Rafael J Wysocki and Kevin Hilman). That
    is the first batch of the changes needed for this purpose.

    - Core device runtime power management support code cleanup related
    to the execution of callbacks (Andrzej Hajda).

    - cpuidle ARM support improvements (Lorenzo Pieralisi).

    - cpuidle cleanup related to the CPUIDLE_FLAG_TIME_VALID flag and a
    new MAINTAINERS entry for ARM Exynos cpuidle (Daniel Lezcano and
    Bartlomiej Zolnierkiewicz).

    - New cpufreq driver callback (->ready) to be executed when the
    cpufreq core is ready to use a given policy object and cpufreq-dt
    driver modification to use that callback for cooling device
    registration (Viresh Kumar).

    - cpufreq core fixes and cleanups (Viresh Kumar, Vince Hsu, James
    Geboski, Tomeu Vizoso).

    - Assorted fixes and cleanups in the cpufreq-pcc, intel_pstate,
    cpufreq-dt, pxa2xx cpufreq drivers (Lenny Szubowicz, Ethan Zhao,
    Stefan Wahren, Petr Cvek).

    - OPP (Operating Performance Points) framework modification to allow
    OPPs to be removed too and update of a few cpufreq drivers
    (cpufreq-dt, exynos5440, imx6q, cpufreq) to remove OPPs (added
    during initialization) on driver removal (Viresh Kumar).

    - Hibernation core fixes and cleanups (Tina Ruchandani and Markus
    Elfring).

    - PM Kconfig fix related to CPU power management (Pankaj Dubey).

    - cpupower tool fix (Prarit Bhargava)"

    * tag 'pm+acpi-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (120 commits)
    i2c-omap / PM: Drop CONFIG_PM_RUNTIME from i2c-omap.c
    dmaengine / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    tools: cpupower: fix return checks for sysfs_get_idlestate_count()
    drivers: sh / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    e1000e / igb / PM: Eliminate CONFIG_PM_RUNTIME
    MMC / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    MFD / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    misc / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    media / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    input / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    leds: leds-gpio: Fix multiple instances registration without 'label' property
    iio / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    hsi / OMAP / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    i2c-hid / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    drm / exynos / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    gpio / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    hwrandom / exynos / PM: Use CONFIG_PM in #ifdef
    block / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PM
    USB / PM: Drop CONFIG_PM_RUNTIME from the USB core
    PM: Merge the SET*_RUNTIME_PM_OPS() macros
    ...

    Linus Torvalds
     
  • Add the documentation for the new sysfs interface of dell-laptop
    that allows to configure the keyboard illumination on Dell systems.

    Signed-off-by: Gabriele Mazzotta
    Signed-off-by: Pali Rohár
    Signed-off-by: Darren Hart

    Gabriele Mazzotta
     
  • Pull PCI changes from Bjorn Helgaas:
    "Here are the PCI changes intended for v3.19. I don't think there's
    anything very exciting here, but there was a lot of MSI-related stuff
    coming via Thomas.

    Details:

    NUMA
    - Allow numa_node override via sysfs (Prarit Bhargava)

    Resource management
    - Restore detection of read-only BARs (Myron Stowe)
    - Shrink decoding-disabled window while sizing BARs (Myron Stowe)
    - Add informational printk for invalid BARs (Myron Stowe)
    - Remove fixed parameter in pci_iov_resource_bar() (Myron Stowe)

    MSI
    - Add pci_msi_ignore_mask to prevent writes to MSI/MSI-X Mask Bits (Yijing Wang)
    - Revert "PCI: Add x86_msi.msi_mask_irq() and msix_mask_irq()" (Yijing Wang)
    - s390/MSI: Use __msi_mask_irq() instead of default_msi_mask_irq() (Yijing Wang)

    Virtualization
    - xen: Process failure for pcifront_(re)scan_root() (Chen Gang)
    - Make FLR and AF FLR reset warning messages different (Gavin Shan)

    Generic host bridge driver
    - Allocate config space windows after limiting bus number range (Lorenzo Pieralisi)
    - Convert to DT resource parsing API (Lorenzo Pieralisi)

    Freescale Layerscape
    - Add Freescale Layerscape PCIe driver (Minghuan Lian)

    NVIDIA Tegra
    - Do not build on 64-bit ARM (Thierry Reding)
    - Add Kconfig help text (Thierry Reding)

    Renesas R-Car
    - Make rcar_pci static (Jingoo Han)

    Samsung Exynos
    - Add exynos prefix to add_pcie_port(), pcie_init() (Jingoo Han)

    ST Microelectronics SPEAr13xx
    - Add spear prefix to add_pcie_port(), pcie_init() (Jingoo Han)
    - Make spear13xx_add_pcie_port() __init (Jingoo Han)
    - Remove unnecessary OOM message (Jingoo Han)

    TI DRA7xx
    - Add dra7xx prefix to add_pcie_port() (Jingoo Han)
    - Make dra7xx_add_pcie_port() __init (Jingoo Han)

    TI Keystone
    - Make ks_dw_pcie_msi_domain_ops static (Jingoo Han)
    - Remove unnecessary OOM message (Jingoo Han)

    Miscellaneous
    - Delete unnecessary NULL pointer checks (Markus Elfring)
    - Remove unused to_hotplug_slot() (Gavin Shan)
    - Whitespace cleanup (Jingoo Han)
    - Simplify if-return sequences (Quentin Lambert)"

    * tag 'pci-v3.19-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (28 commits)
    PCI: Remove fixed parameter in pci_iov_resource_bar()
    PCI: Add informational printk for invalid BARs
    PCI: tegra: Add Kconfig help text
    PCI: tegra: Do not build on 64-bit ARM
    PCI: spear: Remove unnecessary OOM message
    PCI: mvebu: Add a blank line after declarations
    PCI: designware: Add a blank line after declarations
    PCI: exynos: Remove unnecessary return statement
    PCI: imx6: Use tabs for indentation
    PCI: keystone: Remove unnecessary OOM message
    PCI: Remove unused and broken to_hotplug_slot()
    PCI: Make FLR and AF FLR reset warning messages different
    PCI: dra7xx: Add __init annotation to dra7xx_add_pcie_port()
    PCI: spear: Add __init annotation to spear13xx_add_pcie_port()
    PCI: spear: Rename add_pcie_port(), pcie_init() to spear13xx_add_pcie_port(), etc.
    PCI: dra7xx: Rename add_pcie_port() to dra7xx_add_pcie_port()
    PCI: layerscape: Add Freescale Layerscape PCIe driver
    PCI: Simplify if-return sequences
    PCI: Delete unnecessary NULL pointer checks
    PCI: Shrink decoding-disabled window while sizing BARs
    ...

    Linus Torvalds
     

04 Dec, 2014

1 commit

  • After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
    selected) PM_RUNTIME is always set if PM is set, so quite a few
    depend on CONFIG_PM (or even dropped in some cases).

    Replace CONFIG_PM_RUNTIME with CONFIG_PM in the USB core code
    and documentation.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Alan Stern
    Acked-by: Greg Kroah-Hartman

    Rafael J. Wysocki
     

03 Dec, 2014

1 commit


27 Nov, 2014

1 commit


12 Nov, 2014

1 commit

  • Improve performance by using multiple RDMA/RC channels per SCSI
    host for communication with an SRP target. About the
    implementation:
    - Introduce a loop over all channels in the code that uses
    target->ch.
    - Set the SRP_MULTICHAN_MULTI flag during login for the creation
    of the second and subsequent channels.
    - RDMA completion vectors are chosen such that RDMA completion
    interrupts are handled by the CPU socket that submitted the I/O
    request. As one can see in this patch it has been assumed if a
    system contains n CPU sockets and m RDMA completion vectors
    have been assigned to an RDMA HCA that IRQ affinity has been
    configured such that completion vectors [i*m/n..(i+1)*m/n) are
    bound to CPU socket i with 0 < n.
    - Modify srp_free_ch_ib() and srp_free_req_data() such that it
    becomes safe to invoke these functions after the corresponding
    allocation function failed.
    - Add a ch_count sysfs attribute per target port.

    Signed-off-by: Bart Van Assche
    Reviewed-by: Sagi Grimberg
    Signed-off-by: Christoph Hellwig

    Bart Van Assche
     

08 Nov, 2014

1 commit

  • This patch adds initial support for providing processor cache information
    to userspace through sysfs interface. This is based on already existing
    implementations(x86, ia64, s390 and powerpc) and hence the interface is
    intended to be fully compatible.

    The main purpose of this generic support is to avoid further code
    duplication to support new architectures and also to unify all the existing
    different implementations.

    This implementation maintains the hierarchy of cache objects which reflects
    the system's cache topology. Cache devices are instantiated as needed as
    CPUs come online. The cache information is replicated per-cpu even if they are
    shared. A per-cpu array of cache information maintained is used mainly for
    sysfs-related book keeping.

    It also implements the shared_cpu_map attribute, which is essential for
    enabling both kernel and user-space to discover the system's overall cache
    topology.

    This patch also add the missing ABI documentation for the cacheinfo sysfs
    interface already, which is well defined and widely used.

    Signed-off-by: Sudeep Holla
    Reviewed-by: Stephen Boyd
    Tested-by: Stephen Boyd
    Cc: Greg Kroah-Hartman
    Cc: linux-api@vger.kernel.org
    Cc: linux390@de.ibm.com
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-ia64@vger.kernel.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: linux-s390@vger.kernel.org
    Cc: x86@kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Sudeep Holla
     

07 Nov, 2014

2 commits

  • Make the hid function available for gadgets composed with configfs.

    Signed-off-by: Andrzej Pietrasiewicz
    Signed-off-by: Felipe Balbi

    Andrzej Pietrasiewicz
     
  • NUMA systems with ACPI normally describe the physical topology via _PXM
    methods. But many BIOSes don't implement _PXM, which leaves the kernel
    with no way to discover the device topology, which reduces performance
    because we can't put memory and processes close to the device.

    The NUMA node of a PCI device is already exported in the sysfs "numa_node"
    file. Make that file writable so users can workaround the lack of _PXM
    methods in the BIOS. For example:

    echo 3 > /sys/devices/pci0000:ff/0000:03:1f.3/numa_node

    sets the node for PCI device 0000:03:1f.3.

    Writing the file emits a FW_BUG warning to encourage users to request
    firmware updates. It also taints the kernel with TAINT_FIRMWARE_WORKAROUND
    because overriding the node incorrectly can cause performance issues.

    [bhelgaas: changelog, documentation text]
    Signed-off-by: Prarit Bhargava
    Signed-off-by: Bjorn Helgaas
    CC: Myron Stowe
    CC: Alexander Ducyk
    CC: Jiang Liu

    Prarit Bhargava
     

06 Nov, 2014

3 commits

  • …/iio into staging-next

    Jonathan writes:

    First round of new drivers, features and cleanups for IIO in the 3.19 cycle.

    New drivers / supported parts
    * rockchip - rk3066-tsadc variant
    * si7020 humidity and temperature sensor
    * mcp320x - add mcp3001, mcp3002, mcp3004, mcp3008, mcp3201, mcp3202
    * bmp280 pressure and temperature sensor
    * Qualcomm SPMI PMIC current ADC driver
    * Exynos_adc - support exynos7

    New features
    * vf610-adc - add temperature sensor support
    * Documentation of current attributes, scaled pressure, offset and
    scaled humidity, RGBC intensity gain factor and scale applied to
    differential voltage channels.
    * Bring iio_event_monitor up to date with newer modifiers.
    * Add of_xlate function to allow for complex channel mappings from the
    device tree.
    * Add -g parameter to generic_buffer example to allow for devices with
    directly fed (no trigger) buffers.
    * Move exynos driver over to syscon for PMU register access.

    Cleanups, fixes for new drivers
    * lis3l02dq drop an unneeded else.
    * st sensors - renam st_sensors to st_sensor_settings (for clarity)
    * st sensors - drop an unused parameter from all the probe utility
    functions.
    * vf610 better error handling and tidy up.
    * si7020 - cleanups following merge
    * as3935 - drop some unnecessary semicolons.
    * bmp280 - fix the pressure calculation.

    Greg Kroah-Hartman
     
  • Make the midi function available for gadgets composed with configfs.

    Signed-off-by: Andrzej Pietrasiewicz
    Signed-off-by: Felipe Balbi

    Andrzej Pietrasiewicz
     
  • This patch adds an entry in ABI documentation for in_voltage-voltage_scale.
    It has at least one user driver, adis16220, in accel driver.

    Signed-off-by: Darshana Padmadas
    Signed-off-by: Jonathan Cameron

    Darshana Padmadas
     

04 Nov, 2014

1 commit


25 Oct, 2014

2 commits


23 Oct, 2014

1 commit


21 Oct, 2014

1 commit


20 Oct, 2014

1 commit

  • Pull more perf updates from Ingo Molnar:
    "A second (and last) round of late coming fixes and changes, almost all
    of them in perf tooling:

    User visible tooling changes:

    - Add period data column and make it default in 'perf script' (Jiri
    Olsa)

    - Add a visual cue for toggle zeroing of samples in 'perf top'
    (Taeung Song)

    - Improve callchains when using libunwind (Namhyung Kim)

    Tooling fixes and infrastructure changes:

    - Fix for double free in 'perf stat' when using some specific invalid
    command line combo (Yasser Shalabi)

    - Fix off-by-one bugs in map->end handling (Stephane Eranian)

    - Fix off-by-one bug in maps__find(), also related to map->end
    handling (Namhyung Kim)

    - Make struct symbol->end be the first addr after the symbol range,
    to make it match the convention used for struct map->end. (Arnaldo
    Carvalho de Melo)

    - Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat
    live' (Jiri Olsa)

    - Fix python test build by moving callchain_param to an object linked
    into the python binding (Jiri Olsa)

    - Document sysfs events/ interfaces (Cody P Schafer)

    - Fix typos in perf/Documentation (Masanari Iida)

    - Add missing 'struct option' forward declaration (Arnaldo Carvalho
    de Melo)

    - Add option to copy events when queuing for sorting across cpu
    buffers and enable it for 'perf kvm stat live', to avoid having
    events left in the queue pointing to the ring buffer be rewritten
    in high volume sessions. (Alexander Yarygin, improving work done
    by David Ahern):

    - Do not include a struct hists per perf_evsel, untangling the
    histogram code from perf_evsel, to pave the way for exporting a
    minimalistic tools/lib/api/perf/ library usable by tools/perf and
    initially by the rasd daemon being developed by Borislav Petkov,
    Robert Richter and Jean Pihet. (Arnaldo Carvalho de Melo)

    - Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and
    thread maps mean syswide monitoring, reducing the boilerplate for
    tools that only want system wide mode. (Arnaldo Carvalho de Melo)

    - Move exit stuff from perf_evsel__delete to perf_evsel__exit, delete
    should be just a front end for exit + free (Arnaldo Carvalho de
    Melo)

    - Add support to new style format of kernel PMU event. (Kan Liang)

    and other misc fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)
    perf script: Add period as a default output column
    perf script: Add period data column
    perf evsel: No need to drag util/cgroup.h
    perf evlist: Add missing 'struct option' forward declaration
    perf evsel: Move exit stuff from __delete to __exit
    kprobes/x86: Remove stale ARCH_SUPPORTS_KPROBES_ON_FTRACE define
    perf kvm stat live: Enable events copying
    perf session: Add option to copy events when queueing
    perf Documentation: Fix typos in perf/Documentation
    perf trace: Use thread_{,_set}_priv helpers
    perf kvm: Use thread_{,_set}_priv helpers
    perf callchain: Create an address space per thread
    perf report: Set callchain_param.record_mode for future use
    perf evlist: Fix for double free in tools/perf stat
    perf test: Add test case for pmu event new style format
    perf tools: Add support to new style format of kernel PMU event
    perf tools: Parse the pmu event prefix and suffix
    Revert "perf tools: Default to cpu// for events v5"
    perf Documentation: Remove Ruplicated docs for powerpc cpu specific events
    perf Documentation: sysfs events/ interfaces
    ...

    Linus Torvalds
     

19 Oct, 2014

1 commit

  • Pull core block layer changes from Jens Axboe:
    "This is the core block IO pull request for 3.18. Apart from the new
    and improved flush machinery for blk-mq, this is all mostly bug fixes
    and cleanups.

    - blk-mq timeout updates and fixes from Christoph.

    - Removal of REQ_END, also from Christoph. We pass it through the
    ->queue_rq() hook for blk-mq instead, freeing up one of the request
    bits. The space was overly tight on 32-bit, so Martin also killed
    REQ_KERNEL since it's no longer used.

    - blk integrity updates and fixes from Martin and Gu Zheng.

    - Update to the flush machinery for blk-mq from Ming Lei. Now we
    have a per hardware context flush request, which both cleans up the
    code should scale better for flush intensive workloads on blk-mq.

    - Improve the error printing, from Rob Elliott.

    - Backing device improvements and cleanups from Tejun.

    - Fixup of a misplaced rq_complete() tracepoint from Hannes.

    - Make blk_get_request() return error pointers, fixing up issues
    where we NULL deref when a device goes bad or missing. From Joe
    Lawrence.

    - Prep work for drastically reducing the memory consumption of dm
    devices from Junichi Nomura. This allows creating clone bio sets
    without preallocating a lot of memory.

    - Fix a blk-mq hang on certain combinations of queue depths and
    hardware queues from me.

    - Limit memory consumption for blk-mq devices for crash dump
    scenarios and drivers that use crazy high depths (certain SCSI
    shared tag setups). We now just use a single queue and limited
    depth for that"

    * 'for-3.18/core' of git://git.kernel.dk/linux-block: (58 commits)
    block: Remove REQ_KERNEL
    blk-mq: allocate cpumask on the home node
    bio-integrity: remove the needless fail handle of bip_slab creating
    block: include func name in __get_request prints
    block: make blk_update_request print prefix match ratelimited prefix
    blk-merge: don't compute bi_phys_segments from bi_vcnt for cloned bio
    block: fix alignment_offset math that assumes io_min is a power-of-2
    blk-mq: Make bt_clear_tag() easier to read
    blk-mq: fix potential hang if rolling wakeup depth is too high
    block: add bioset_create_nobvec()
    block: use bio_clone_fast() in blk_rq_prep_clone()
    block: misplaced rq_complete tracepoint
    sd: Honor block layer integrity handling flags
    block: Replace strnicmp with strncasecmp
    block: Add T10 Protection Information functions
    block: Don't merge requests if integrity flags differ
    block: Integrity checksum flag
    block: Relocate bio integrity flags
    block: Add a disk flag to block integrity profile
    block: Add prefix to block integrity profile flags
    ...

    Linus Torvalds
     

16 Oct, 2014

2 commits

  • Listing specific events doesn't actually help us at all here because:
    - these events actually vary between different ppc processors, they
    aren't garunteed to be present.
    - the documentation of the (generic) file contents is now superceded by the
    docs for arbitrary event file contents.

    Signed-off-by: Cody P Schafer
    Signed-off-by: Sukadev Bhattiprolu
    Cc: Andi Kleen
    Cc: Anshuman Khandual
    Cc: Haren Myneni
    Cc: Jiri Olsa
    Cc: Michael Ellerman
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: http://lkml.kernel.org/r/1412143402-26061-5-git-send-email-sukadev@linux.vnet.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Cody P Schafer
     
  • Add documentation for the , .scale, and .unit
    files in sysfs.

    .scale and .unit were undocumented.
    was previously documented only for specific powerpc pmu events.

    Signed-off-by: Cody P Schafer
    Signed-off-by: Sukadev Bhattiprolu
    Cc: Andi Kleen
    Cc: Anshuman Khandual
    Cc: Cody P Schafer
    Cc: Haren Myneni
    Cc: Haren Myneni
    Cc: Jiri Olsa
    Cc: Michael Ellerman
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: http://lkml.kernel.org/r/1412143402-26061-4-git-send-email-sukadev@linux.vnet.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Cody P Schafer
     

15 Oct, 2014

1 commit

  • Pull power supply and reset updates from Sebastian Reichel:
    - Initial support for the following chips
    * max77836 (charger)
    * max14577 (charger)
    * bq27742 (battery gauge)
    * ltc2952 (poweroff)
    * stih416 (restart)
    * syscon-reboot (restart)
    * gpio-restart (restart)
    - cleanup of power supply core
    - misc fixes in power supply and reset drivers

    * tag 'for-v3.18' of git://git.infradead.org/battery-2.6: (48 commits)
    power: ab8500_fg: Fix build warning
    Documentation: charger: max14577: Update the date of introducing ABI
    power: reset: corrections for simple syscon reboot driver
    Documentation: power: reset: Add documentation for generic SYSCON reboot driver
    power: reset: Add generic SYSCON register mapped reset
    bq27x00_battery: Fix flag reading for bq27742
    power: reset: use restart_notifier mechanism for msm-poweroff
    power: Add simple gpio-restart driver
    power: reset: st: Provide DT bindings for ST's Power Reset driver
    power: reset: Add restart functionality for STiH41x platforms
    power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge
    power: max14577: Fix circular config SYSFS dependency
    power: gpio-charger: do not use gpio value directly
    power: max8925: Use of_get_child_by_name
    power: max8925: Fix NULL ptr dereference on memory allocation failure
    bq27x00_battery: Add support to bq27742
    Documentation: charger: max14577: Document exported sysfs entry
    devicetree: mfd: max14577: Add device tree bindings document
    power: max17040: Add ID for MAX77836 Fuel Gauge block
    charger: max14577: Configure battery-dependent settings from DTS and sysfs
    ...

    Conflicts:
    drivers/power/reset/Kconfig
    drivers/power/reset/Makefile

    Linus Torvalds
     

12 Oct, 2014

1 commit

  • Pull powerpc updates from Michael Ellerman:
    "Here's a first pull request for powerpc updates for 3.18.

    The bulk of the additions are for the "cxl" driver, for IBM's Coherent
    Accelerator Processor Interface (CAPI). Most of it's in drivers/misc,
    which Greg & Arnd maintain, Greg said he was happy for us to take it
    through our tree.

    There's the usual minor cleanups and fixes, including a bit of noise
    in drivers from some of those. A bunch of updates to our EEH code,
    which has been getting more testing. Several nice speedups from
    Anton, including 20% in clear_page().

    And a bunch of updates for freescale from Scott"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (130 commits)
    cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking
    cxl: Add documentation for userspace APIs
    cxl: Add driver to Kbuild and Makefiles
    cxl: Add userspace header file
    cxl: Driver code for powernv PCIe based cards for userspace access
    cxl: Add base builtin support
    powerpc/mm: Add hooks for cxl
    powerpc/opal: Add PHB to cxl mode call
    powerpc/mm: Add new hash_page_mm()
    powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts
    cxl: Add new header for call backs and structs
    powerpc/powernv: Split out set MSI IRQ chip code
    powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize
    powerpc/msi: Improve IRQ bitmap allocator
    powerpc/cell: Make spu_flush_all_slbs() generic
    powerpc/cell: Move data segment faulting code out of cell platform
    powerpc/cell: Move spu_handle_mm_fault() out of cell platform
    powerpc/pseries: Use new defines when calling H_SET_MODE
    powerpc: Update contact info in Documentation files
    powerpc/perf/hv-24x7: Simplify catalog_read()
    ...

    Linus Torvalds
     

10 Oct, 2014

6 commits

  • Merge patch-bomb from Andrew Morton:
    - part of OCFS2 (review is laggy again)
    - procfs
    - slab
    - all of MM
    - zram, zbud
    - various other random things: arch, filesystems.

    * emailed patches from Andrew Morton : (164 commits)
    nosave: consolidate __nosave_{begin,end} in
    include/linux/screen_info.h: remove unused ORIG_* macros
    kernel/sys.c: compat sysinfo syscall: fix undefined behavior
    kernel/sys.c: whitespace fixes
    acct: eliminate compile warning
    kernel/async.c: switch to pr_foo()
    include/linux/blkdev.h: use NULL instead of zero
    include/linux/kernel.h: deduplicate code implementing clamp* macros
    include/linux/kernel.h: rewrite min3, max3 and clamp using min and max
    alpha: use Kbuild logic to include
    frv: remove deprecated IRQF_DISABLED
    frv: remove unused cpuinfo_frv and friends to fix future build error
    zbud: avoid accessing last unused freelist
    zsmalloc: simplify init_zspage free obj linking
    mm/zsmalloc.c: correct comment for fullness group computation
    zram: use notify_free to account all free notifications
    zram: report maximum used memory
    zram: zram memory size limitation
    zsmalloc: change return value unit of zs_get_total_size_bytes
    zsmalloc: move pages_allocated to zs_pool
    ...

    Linus Torvalds
     
  • `notify_free' device attribute accounts the number of slot free
    notifications and internally represents the number of zram_free_page()
    calls. Slot free notifications are sent only when device is used as a
    swap device, hence `notify_free' is used only for swap devices. Since
    f4659d8e620d08 (zram: support REQ_DISCARD) ZRAM handles yet another one
    free notification (also via zram_free_page() call) -- REQ_DISCARD
    requests, which are sent by a filesystem, whenever some data blocks are
    discarded. However, there is no way to know the number of notifications
    in the latter case.

    Use `notify_free' to account the number of pages freed by
    zram_bio_discard() and zram_slot_free_notify(). Depending on usage
    scenario `notify_free' represents:

    a) the number of pages freed because of slot free notifications, which is
    equal to the number of swap_slot_free_notify() calls, so there is no
    behaviour change

    b) the number of pages freed because of REQ_DISCARD notifications

    Signed-off-by: Sergey Senozhatsky
    Acked-by: Minchan Kim
    Acked-by: Jerome Marchand
    Cc: Nitin Gupta
    Cc: Chao Yu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergey Senozhatsky
     
  • Normally, zram user could get maximum memory usage zram consumed via
    polling mem_used_total with sysfs in userspace.

    But it has a critical problem because user can miss peak memory usage
    during update inverval of polling. For avoiding that, user should poll it
    with shorter interval(ie, 0.0000000001s) with mlocking to avoid page fault
    delay when memory pressure is heavy. It would be troublesome.

    This patch adds new knob "mem_used_max" so user could see the maximum
    memory usage easily via reading the knob and reset it via "echo 0 >
    /sys/block/zram0/mem_used_max".

    Signed-off-by: Minchan Kim
    Reviewed-by: Dan Streetman
    Cc: Sergey Senozhatsky
    Cc: Jerome Marchand
    Cc:
    Cc:
    Cc: Luigi Semenzato
    Cc: Nitin Gupta
    Cc: Seth Jennings
    Reviewed-by: David Horner
    Cc: Joonsoo Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • Since zram has no control feature to limit memory usage, it makes hard to
    manage system memrory.

    This patch adds new knob "mem_limit" via sysfs to set up the a limit so
    that zram could fail allocation once it reaches the limit.

    In addition, user could change the limit in runtime so that he could
    manage the memory more dynamically.

    Initial state is no limit so it doesn't break old behavior.

    [akpm@linux-foundation.org: fix typo, per Sergey]
    Signed-off-by: Minchan Kim
    Cc: Dan Streetman
    Cc: Sergey Senozhatsky
    Cc: Jerome Marchand
    Cc:
    Cc:
    Cc: Luigi Semenzato
    Cc: Nitin Gupta
    Cc: Seth Jennings
    Cc: David Horner
    Cc: Joonsoo Kim
    Cc: Minchan Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • The deprecation warnings for the scan_unevictable interface triggers by
    scripts doing `sysctl -a | grep something else'. This is annoying and not
    helpful.

    The interface has been defunct since 264e56d8247e ("mm: disable user
    interface to manually rescue unevictable pages"), which was in 2011, and
    there haven't been any reports of usecases for it, only reports that the
    deprecation warnings are annying. It's unlikely that anybody is using
    this interface specifically at this point, so remove it.

    Signed-off-by: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Currently memory-hotplug has two limits:

    1. If the memory block is in ZONE_NORMAL, you can change it to
    ZONE_MOVABLE, but this memory block must be adjacent to ZONE_MOVABLE.

    2. If the memory block is in ZONE_MOVABLE, you can change it to
    ZONE_NORMAL, but this memory block must be adjacent to ZONE_NORMAL.

    With this patch, we can easy to know a memory block can be onlined to
    which zone, and don't need to know the above two limits.

    Updated the related Documentation.

    [akpm@linux-foundation.org: use conventional comment layout]
    [akpm@linux-foundation.org: fix build with CONFIG_MEMORY_HOTREMOVE=n]
    [akpm@linux-foundation.org: remove unused local zone_prev]
    Signed-off-by: Zhang Zhen
    Cc: Dave Hansen
    Cc: David Rientjes
    Cc: Toshi Kani
    Cc: Yasuaki Ishimatsu
    Cc: Naoya Horiguchi
    Cc: Wang Nan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zhang Zhen