12 Sep, 2015

4 commits

  • Pull more input updates from Dmitry Torokhov:
    "Second round of updates for the input subsystem.

    This introduces two brand new touchscreen drivers (Colibri and
    imx6ul_tsc), some small driver fixes, and we are no longer report
    errors from evdev_flush() as users do not really have a way of
    handling errors, error codes that we were returning were not on the
    list of errors supposed to be returned by close(), and errors were
    causing issues with one of older versions of systemd"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: imx_keypad - remove obsolete comment
    Input: touchscreen - add imx6ul_tsc driver support
    Input: Add touchscreen support for Colibri VF50
    Input: i8042 - lower log level for "no controller" message
    Input: evdev - do not report errors form flush()
    Input: elants_i2c - extend the calibration timeout to 12 seconds
    Input: sparcspkr - fix module autoload for OF platform drivers
    Input: regulator-haptic - fix module autoload for OF platform driver
    Input: pwm-beeper - fix module autoload for OF platform driver
    Input: ab8500-ponkey - Fix module autoload for OF platform driver
    Input: cyttsp - remove unnecessary MODULE_ALIAS()
    Input: elan_i2c - add ACPI ID "ELAN1000"

    Linus Torvalds
     
  • Pull thermal updates from Zhang Rui:

    - use int instead of unsigned long to represent temperature to avoid
    bogus overheat detection when negative temperature reported. From
    Sascha Hauer.

    - export available thermal governors information to user space via
    sysfs. From Wei Ni.

    - introduce new thermal driver for Wildcat Point platform controller
    hub, which uses PCH thermal sensor and associated critical and hot
    trip points. From Tushar Dave.

    - add suuport for Intel Skylake and Denlow platforms in powerclamp
    driver.

    - some small cleanups in thermal core.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    thermal: Add Intel PCH thermal driver
    thermal: Add comment explaining test for critical temperature
    thermal: Use IS_ENABLED instead of #ifdef
    thermal: remove unnecessary call to thermal_zone_device_set_polling
    thermal: trivial: fix typo in comment
    thermal: consistently use int for temperatures
    thermal: add available policies sysfs attribute
    thermal/powerclamp: add cpu id for denlow platform
    thermal/powerclamp: add cpu id for Skylake u/y
    thermal/powerclamp: add cpu id for skylake h/s

    Linus Torvalds
     
  • Pull watchdog updates from Wim Van Sebroeck:
    - new driver for NXP LPC18xx Watchdog Timer
    - new driver for SAMA5D4 watchdog timer
    - add support for MCP79 to nv_tco driver
    - clean-up and improvement of the mpc8xxx watchdog driver
    - improvements to gpio-wdt
    - at91sam9_wdt clock improvements
    ... and other small fixes and improvements

    * git://www.linux-watchdog.org/linux-watchdog: (25 commits)
    Watchdog: Fix parent of watchdog_devices
    watchdog: at91rm9200: Correct check for syscon_node_to_regmap() errors
    watchdog: at91sam9: get and use slow clock
    Documentation: dt: binding: atmel-sama5d4-wdt: for SAMA5D4 watchdog driver
    watchdog: add a driver to support SAMA5D4 watchdog timer
    watchdog: mpc8xxx: allow to compile for MPC512x
    watchdog: mpc8xxx: use better error code when watchdog cannot be enabled
    watchdog: mpc8xxx: use dynamic memory for device specific data
    watchdog: mpc8xxx: use devm_ioremap_resource to map memory
    watchdog: mpc8xxx: make use of of_device_get_match_data
    watchdog: mpc8xxx: simplify registration
    watchdog: mpc8xxx: remove dead code
    watchdog: lpc18xx_wdt_get_timeleft() can be static
    DT: watchdog: Add NXP LPC18xx Watchdog Timer binding documentation
    watchdog: NXP LPC18xx Watchdog Timer Driver
    watchdog: gpio-wdt: ping already at startup for always running devices
    watchdog: gpio-wdt: be more strict about hw_algo matching
    Documentation: watchdog: at91sam9_wdt: add clocks property
    watchdog: booke_wdt: Use infrastructure to check timeout limits
    watchdog: (nv_tco) add support for MCP79
    ...

    Linus Torvalds
     
  • Prepare second round of input updates for 4.3 merge window.

    Dmitry Torokhov
     

11 Sep, 2015

8 commits

  • Pull blk-cg updates from Jens Axboe:
    "A bit later in the cycle, but this has been in the block tree for a a
    while. This is basically four patchsets from Tejun, that improve our
    buffered cgroup writeback. It was dependent on the other cgroup
    changes, but they went in earlier in this cycle.

    Series 1 is set of 5 patches that has cgroup writeback updates:

    - bdi_writeback iteration fix which could lead to some wb's being
    skipped or repeated during e.g. sync under memory pressure.

    - Simplification of wb work wait mechanism.

    - Writeback tracepoints updated to report cgroup.

    Series 2 is is a set of updates for the CFQ cgroup writeback handling:

    cfq has always charged all async IOs to the root cgroup. It didn't
    have much choice as writeback didn't know about cgroups and there
    was no way to tell who to blame for a given writeback IO.
    writeback finally grew support for cgroups and now tags each
    writeback IO with the appropriate cgroup to charge it against.

    This patchset updates cfq so that it follows the blkcg each bio is
    tagged with. Async cfq_queues are now shared across cfq_group,
    which is per-cgroup, instead of per-request_queue cfq_data. This
    makes all IOs follow the weight based IO resource distribution
    implemented by cfq.

    - Switched from GFP_ATOMIC to GFP_NOWAIT as suggested by Jeff.

    - Other misc review points addressed, acks added and rebased.

    Series 3 is the blkcg policy cleanup patches:

    This patchset contains assorted cleanups for blkcg_policy methods
    and blk[c]g_policy_data handling.

    - alloc/free added for blkg_policy_data. exit dropped.

    - alloc/free added for blkcg_policy_data.

    - blk-throttle's async percpu allocation is replaced with direct
    allocation.

    - all methods now take blk[c]g_policy_data instead of blkcg_gq or
    blkcg.

    And finally, series 4 is a set of patches cleaning up the blkcg stats
    handling:

    blkcg's stats have always been somwhat of a mess. This patchset
    tries to improve the situation a bit.

    - The following patches added to consolidate blkcg entry point and
    blkg creation. This is in itself is an improvement and helps
    colllecting common stats on bio issue.

    - per-blkg stats now accounted on bio issue rather than request
    completion so that bio based and request based drivers can behave
    the same way. The issue was spotted by Vivek.

    - cfq-iosched implements custom recursive stats and blk-throttle
    implements custom per-cpu stats. This patchset make blkcg core
    support both by default.

    - cfq-iosched and blk-throttle keep track of the same stats
    multiple times. Unify them"

    * 'for-4.3/blkcg' of git://git.kernel.dk/linux-block: (45 commits)
    blkcg: use CGROUP_WEIGHT_* scale for io.weight on the unified hierarchy
    blkcg: s/CFQ_WEIGHT_*/CFQ_WEIGHT_LEGACY_*/
    blkcg: implement interface for the unified hierarchy
    blkcg: misc preparations for unified hierarchy interface
    blkcg: separate out tg_conf_updated() from tg_set_conf()
    blkcg: move body parsing from blkg_conf_prep() to its callers
    blkcg: mark existing cftypes as legacy
    blkcg: rename subsystem name from blkio to io
    blkcg: refine error codes returned during blkcg configuration
    blkcg: remove unnecessary NULL checks from __cfqg_set_weight_device()
    blkcg: reduce stack usage of blkg_rwstat_recursive_sum()
    blkcg: remove cfqg_stats->sectors
    blkcg: move io_service_bytes and io_serviced stats into blkcg_gq
    blkcg: make blkg_[rw]stat_recursive_sum() to be able to index into blkcg_gq
    blkcg: make blkcg_[rw]stat per-cpu
    blkcg: add blkg_[rw]stat->aux_cnt and replace cfq_group->dead_stats with it
    blkcg: consolidate blkg creation in blkcg_bio_issue_check()
    blk-throttle: improve queue bypass handling
    blkcg: move root blkg lookup optimization from throtl_lookup_tg() to __blkg_lookup()
    blkcg: inline [__]blkg_lookup()
    ...

    Linus Torvalds
     
  • Merge third patch-bomb from Andrew Morton:

    - even more of the rest of MM

    - lib/ updates

    - checkpatch updates

    - small changes to a few scruffy filesystems

    - kmod fixes/cleanups

    - kexec updates

    - a dma-mapping cleanup series from hch

    * emailed patches from Andrew Morton : (81 commits)
    dma-mapping: consolidate dma_set_mask
    dma-mapping: consolidate dma_supported
    dma-mapping: cosolidate dma_mapping_error
    dma-mapping: consolidate dma_{alloc,free}_noncoherent
    dma-mapping: consolidate dma_{alloc,free}_{attrs,coherent}
    mm: use vma_is_anonymous() in create_huge_pmd() and wp_huge_pmd()
    mm: make sure all file VMAs have ->vm_ops set
    mm, mpx: add "vm_flags_t vm_flags" arg to do_mmap_pgoff()
    mm: mark most vm_operations_struct const
    namei: fix warning while make xmldocs caused by namei.c
    ipc: convert invalid scenarios to use WARN_ON
    zlib_deflate/deftree: remove bi_reverse()
    lib/decompress_unlzma: Do a NULL check for pointer
    lib/decompressors: use real out buf size for gunzip with kernel
    fs/affs: make root lookup from blkdev logical size
    sysctl: fix int -> unsigned long assignments in INT_MIN case
    kexec: export KERNEL_IMAGE_SIZE to vmcoreinfo
    kexec: align crash_notes allocation to make it be inside one physical page
    kexec: remove unnecessary test in kimage_alloc_crash_control_pages()
    kexec: split kexec_load syscall from kexec core code
    ...

    Linus Torvalds
     
  • Pull late ARM SoC updates from Kevin Hilman:
    "This is a collection of a few late fixes and other misc stuff that had
    dependencies on things being merged from other trees.

    The bulk of the changes are for samsung/exynos SoCs for some changes
    that needed a few minor reworks so ended up a bit late. The others
    are mainly for qcom SoCs: a couple fixes and some DTS updates"

    * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (37 commits)
    ARM: multi_v7_defconfig: Enable PBIAS regulator
    soc: qcom: smd: Correct fBLOCKREADINTR handling
    soc: qcom: smd: Use correct remote processor ID
    soc: qcom: smem: Fix errant private access
    ARM: dts: qcom: msm8974-sony-xperia-honami: Use stdout-path
    ARM: dts: qcom: msm8960-cdp: Use stdout-path
    ARM: dts: qcom: msm8660-surf: Use stdout-path
    ARM: dts: qcom: ipq8064-ap148: Use stdout-path
    ARM: dts: qcom: apq8084-mtp: Use stdout-path
    ARM: dts: qcom: apq8084-ifc6540: Use stdout-path
    ARM: dts: qcom: apq8074-dragonboard: Use stdout-path
    ARM: dts: qcom: apq8064-ifc6410: Use stdout-path
    ARM: dts: qcom: apq8064-cm-qs600: Use stdout-path
    ARM: dts: qcom: Label serial nodes for aliasing and stdout-path
    reset: ath79: Fix missing spin_lock_init
    reset: Add (devm_)reset_control_get stub functions
    ARM: EXYNOS: switch to using generic cpufreq driver for exynos4x12
    cpufreq: exynos: Remove unselectable rule for arm-exynos-cpufreq.o
    ARM: dts: add iommu property to JPEG device for exynos4
    ARM: dts: enable SPI1 for exynos4412-odroidu3
    ...

    Linus Torvalds
     
  • Pull more kvm updates from Paolo Bonzini:
    "ARM:
    - Full debug support for arm64
    - Active state switching for timer interrupts
    - Lazy FP/SIMD save/restore for arm64
    - Generic ARMv8 target

    PPC:
    - Book3S: A few bug fixes
    - Book3S: Allow micro-threading on POWER8

    x86:
    - Compiler warnings

    Generic:
    - Adaptive polling for guest halt"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (49 commits)
    kvm: irqchip: fix memory leak
    kvm: move new trace event outside #ifdef CONFIG_KVM_ASYNC_PF
    KVM: trace kvm_halt_poll_ns grow/shrink
    KVM: dynamic halt-polling
    KVM: make halt_poll_ns per-vCPU
    Silence compiler warning in arch/x86/kvm/emulate.c
    kvm: compile process_smi_save_seg_64() only for x86_64
    KVM: x86: avoid uninitialized variable warning
    KVM: PPC: Book3S: Fix typo in top comment about locking
    KVM: PPC: Book3S: Fix size of the PSPB register
    KVM: PPC: Book3S HV: Exit on H_DOORBELL if HOST_IPI is set
    KVM: PPC: Book3S HV: Fix race in starting secondary threads
    KVM: PPC: Book3S: correct width in XER handling
    KVM: PPC: Book3S HV: Fix preempted vcore stolen time calculation
    KVM: PPC: Book3S HV: Fix preempted vcore list locking
    KVM: PPC: Book3S HV: Implement H_CLEAR_REF and H_CLEAR_MOD
    KVM: PPC: Book3S HV: Fix bug in dirty page tracking
    KVM: PPC: Book3S HV: Fix race in reading change bit when removing HPTE
    KVM: PPC: Book3S HV: Implement dynamic micro-threading on POWER8
    KVM: PPC: Book3S HV: Make use of unused threads when running guests
    ...

    Linus Torvalds
     
  • As noted by Minchan, a benefit of reading idle flag from /proc/kpageflags
    is that one can easily filter dirty and/or unevictable pages while
    estimating the size of unused memory.

    Note that idle flag read from /proc/kpageflags may be stale in case the
    page was accessed via a PTE, because it would be too costly to iterate
    over all page mappings on each /proc/kpageflags read to provide an
    up-to-date value. To make sure the flag is up-to-date one has to read
    /sys/kernel/mm/page_idle/bitmap first.

    Signed-off-by: Vladimir Davydov
    Reviewed-by: Andres Lagar-Cavilla
    Cc: Minchan Kim
    Cc: Raghavendra K T
    Cc: Johannes Weiner
    Cc: Michal Hocko
    Cc: Greg Thelen
    Cc: Michel Lespinasse
    Cc: David Rientjes
    Cc: Pavel Emelyanov
    Cc: Cyrill Gorcunov
    Cc: Jonathan Corbet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladimir Davydov
     
  • Knowing the portion of memory that is not used by a certain application or
    memory cgroup (idle memory) can be useful for partitioning the system
    efficiently, e.g. by setting memory cgroup limits appropriately.
    Currently, the only means to estimate the amount of idle memory provided
    by the kernel is /proc/PID/{clear_refs,smaps}: the user can clear the
    access bit for all pages mapped to a particular process by writing 1 to
    clear_refs, wait for some time, and then count smaps:Referenced. However,
    this method has two serious shortcomings:

    - it does not count unmapped file pages
    - it affects the reclaimer logic

    To overcome these drawbacks, this patch introduces two new page flags,
    Idle and Young, and a new sysfs file, /sys/kernel/mm/page_idle/bitmap.
    A page's Idle flag can only be set from userspace by setting bit in
    /sys/kernel/mm/page_idle/bitmap at the offset corresponding to the page,
    and it is cleared whenever the page is accessed either through page tables
    (it is cleared in page_referenced() in this case) or using the read(2)
    system call (mark_page_accessed()). Thus by setting the Idle flag for
    pages of a particular workload, which can be found e.g. by reading
    /proc/PID/pagemap, waiting for some time to let the workload access its
    working set, and then reading the bitmap file, one can estimate the amount
    of pages that are not used by the workload.

    The Young page flag is used to avoid interference with the memory
    reclaimer. A page's Young flag is set whenever the Access bit of a page
    table entry pointing to the page is cleared by writing to the bitmap file.
    If page_referenced() is called on a Young page, it will add 1 to its
    return value, therefore concealing the fact that the Access bit was
    cleared.

    Note, since there is no room for extra page flags on 32 bit, this feature
    uses extended page flags when compiled on 32 bit.

    [akpm@linux-foundation.org: fix build]
    [akpm@linux-foundation.org: kpageidle requires an MMU]
    [akpm@linux-foundation.org: decouple from page-flags rework]
    Signed-off-by: Vladimir Davydov
    Reviewed-by: Andres Lagar-Cavilla
    Cc: Minchan Kim
    Cc: Raghavendra K T
    Cc: Johannes Weiner
    Cc: Michal Hocko
    Cc: Greg Thelen
    Cc: Michel Lespinasse
    Cc: David Rientjes
    Cc: Pavel Emelyanov
    Cc: Cyrill Gorcunov
    Cc: Jonathan Corbet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladimir Davydov
     
  • /proc/kpagecgroup contains a 64-bit inode number of the memory cgroup each
    page is charged to, indexed by PFN. Having this information is useful for
    estimating a cgroup working set size.

    The file is present if CONFIG_PROC_PAGE_MONITOR && CONFIG_MEMCG.

    Signed-off-by: Vladimir Davydov
    Reviewed-by: Andres Lagar-Cavilla
    Cc: Minchan Kim
    Cc: Raghavendra K T
    Cc: Johannes Weiner
    Cc: Michal Hocko
    Cc: Greg Thelen
    Cc: Michel Lespinasse
    Cc: David Rientjes
    Cc: Pavel Emelyanov
    Cc: Cyrill Gorcunov
    Cc: Jonathan Corbet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladimir Davydov
     
  • Change the Documentation/vm/zswap.txt doc to indicate that the "zpool" and
    "compressor" params are now changeable at runtime.

    Signed-off-by: Dan Streetman
    Cc: Seth Jennings
    Cc: Sergey Senozhatsky
    Cc: Vlastimil Babka
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Streetman
     

10 Sep, 2015

9 commits

  • Qualcomm ARM Based SoC Updates for 4.3-rc2

    * Fix errant private access in SMEM
    * Fix use of correct remote processor ID in SMD transactions
    * Correct SMD fBLOCKREADINTR handling

    * tag 'qcom-soc-for-4.3-rc2' of git://codeaurora.org/quic/kernel/agross-msm:
    soc: qcom: smd: Correct fBLOCKREADINTR handling
    soc: qcom: smd: Use correct remote processor ID
    soc: qcom: smem: Fix errant private access
    devicetree: soc: Add Qualcomm SMD based RPM DT binding
    soc: qcom: Driver for the Qualcomm RPM over SMD
    soc: qcom: Add Shared Memory Driver
    soc: qcom: Add device tree binding for Shared Memory Device
    drivers: qcom: Select QCOM_SCM unconditionally for QCOM_PM
    soc: qcom: Add Shared Memory Manager driver

    Kevin Hilman
     
  • This patch fixes SMEM addressing issues when remote processors need to use
    secure SMEM partitions.

    Signed-off-by: Andy Gross
    Reviewed-by: Bjorn Andersson

    Andy Gross
     
  • Qualcomm ARM Based SoC Updates for 4.3

    * Add SMEM driver
    * Add SMD driver
    * Add RPM over SMD driver
    * Select QCOM_SCM by default

    Andy Gross
     
  • The compatible "atmel,sama5d4-wdt" supports the SAMA5D4 watchdog driver
    and the watchdog's WDT_MR register can be written more than once.

    Signed-off-by: Wenyou Yang
    Reviewed-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Wenyou Yang
     
  • Add the devicetree binding document for NXP LPC18xx Watchdog Timer.

    Signed-off-by: Ariel D'Alessandro
    Reviewed-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Ariel D'Alessandro
     
  • The watchdog has an input clock, the slow clock. It is required as it will
    not function without it.

    Signed-off-by: Alexandre Belloni
    Reviewed-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Alexandre Belloni
     
  • The watchdog test program is much more useful if it can configure the
    timeout value and ping rate. This will allow you to test actual timeouts.

    Adds the -t parameter to set the timeout value (in seconds), and -p to set
    the ping rate (number of seconds between pings).

    Signed-off-by: Timur Tabi
    Reviewed-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Timur Tabi
     
  • …erry.reding/linux-pwm

    Pull pwm updates from Thierry Reding:
    "This set of changes introduces the beginnings of a new API that's
    based around the concept of states that can be atomically applied.
    Drivers go to various lengths to implement something similar, which
    indicates that the core should really be providing the necessary
    framework.

    On top of that, there is a bit of cleanup as well as improved
    kerneldoc and integration into the device-drivers DocBook.

    Regarding drivers there is a new one for the NXP LPC18xx family of
    SoCs and a couple of fixes for existing drivers (pca9685, Broadcom
    Kona and Atmel HLCDC)"

    * tag 'pwm/for-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
    ARM: at91: pwm: atmel-hlcdc: Add at91sam9n12 errata
    pwm: Add NXP LPC18xx PWM/SCT DT binding documentation
    pwm: NXP LPC18xx PWM/SCT driver
    pwm-pca9685: Support changing the output frequency
    pwm-pca9685: Fix several driver bugs
    pwm: kona: Modify settings application sequence
    pwm: pca9685: Drop owner assignment
    pwm: Add to device-drivers documentation
    pwm: Clean up kerneldoc
    pwm: Remove useless whitespace
    pwm: sysfs: Remove unnecessary padding
    pwm: sysfs: Properly convert from enum to string
    pwm: Make use of pwm_get_xxx() helpers where appropriate
    pwm: Add pwm_get_polarity() helper function
    pwm: Constify PWM device where possible
    pwm: Add the pwm_is_enabled() helper

    Linus Torvalds
     
  • Pull metag updates from James Hogan:
    "Metag architecture changes for v4.3.

    Just a couple of changes for v4.3-rc1. A preparatory IRQ patch to
    prepare for moving irq_data struct members, and a tweak to
    Documentation/features since Meta2 could support THP"

    * tag 'metag-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/metag:
    Documentation/features/vm: Meta2 is capable of THP
    metag/irq: Use access helper irq_data_get_affinity_mask()

    Linus Torvalds
     

09 Sep, 2015

19 commits

  • Pull inifiniband/rdma updates from Doug Ledford:
    "This is a fairly sizeable set of changes. I've put them through a
    decent amount of testing prior to sending the pull request due to
    that.

    There are still a few fixups that I know are coming, but I wanted to
    go ahead and get the big, sizable chunk into your hands sooner rather
    than waiting for those last few fixups.

    Of note is the fact that this creates what is intended to be a
    temporary area in the drivers/staging tree specifically for some
    cleanups and additions that are coming for the RDMA stack. We
    deprecated two drivers (ipath and amso1100) and are waiting to hear
    back if we can deprecate another one (ehca). We also put Intel's new
    hfi1 driver into this area because it needs to be refactored and a
    transfer library created out of the factored out code, and then it and
    the qib driver and the soft-roce driver should all be modified to use
    that library.

    I expect drivers/staging/rdma to be around for three or four kernel
    releases and then to go away as all of the work is completed and final
    deletions of deprecated drivers are done.

    Summary of changes for 4.3:

    - Create drivers/staging/rdma
    - Move amso1100 driver to staging/rdma and schedule for deletion
    - Move ipath driver to staging/rdma and schedule for deletion
    - Add hfi1 driver to staging/rdma and set TODO for move to regular
    tree
    - Initial support for namespaces to be used on RDMA devices
    - Add RoCE GID table handling to the RDMA core caching code
    - Infrastructure to support handling of devices with differing read
    and write scatter gather capabilities
    - Various iSER updates
    - Kill off unsafe usage of global mr registrations
    - Update SRP driver
    - Misc mlx4 driver updates
    - Support for the mr_alloc verb
    - Support for a netlink interface between kernel and user space cache
    daemon to speed path record queries and route resolution
    - Ininitial support for safe hot removal of verbs devices"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (136 commits)
    IB/ipoib: Suppress warning for send only join failures
    IB/ipoib: Clean up send-only multicast joins
    IB/srp: Fix possible protection fault
    IB/core: Move SM class defines from ib_mad.h to ib_smi.h
    IB/core: Remove unnecessary defines from ib_mad.h
    IB/hfi1: Add PSM2 user space header to header_install
    IB/hfi1: Add CSRs for CONFIG_SDMA_VERBOSITY
    mlx5: Fix incorrect wc pkey_index assignment for GSI messages
    IB/mlx5: avoid destroying a NULL mr in reg_user_mr error flow
    IB/uverbs: reject invalid or unknown opcodes
    IB/cxgb4: Fix if statement in pick_local_ip6adddrs
    IB/sa: Fix rdma netlink message flags
    IB/ucma: HW Device hot-removal support
    IB/mlx4_ib: Disassociate support
    IB/uverbs: Enable device removal when there are active user space applications
    IB/uverbs: Explicitly pass ib_dev to uverbs commands
    IB/uverbs: Fix race between ib_uverbs_open and remove_one
    IB/uverbs: Fix reference counting usage of event files
    IB/core: Make ib_dealloc_pd return void
    IB/srp: Create an insecure all physical rkey only if needed
    ...

    Linus Torvalds
     
  • Add the devicetree binding document for NXP LPC18xx PWM/SCT.

    Signed-off-by: Ariel D'Alessandro
    Signed-off-by: Thierry Reding

    Ariel D'Alessandro
     
  • Pull IPMI updates from Corey Minyard:
    "Most of these have been sitting in linux-next for more than a release,
    particularly commit 0fbcf4af7c83 ("ipmi: Convert the IPMI SI ACPI
    handling to a platform device") which is probably the most complex
    patch.

    That is also the one that changes drivers/acpi/acpi_pnp.c. The change
    in that file is only removing IPMI from a "special platform devices"
    list, since I convert it to the standard PNP interface. I posted this
    one to the ACPI list twice and got no response, and it seems to work
    well in my testing, so I'm hoping it's good.

    Hidehiro Kawai posted a set of changes that improves the panic time
    handling in the IPMI driver.

    The rest of the changes are minor bug fixes or cleanups and some
    documentation"

    * tag 'for-linus-4.3' of git://git.code.sf.net/p/openipmi/linux-ipmi:
    ipmi:ssif: Add a module parm to specify that SMBus alerts don't work
    ipmi: add of_device_id in MODULE_DEVICE_TABLE
    ipmi: Compensate for BMCs that wont set the irq enable bit
    ipmi: Don't call receive handler in the panic context
    ipmi: Avoid touching possible corrupted lists in the panic context
    ipmi: Don't flush messages in sender() in run-to-completion mode
    ipmi: Factor out message flushing procedure
    ipmi: Remove unneeded set_run_to_completion call
    ipmi: Make some data const that was only read
    ipmi: constify SSIF ACPI device ids
    ipmi: Delete an unnecessary check before the function call "cleanup_one_si"
    char:ipmi - Change 1 to true for bool type variables during initialization.
    impi:Remove unneeded setting of module owner to THIS_MODULE in the platform structure, powernv_ipmi_driver
    ipmi: Add a comment in how messages are delivered from the lower layer
    ipmi/powernv: Fix potential invalid pointer dereference
    ipmi: Convert the IPMI SI ACPI handling to a platform device
    ipmi: Add device tree bindings information

    Linus Torvalds
     
  • Merge second patch-bomb from Andrew Morton:
    "Almost all of the rest of MM. There was an unusually large amount of
    MM material this time"

    * emailed patches from Andrew Morton : (141 commits)
    zpool: remove no-op module init/exit
    mm: zbud: constify the zbud_ops
    mm: zpool: constify the zpool_ops
    mm: swap: zswap: maybe_preload & refactoring
    zram: unify error reporting
    zsmalloc: remove null check from destroy_handle_cache()
    zsmalloc: do not take class lock in zs_shrinker_count()
    zsmalloc: use class->pages_per_zspage
    zsmalloc: consider ZS_ALMOST_FULL as migrate source
    zsmalloc: partial page ordering within a fullness_list
    zsmalloc: use shrinker to trigger auto-compaction
    zsmalloc: account the number of compacted pages
    zsmalloc/zram: introduce zs_pool_stats api
    zsmalloc: cosmetic compaction code adjustments
    zsmalloc: introduce zs_can_compact() function
    zsmalloc: always keep per-class stats
    zsmalloc: drop unused variable `nr_to_migrate'
    mm/memblock.c: fix comment in __next_mem_range()
    mm/page_alloc.c: fix type information of memoryless node
    memory-hotplug: fix comments in zone_spanned_pages_in_node() and zone_spanned_pages_in_node()
    ...

    Linus Torvalds
     
  • Pull iommu updates for from Joerg Roedel:
    "This time the IOMMU updates are mostly cleanups or fixes. No big new
    features or drivers this time. In particular the changes include:

    - Bigger cleanup of the DomainIOMMU data structures and the code
    that manages them in the Intel VT-d driver. This makes the code
    easier to understand and maintain, and also easier to keep the data
    structures in sync. It is also a preparation step to make use of
    default domains from the IOMMU core in the Intel VT-d driver.

    - Fixes for a couple of DMA-API misuses in ARM IOMMU drivers, namely
    in the ARM and Tegra SMMU drivers.

    - Fix for a potential buffer overflow in the OMAP iommu driver's
    debug code

    - A couple of smaller fixes and cleanups in various drivers

    - One small new feature: Report domain-id usage in the Intel VT-d
    driver to easier detect bugs where these are leaked"

    * tag 'iommu-updates-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (83 commits)
    iommu/vt-d: Really use upper context table when necessary
    x86/vt-d: Fix documentation of DRHD
    iommu/fsl: Really fix init section(s) content
    iommu/io-pgtable-arm: Unmap and free table when overwriting with block
    iommu/io-pgtable-arm: Move init-fn declarations to io-pgtable.h
    iommu/msm: Use BUG_ON instead of if () BUG()
    iommu/vt-d: Access iomem correctly
    iommu/vt-d: Make two functions static
    iommu/vt-d: Use BUG_ON instead of if () BUG()
    iommu/vt-d: Return false instead of 0 in irq_remapping_cap()
    iommu/amd: Use BUG_ON instead of if () BUG()
    iommu/amd: Make a symbol static
    iommu/amd: Simplify allocation in irq_remapping_alloc()
    iommu/tegra-smmu: Parameterize number of TLB lines
    iommu/tegra-smmu: Factor out tegra_smmu_set_pde()
    iommu/tegra-smmu: Extract tegra_smmu_pte_get_use()
    iommu/tegra-smmu: Use __GFP_ZERO to allocate zeroed pages
    iommu/tegra-smmu: Remove PageReserved manipulation
    iommu/tegra-smmu: Convert to use DMA API
    iommu/tegra-smmu: smmu_flush_ptc() wants device addresses
    ...

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "MMC core:
    - Fix a race condition in the request handling
    - Skip trim commands for some buggy kingston eMMCs
    - An optimization and a correction for erase groups
    - Set CMD23 quirk for some Sandisk cards

    MMC host:
    - sdhci: Give GPIO CD higher precedence and don't poll when it's used
    - sdhci: Fix DMA memory leakage
    - sdhci: Some updates for clock management
    - sdhci-of-at91: introduce driver for the Atmel SDMMC
    - sdhci-of-arasan: Add support for sdhci-5.1
    - sdhci-esdhc-imx: Add support for imx7d which also supports HS400
    - sdhci: A collection of fixes and improvements for various sdhci hosts
    - omap_hsmmc: Modernization of the regulator code
    - dw_mmc: A couple of fixes for DMA and PIO mode
    - usdhi6rol0: A few fixes and support probe deferral for regulators
    - pxamci: Convert to use dmaengine
    - sh_mmcif: Fix the suspend process in a short term solution
    - tmio: Adjust timeout for commands
    - sunxi: Fix timeout while gating/ungating clock"

    * tag 'mmc-v4.3' of git://git.linaro.org/people/ulf.hansson/mmc: (67 commits)
    mmc: android-goldfish: remove incorrect __iomem annotation
    mmc: core: fix race condition in mmc_wait_data_done
    mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check
    mmc: host: omap_hsmmc: use ios->vdd for setting vmmc voltage
    mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status
    mmc: host: omap_hsmmc: enable/disable vmmc_aux regulator based on previous state
    mmc: host: omap_hsmmc: don't use ->set_power to set initial regulator state
    mmc: host: omap_hsmmc: avoid pbias regulator enable on power off
    mmc: host: omap_hsmmc: add separate function to set pbias
    mmc: host: omap_hsmmc: add separate functions for enable/disable supply
    mmc: host: omap_hsmmc: return error if any of the regulator APIs fail
    mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage
    mmc: host: omap_hsmmc: use mmc_host's vmmc and vqmmc
    mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator
    mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get()
    mmc: host: omap_hsmmc: return on fatal errors from omap_hsmmc_reg_get
    mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc
    mmc: sdhci-of-at91: fix platform_no_drv_owner.cocci warnings
    mmc: sh_mmcif: Fix suspend process
    mmc: usdhi6rol0: fix error return code
    ...

    Linus Torvalds
     
  • …linux-platform-drivers-x86

    Pull x86 platform driver updates from Darren Hart:
    "Significant work on toshiba_acpi, including new hardware support,
    refactoring, and cleanups. Extend device support for asus, ideapad,
    and acer systems. New surface pro 3 buttons driver. Misc minor
    cleanups for thinkpad and hp-wireless.

    acer-wmi:
    - No rfkill on HP Omen 15 wifi

    thinkpad_acpi:
    - Remove side effects from vdbg_printk -> no_printk macro

    surface pro 3:
    - Add support driver for Surface Pro 3 buttons

    hp-wireless:
    - remove unneeded goto/label in hpwl_init

    ideapad-laptop:
    - add alternative representation for Yoga 2 to DMI table
    - Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list

    asus-laptop:
    - Add key found on Asus F3M

    MAINTAINERS:
    - Remove Toshiba Linux mailing list address

    toshiba_acpi:
    - Bump driver version to 0.23
    - Remove unnecessary checks and returns in HCI/SCI functions
    - Refactor *{get, set} functions return value
    - Remove "*not supported" feature prints
    - Change *available functions return type
    - Add set_fan_status function
    - Change some variables to avoid warnings from ninja-check
    - Reorder toshiba_acpi_alt_keymap entries
    - Remove unused wireless defines
    - Transflective backlight updates
    - Avoid registering input device on WMI event laptops
    - Add /dev/toshiba_acpi device
    - Adapt /proc/acpi/toshiba/keys to TOS1900 devices"

    * tag 'platform-drivers-x86-v4.3-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (21 commits)
    acer-wmi: No rfkill on HP Omen 15 wifi
    thinkpad_acpi: Remove side effects from vdbg_printk -> no_printk macro
    surface pro 3: Add support driver for Surface Pro 3 buttons
    hp-wireless: remove unneeded goto/label in hpwl_init
    ideapad-laptop: add alternative representation for Yoga 2 to DMI table
    asus-laptop: Add key found on Asus F3M
    MAINTAINERS: Remove Toshiba Linux mailing list address
    ideapad-laptop: Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list
    toshiba_acpi: Bump driver version to 0.23
    toshiba_acpi: Remove unnecessary checks and returns in HCI/SCI functions
    toshiba_acpi: Refactor *{get, set} functions return value
    toshiba_acpi: Remove "*not supported" feature prints
    toshiba_acpi: Change *available functions return type
    toshiba_acpi: Add set_fan_status function
    toshiba_acpi: Change some variables to avoid warnings from ninja-check
    toshiba_acpi: Reorder toshiba_acpi_alt_keymap entries
    toshiba_acpi: Remove unused wireless defines
    toshiba_acpi: Transflective backlight updates
    toshiba_acpi: Avoid registering input device on WMI event laptops
    toshiba_acpi: Add /dev/toshiba_acpi device
    ...

    Linus Torvalds
     
  • Pull i2c updates from Wolfram Sang:
    "Features:

    - new drivers: Renesas EMEV2, register based MUX, NXP LPC2xxx
    - core: scans DT and assigns wakeup interrupts. no driver changes needed.
    - core: some refcouting issues fixed and better API for that
    - core: new helper function for best effort block read emulation
    - slave framework: proper DT bindings and userspace instantiation
    - some bigger work for xiic, pxa, omap drivers

    .. and quite a number of smaller driver fixes, cleanups, improvements"

    * 'i2c/for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (65 commits)
    i2c: mux: reg Change ioread endianness for readback
    i2c: mux: reg: fix compilation warnings
    i2c: mux: reg: simplify register size checking
    i2c: muxes: fix leaked i2c adapter device node references
    i2c: allow specifying separate wakeup interrupt in device tree
    of/irq: export of_get_irq_byname()
    i2c: xgene-slimpro: dma_mapping_error() doesn't return an error code
    i2c: Replace I2C_CROS_EC_TUNNEL dependency
    eeprom: at24: use i2c_smbus_read_i2c_block_data_or_emulated
    i2c: core: Add support for best effort block read emulation
    i2c: lpc2k: add driver
    i2c: mux: Add register-based mux i2c-mux-reg
    i2c: dt: describe generic bindings
    i2c: slave: print warning if slave flag not set
    i2c: support 10 bit and slave addresses in sysfs 'new_device'
    i2c: take address space into account when checking for used addresses
    i2c: apply DT flags when probing
    i2c: make address check indpendent from client struct
    i2c: rename address check functions
    i2c: apply address offset for slaves, too
    ...

    Linus Torvalds
     
  • Pull RTC updates from Alexandre Belloni:
    "Core:
    - use is_visible() to control sysfs attributes
    - switch wakealarm attribute to DEVICE_ATTR_RW
    - make rtc_does_wakealarm() return boolean
    - properly manage lifetime of dev and cdev in rtc device
    - remove unnecessary device_get() in rtc_device_unregister
    - fix double free in rtc_register_device() error path

    New drivers:
    - NXP LPC24xx
    - Xilinx Zynq MP
    - Dialog DA9062

    Subsystem wide cleanups:
    - fix drivers that consider 0 as a valid IRQ in client->irq
    - Drop (un)likely before IS_ERR(_OR_NULL)
    - drop the remaining owner assignment for i2c_driver and
    platform_driver
    - module autoload fixes

    Drivers:
    - 88pm80x: add device tree support
    - abx80x: fix RTC write bit
    - ab8500: Add a sentinel to ab85xx_rtc_ids[]
    - armada38x: Align RTC set time procedure with the official errata
    - as3722: correct month value
    - at91sam9: cleanups
    - at91rm9200: get and use slow clock and cleanups
    - bq32k: remove redundant check
    - cmos: century support, proper fix for the spurious wakeup
    - ds1307: cleanups and wakeup irq support
    - ds1374: Remove unused variable
    - ds1685: Use module_platform_driver
    - ds3232: fix WARNING trace in resume function
    - gemini: fix ptr_ret.cocci warnings
    - mt6397: implement suspend/resume
    - omap: support internal and external clock enabling
    - opal: Enable alarms only when opal supports tpo
    - pcf2127: use OFS flag to detect unreliable date and warn the user
    - pl031: fix typo for author email
    - rx8025: huge cleanup and fixes
    - sa1100/pxa: share common code
    - s5m: fix to update ctrl register
    - s3c: fix clocks and wakeup, cleanup
    - sirfsoc: use regmap
    - nvram_read()/nvram_write() functions for cmos, ds1305, ds1307,
    ds1343, ds1511, ds1553, ds1742, m48t59, rp5c01, stk17ta8, tx4939
    - use rtc_valid_tm() error code when reading date/time instead of 0
    for isl12022, pcf2123, pcf2127"

    * tag 'rtc-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (90 commits)
    rtc: abx80x: fix RTC write bit
    rtc: ab8500: Add a sentinel to ab85xx_rtc_ids[]
    rtc: ds1374: Remove unused variable
    rtc: Fix module autoload for OF platform drivers
    rtc: Fix module autoload for rtc-{ab8500,max8997,s5m} drivers
    rtc: omap: Add external clock enabling support
    rtc: omap: Add internal clock enabling support
    ARM: dts: AM437x: Add the internal and external clock nodes for rtc
    rtc: s5m: fix to update ctrl register
    rtc: add xilinx zynqmp rtc driver
    devicetree: bindings: rtc: add bindings for xilinx zynqmp rtc
    rtc: as3722: correct month value
    ARM: config: Switch PXA27x platforms to use PXA RTC driver
    ARM: mmp: remove unused RTC register definitions
    ARM: sa1100: remove unused RTC register definitions
    rtc: sa1100/pxa: convert to run-time register mapping
    ARM: pxa: add memory resource to SA1100 RTC device
    rtc: pxa: convert to use shared sa1100 functions
    rtc: sa1100: prepare to share sa1100_rtc_ops
    rtc: ds3232: fix WARNING trace in resume function
    ...

    Linus Torvalds
     
  • Compaction returns back to zram the number of migrated objects, which is
    quite uninformative -- we have objects of different sizes so user space
    cannot obtain any valuable data from that number. Change compaction to
    operate in terms of pages and return back to compaction issuer the
    number of pages that were freed during compaction. So from now on we
    will export more meaningful value in zram/mm_stat -- the number of
    freed (compacted) pages.

    This requires:
    (a) a rename of `num_migrated' to 'pages_compacted'
    (b) a internal API change -- return first_page's fullness_group from
    putback_zspage(), so we know when putback_zspage() did
    free_zspage(). It helps us to account compaction stats correctly.

    Signed-off-by: Sergey Senozhatsky
    Acked-by: Minchan Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergey Senozhatsky
     
  • The comment says that the per-cpu batchsize and zone watermarks are
    determined by present_pages which is definitely wrong, they are both
    calculated from managed_pages. Fix it.

    Signed-off-by: Yaowei Bai
    Acked-by: Michal Hocko
    Cc: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yaowei Bai
     
  • The URL for libhugetlbfs has changed. Also, put a stronger emphasis on
    using libgugetlbfs for hugetlb regression testing.

    Signed-off-by: Mike Kravetz
    Acked-by: Naoya Horiguchi
    Cc: Joern Engel
    Cc: Davidlohr Bueso
    Cc: David Rientjes
    Cc: Shuah Khan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Kravetz
     
  • Add a wrapper function for dma_pool_alloc() to get zeroed memory.

    Signed-off-by: Sean O. Stalley
    Cc: Vinod Koul
    Cc: Bjorn Helgaas
    Cc: Gilles Muller
    Cc: Nicolas Palix
    Cc: Michal Marek
    Cc: Sebastian Andrzej Siewior
    Cc: Jonathan Corbet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sean O. Stalley
     
  • Sysrq+f is used to kill a process either for debug or when the VM is
    otherwise unresponsive.

    It is not intended to trigger a panic when no process may be killed.

    Avoid panicking the system for sysrq+f when no processes are killed.

    Signed-off-by: David Rientjes
    Suggested-by: Michal Hocko
    Cc: Sergey Senozhatsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • We want to know per-process workingset size for smart memory management
    on userland and we use swap(ex, zram) heavily to maximize memory
    efficiency so workingset includes swap as well as RSS.

    On such system, if there are lots of shared anonymous pages, it's really
    hard to figure out exactly how many each process consumes memory(ie, rss
    + wap) if the system has lots of shared anonymous memory(e.g, android).

    This patch introduces SwapPss field on /proc//smaps so we can get
    more exact workingset size per process.

    Bongkyu tested it. Result is below.

    1. 50M used swap
    SwapTotal: 461976 kB
    SwapFree: 411192 kB

    $ adb shell cat /proc/*/smaps | grep "SwapPss:" | awk '{sum += $2} END {print sum}';
    48236
    $ adb shell cat /proc/*/smaps | grep "Swap:" | awk '{sum += $2} END {print sum}';
    141184

    2. 240M used swap
    SwapTotal: 461976 kB
    SwapFree: 216808 kB

    $ adb shell cat /proc/*/smaps | grep "SwapPss:" | awk '{sum += $2} END {print sum}';
    230315
    $ adb shell cat /proc/*/smaps | grep "Swap:" | awk '{sum += $2} END {print sum}';
    1387744

    [akpm@linux-foundation.org: simplify kunmap_atomic() call]
    Signed-off-by: Minchan Kim
    Reported-by: Bongkyu Kim
    Tested-by: Bongkyu Kim
    Cc: Hugh Dickins
    Cc: Sergey Senozhatsky
    Cc: Jonathan Corbet
    Cc: Jerome Marchand
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • Notes about recent changes.

    [akpm@linux-foundation.org: various tweaks]
    Signed-off-by: Konstantin Khlebnikov
    Cc: Mark Williamson
    Cc: Naoya Horiguchi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     
  • This patch sets bit 56 in pagemap if this page is mapped only once. It
    allows to detect exclusively used pages without exposing PFN:

    present file exclusive state
    0 0 0 non-present
    1 1 0 file page mapped somewhere else
    1 1 1 file page mapped only here
    1 0 0 anon non-CoWed page (shared with parent/child)
    1 0 1 anon CoWed page (or never forked)

    CoWed pages in (MAP_FILE | MAP_PRIVATE) areas are anon in this context.

    MMap-exclusive bit doesn't reflect potential page-sharing via swapcache:
    page could be mapped once but has several swap-ptes which point to it.
    Application could detect that by swap bit in pagemap entry and touch that
    pte via /proc/pid/mem to get real information.

    See http://lkml.kernel.org/r/CAEVpBa+_RyACkhODZrRvQLs80iy0sqpdrd0AaP_-tgnX3Y9yNQ@mail.gmail.com

    Requested by Mark Williamson.

    [akpm@linux-foundation.org: fix spello]
    Signed-off-by: Konstantin Khlebnikov
    Reviewed-by: Mark Williamson
    Tested-by: Mark Williamson
    Reviewed-by: Naoya Horiguchi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     
  • This is the support code for DAX-enabled filesystems to allow them to
    provide huge pages in response to faults.

    Signed-off-by: Matthew Wilcox
    Cc: Hillf Danton
    Cc: "Kirill A. Shutemov"
    Cc: Theodore Ts'o
    Cc: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Wilcox
     
  • Pull libnvdimm updates from Dan Williams:
    "This update has successfully completed a 0day-kbuild run and has
    appeared in a linux-next release. The changes outside of the typical
    drivers/nvdimm/ and drivers/acpi/nfit.[ch] paths are related to the
    removal of IORESOURCE_CACHEABLE, the introduction of memremap(), and
    the introduction of ZONE_DEVICE + devm_memremap_pages().

    Summary:

    - Introduce ZONE_DEVICE and devm_memremap_pages() as a generic
    mechanism for adding device-driver-discovered memory regions to the
    kernel's direct map.

    This facility is used by the pmem driver to enable pfn_to_page()
    operations on the page frames returned by DAX ('direct_access' in
    'struct block_device_operations').

    For now, the 'memmap' allocation for these "device" pages comes
    from "System RAM". Support for allocating the memmap from device
    memory will arrive in a later kernel.

    - Introduce memremap() to replace usages of ioremap_cache() and
    ioremap_wt(). memremap() drops the __iomem annotation for these
    mappings to memory that do not have i/o side effects. The
    replacement of ioremap_cache() with memremap() is limited to the
    pmem driver to ease merging the api change in v4.3.

    Completion of the conversion is targeted for v4.4.

    - Similar to the usage of memcpy_to_pmem() + wmb_pmem() in the pmem
    driver, update the VFS DAX implementation and PMEM api to provide
    persistence guarantees for kernel operations on a DAX mapping.

    - Convert the ACPI NFIT 'BLK' driver to map the block apertures as
    cacheable to improve performance.

    - Miscellaneous updates and fixes to libnvdimm including support for
    issuing "address range scrub" commands, clarifying the optimal
    'sector size' of pmem devices, a clarification of the usage of the
    ACPI '_STA' (status) property for DIMM devices, and other minor
    fixes"

    * tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (34 commits)
    libnvdimm, pmem: direct map legacy pmem by default
    libnvdimm, pmem: 'struct page' for pmem
    libnvdimm, pfn: 'struct page' provider infrastructure
    x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB
    add devm_memremap_pages
    mm: ZONE_DEVICE for "device memory"
    mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h
    dax: drop size parameter to ->direct_access()
    nd_blk: change aperture mapping from WC to WB
    nvdimm: change to use generic kvfree()
    pmem, dax: have direct_access use __pmem annotation
    dax: update I/O path to do proper PMEM flushing
    pmem: add copy_from_iter_pmem() and clear_pmem()
    pmem, x86: clean up conditional pmem includes
    pmem: remove layer when calling arch_has_wmb_pmem()
    pmem, x86: move x86 PMEM API to new pmem.h header
    libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option
    pmem: switch to devm_ allocations
    devres: add devm_memremap
    libnvdimm, btt: write and validate parent_uuid
    ...

    Linus Torvalds