30 May, 2016

5 commits


20 Apr, 2016

1 commit

  • If no channels are enabled when we run generic_buffer on a
    device, add a command-line option to just enable all of them,
    run the sampling and disable them all again afterwards.

    This is extremely useful when I'm low-level testing my
    sensors with interrupts and triggers, sample session:

    root@Ux500:/ lsiio
    Device 000: lsm303dlh_accel
    Device 001: lis331dl_accel
    Device 002: l3g4200d
    Device 003: lsm303dlh_magn
    Device 004: lps001wp
    Trigger 000: lsm303dlh_accel-trigger
    Trigger 001: lis331dl_accel-trigger
    Trigger 002: l3g4200d-trigger

    root@Ux500:/ generic_buffer -a -c 10 -n l3g4200d
    iio device number being used is 2
    iio trigger number being used is 2
    No channels are enabled, enabling all channels
    Enabling: in_anglvel_x_en
    Enabling: in_anglvel_y_en
    Enabling: in_anglvel_z_en
    Enabling: in_timestamp_en
    /sys/bus/iio/devices/iio:device2 l3g4200d-trigger
    -3.593664 -0.713133 4.870143 946684863662292480
    3.225546 0.867357 -4.945878 946684863671875000
    -0.676413 0.127296 0.106641 946684863681488037
    -0.661113 0.110160 0.128826 946684863690673828
    -0.664173 0.113067 0.123471 946684863700683593
    -0.664938 0.109395 0.124848 946684863710144042
    -0.664173 0.110619 0.130203 946684863719512939
    -0.666162 0.111231 0.132651 946684863729125976
    -0.668610 0.111690 0.130662 946684863738739013
    -0.660501 0.110466 0.131733 946684863748565673
    Disabling: in_anglvel_x_en
    Disabling: in_anglvel_y_en
    Disabling: in_anglvel_z_en
    Disabling: in_timestamp_en

    Pure awesomeness. If some channels have been enabled through
    scripts or manual interaction, nothing happens.

    Cc: Peter Meerwald-Stadler
    Acked-by: Daniel Baluta
    Signed-off-by: Linus Walleij
    Signed-off-by: Jonathan Cameron

    Linus Walleij
     

05 Apr, 2016

1 commit

  • …iio into staging-next

    Jonathan writes:

    First round of IIO new device support, features and cleanups for the 4.7 cycle.

    New core support
    * UV light modifier (for intensity)
    * UV light index channel type.

    New device support
    * hp206c barometer and altimeter
    - new driver.
    * mcp4131 potentiometer
    - new driver supporting lots of parts from Microchip.
    * mma8452
    - FXLS8471Q support
    - NXP LPC18XX SOC ADC
    - new driver.
    - NXP LPC18XX SOC DAC
    - new driver.
    - rockchip_saradc
    - support rk3399
    * st accel
    - h3lis331dl support

    Staging driver removals
    * adis16204
    - obsolete part making it hard to get parts to test the driver in order
    to clean it up.
    * adis16220
    - obsolete part making it hard to get the parts test the driver in order
    to clean it up.

    Features
    * core
    - convenience functions to claim / release direct access to the device.
    Makes more consistent handling of this corner easier. Used in ad7192 driver.
    * ak8975
    - power regulator support.
    * at91-sama5d2
    - differential channel support.
    * mma8452
    - runtime pm support
    - drop device specific autosleep and use the runtime pm one instead.
    * ms5611
    - DT bindings
    - oversampling ratio support

    Cleanups and minor fixes
    * MAINTAINERS
    - Peter got married - hence name change!

    * Documentation
    - Fix a typo in in_proximity_raw description.
    - Add some missing docs for iio_buffer_access_funcs.

    * Tools
    - update iio_event_monitor names to match new stuff.
    - make generic_buffer look for triggers ending in -trigger as we let these in
    for a number of drivers a long time back and now it is a fairly common
    option.

    Drivers
    * staging wide
    - convert bare unsigned usage to unsigned int to comply with coding style.
    * non staging wide:
    - since boiler plate gpio handling of interrupts has been moved into the
    ACPI core we don't need to include gpio/consumer.h in a load of drivers so
    drop it.
    * ad7606
    - fix an endian casting sparse warning.
    * ak8975
    - fix a possible unitialized warning from gcc.
    - drop and unused field left over from earlier cleanups
    - fix a missing regulator_disable on exit.
    * at91-sama5d2
    - typo and indentation
    - missing IOMEM dependency.
    - cleanup mode register usage by avoidling erasing whole thing when changing
    the sampling frequency.
    * bmc150
    - use the core demux and available_scan_masks to simplify buffer handling
    - optimize the transfers in the trigger handler now we have a magic function
    to emulate bulk reads (under circumstances met here). This matters with some
    rather dumb i2c adapters in particular.
    - use a single regmap_conf for all bus types as they were all the same.
    * bmg160
    - use the core demux and available_scan_masks to simplify the buffer handling
    - optimize the transfers in the trigger handler now we have a magic funciton
    to emulate bulk rads (under circumstances met here).
    - drop gpio interrupt probing from the driver (ACPI) as now handled by the
    ACPI core.
    * ina2xx-adc
    - update the CALIB register when RShunt changes.
    - fix scale for VShunt - in reality this error canceled out when used.
    * isl29028
    - use regmap to retrieve the struct device instead of carrying a second
    copy of it around.
    * kxcjk-1013
    - use core demux
    - optimize i2c transfers in the trigger handler.
    * mcp4531
    - refactor to use a pointer to access model parameters instead of indexing
    into the array each time.
    * mma8452
    - style fixes
    - avoid swtiching to active whenever the config changes
    - add missin i2c_device_id for mma8451
    * mpu6050
    - fix possible NULL dereference.
    - fix the name / chip_id used when ACPI used (otherwise reports as NULL).
    * ms5611
    - fix a missing regulator_disable that left the regulator on during removal.
    * mxc4005
    - drop gpio interrupt handling for ACPI case from driver as the core now
    handles this case.
    * st-sensors
    - note that there are only ever a maximum of 3 axis on current st-sensors
    so just allocate a fixed sized buffer big enough for that.
    * tpl0102
    - change the i2c_check_functionality condition to bring it inline with other
    IIO users as EOPNOTSUPP.
    * tsl2563
    - replace deprecated flush_scheduled_work

    Greg Kroah-Hartman
     

03 Apr, 2016

3 commits


25 Mar, 2016

2 commits

  • Pull perf fixes from Ingo Molnar:
    "This tree contains various perf fixes on the kernel side, plus three
    hw/event-enablement late additions:

    - Intel Memory Bandwidth Monitoring events and handling
    - the AMD Accumulated Power Mechanism reporting facility
    - more IOMMU events

    ... and a final round of perf tooling updates/fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
    perf llvm: Use strerror_r instead of the thread unsafe strerror one
    perf llvm: Use realpath to canonicalize paths
    perf tools: Unexport some methods unused outside strbuf.c
    perf probe: No need to use formatting strbuf method
    perf help: Use asprintf instead of adhoc equivalents
    perf tools: Remove unused perf_pathdup, xstrdup functions
    perf tools: Do not include stringify.h from the kernel sources
    tools include: Copy linux/stringify.h from the kernel
    tools lib traceevent: Remove redundant CPU output
    perf tools: Remove needless 'extern' from function prototypes
    perf tools: Simplify die() mechanism
    perf tools: Remove unused DIE_IF macro
    perf script: Remove lots of unused arguments
    perf thread: Rename perf_event__preprocess_sample_addr to thread__resolve
    perf machine: Rename perf_event__preprocess_sample to machine__resolve
    perf tools: Add cpumode to struct perf_sample
    perf tests: Forward the perf_sample in the dwarf unwind test
    perf tools: Remove misplaced __maybe_unused
    perf list: Fix documentation of :ppp
    perf bench numa: Fix assertion for nodes bitfield
    ...

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Misc fixes:

    - fix hotplug bugs
    - fix irq live lock
    - fix various topology handling bugs
    - fix APIC ACK ordering
    - fix PV iopl handling
    - fix speling
    - fix/tweak memcpy_mcsafe() return value
    - fix fbcon bug
    - remove stray prototypes"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/msr: Remove unused native_read_tscp()
    x86/apic: Remove declaration of unused hw_nmi_is_cpu_stuck
    x86/oprofile/nmi: Add missing hotplug FROZEN handling
    x86/hpet: Use proper mask to modify hotplug action
    x86/apic/uv: Fix the hotplug notifier
    x86/apb/timer: Use proper mask to modify hotplug action
    x86/topology: Use total_cpus not nr_cpu_ids for logical packages
    x86/topology: Fix Intel HT disable
    x86/topology: Fix logical package mapping
    x86/irq: Cure live lock in fixup_irqs()
    x86/tsc: Prevent NULL pointer deref in calibrate_delay_is_known()
    x86/apic: Fix suspicious RCU usage in smp_trace_call_function_interrupt()
    x86/iopl: Fix iopl capability check on Xen PV
    x86/iopl/64: Properly context-switch IOPL on Xen PV
    selftests/x86: Add an iopl test
    x86/mm, x86/mce: Fix return type/value for memcpy_mcsafe()
    x86/video: Don't assume all FB devices are PCI devices
    arch/x86/irq: Purge useless handler declarations from hw_irq.h
    x86: Fix misspellings in comments

    Linus Torvalds
     

24 Mar, 2016

11 commits

  • …ernel/git/acme/linux into perf/urgent

    Pull perf/core improvements and fixes:

    User visible fixes:

    - Fix documentation of :ppp modifier in 'perf list' (Andi Kleen)

    - Fix silly nodes bitfield bits/bytes length assertion in 'perf bench numa' (Jakub Jelen)

    - Remove redundant CPU output in libtraceevent (Steven Rostedt)

    - Remove 'core_id' check in topology 'perf test' (Sukadev Bhattiprolu)

    Infrastructure changes/fixes:

    - Record text offset in dso to calculate objdump address, to use with
    modules in addition to vDSO symbol address calculations (Wang Nan)

    - Move utilities.mak from perf to tools/scripts/ (Arnaldo Carvalho de Melo)

    - Add cpumode to the perf_sample struct, this way we don't need to pass
    the union event to the machine and thread resolving routines, shortening
    function signatures and allowing the future introduction of a way
    to use tracepoint events instead of the unavailable HW cycles counter on
    powerpc guests in perf kvm by just hooking on perf_evsel__parse_sample,
    at the end (Arnaldo Carvalho de Melo)

    - Remove/unexport die() related infrastructure, that at some point will
    finally be removed (Arnaldo Carvalho de Melo)

    - Adopt linux/stringify.h from the kernel sources, not to touch this
    kernel header from tools/ (Arnaldo Carvalho de Melo)

    - Stop using strbuf for things we can instead trivially use libc's asprintf()
    (Arnaldo Carvalho de Melo)

    - Ditch tools/lib/util/abspath.c, its only exported function was used at just
    one place and can be replaced by libc's realpath() (Arnaldo Carvalho de Melo)

    - Use strerror_r() in the llvm infrastructure, tread safe, its what is used
    elsewhere in tools/perf/ (Arnaldo Carvalho de Melo)

    Cleanups:

    - Removed misplaced or needless __maybe_unused/export (Arnaldo Carvalho de Melo)

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

    Ingo Molnar
     
  • Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-5njrq9dltckgm624omw9ljgu@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • To kill the last user of make_nonrelative_path(), that gets ditched,
    one more panicking function killed.

    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-3hu56rvyh4q5gxogovb6ko8a@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-nq1wvtky4mpu0nupjyar7sbw@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • We have addch() for chars, add() for fixed size data, and addstr() for
    variable length strings, use them.

    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Masami Hiramatsu
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-0ap02fn2xtvpduj2j6b2o1j4@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • That doesn't chekcs malloc return and that, when using strbuf, if it
    can't grow, just explodes away via die().

    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-vr8qsjbwub7e892hpa9msz95@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-s87zi5d03m6rz622y1z6rlsa@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Use instead the copy just made to tools/include/linux/.

    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-q736w12nwy98x5ox2hamp5ow@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • There is code in tools/ that is directly including this file from the
    kernel, and this is verboten for a while, copy it so that the next csets
    can fix this situation.

    Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-e0r3nks2uai020ndghvxv5qw@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Commit a6745330789f ("tools lib traceevent: Split pevent_print_event()
    into specific functionality functions") broke apart the function
    pevent_print_event() into three functions.

    The first function prints the comm, pid and CPU, the second prints the
    timestamp.

    But that commit added the printing of the CPU in the timestamp function,
    which now causes pevent_print_event() to duplicate the CPU output.

    Remove the redundant printing of the record's CPU from the timestamp
    function.

    Signed-off-by: Steven Rostedt
    Cc: Namhyung Kim
    Fixes: a6745330789f ("tools lib traceevent: Split pevent_print_event() into specific functionality functions")
    Link: http://lkml.kernel.org/r/20160323101628.459375d2@gandalf.local.home
    Signed-off-by: Arnaldo Carvalho de Melo

    Steven Rostedt
     
  • Cc: Adrian Hunter
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-w246stf7ponfamclsai6b9zo@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

23 Mar, 2016

8 commits


22 Mar, 2016

2 commits

  • Correctly document what is implemented for :ppp on Intel CPUs in recent
    kernels.

    Signed-off-by: Andi Kleen
    Acked-by: Jiri Olsa
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1458575793-12091-2-git-send-email-andi@firstfloor.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Andi Kleen
     
  • Comparing bits and bytes in numa benchmark assertion

    I hit the issue on two socket Power8 machine presenting its numa nodes
    as 0,1,16,17 (according to numactl). Therefore I got error (and hang of
    parent process):

    perf: bench/numa.c:296: bind_to_memnode: Assertion `!(g->p.nr_nodes > (int)sizeof(nodemask))' failed.

    This is obviously false positive. We can fit all the 18 nodes into
    bitfield of 8 bytes (long on 64b architecture).

    Signed-off-by: Jakub Jelen
    Cc: Alexander Shishkin
    Cc: Jakub Jelen
    Cc: Peter Zijlstra
    Cc: trivial@kernel.org
    Link: http://lkml.kernel.org/r/1458388687-24421-1-git-send-email-jakuje@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jakub Jelen
     

21 Mar, 2016

2 commits

  • Pull 'objtool' stack frame validation from Ingo Molnar:
    "This tree adds a new kernel build-time object file validation feature
    (ONFIG_STACK_VALIDATION=y): kernel stack frame correctness validation.
    It was written by and is maintained by Josh Poimboeuf.

    The motivation: there's a category of hard to find kernel bugs, most
    of them in assembly code (but also occasionally in C code), that
    degrades the quality of kernel stack dumps/backtraces. These bugs are
    hard to detect at the source code level. Such bugs result in
    incorrect/incomplete backtraces most of time - but can also in some
    rare cases result in crashes or other undefined behavior.

    The build time correctness checking is done via the new 'objtool'
    user-space utility that was written for this purpose and which is
    hosted in the kernel repository in tools/objtool/. The tool's (very
    simple) UI and source code design is shaped after Git and perf and
    shares quite a bit of infrastructure with tools/perf (which tooling
    infrastructure sharing effort got merged via perf and is already
    upstream). Objtool follows the well-known kernel coding style.

    Objtool does not try to check .c or .S files, it instead analyzes the
    resulting .o generated machine code from first principles: it decodes
    the instruction stream and interprets it. (Right now objtool supports
    the x86-64 architecture.)

    From tools/objtool/Documentation/stack-validation.txt:

    "The kernel CONFIG_STACK_VALIDATION option enables a host tool named
    objtool which runs at compile time. It has a "check" subcommand
    which analyzes every .o file and ensures the validity of its stack
    metadata. It enforces a set of rules on asm code and C inline
    assembly code so that stack traces can be reliable.

    Currently it only checks frame pointer usage, but there are plans to
    add CFI validation for C files and CFI generation for asm files.

    For each function, it recursively follows all possible code paths
    and validates the correct frame pointer state at each instruction.

    It also follows code paths involving special sections, like
    .altinstructions, __jump_table, and __ex_table, which can add
    alternative execution paths to a given instruction (or set of
    instructions). Similarly, it knows how to follow switch statements,
    for which gcc sometimes uses jump tables."

    When this new kernel option is enabled (it's disabled by default), the
    tool, if it finds any suspicious assembly code pattern, outputs
    warnings in compiler warning format:

    warning: objtool: rtlwifi_rate_mapping()+0x2e7: frame pointer state mismatch
    warning: objtool: cik_tiling_mode_table_init()+0x6ce: call without frame pointer save/setup
    warning: objtool:__schedule()+0x3c0: duplicate frame pointer save
    warning: objtool:__schedule()+0x3fd: sibling call from callable instruction with changed frame pointer

    ... so that scripts that pick up compiler warnings will notice them.
    All known warnings triggered by the tool are fixed by the tree, most
    of the commits in fact prepare the kernel to be warning-free. Most of
    them are bugfixes or cleanups that stand on their own, but there are
    also some annotations of 'special' stack frames for justified cases
    such entries to JIT-ed code (BPF) or really special boot time code.

    There are two other long-term motivations behind this tool as well:

    - To improve the quality and reliability of kernel stack frames, so
    that they can be used for optimized live patching.

    - To create independent infrastructure to check the correctness of
    CFI stack frames at build time. CFI debuginfo is notoriously
    unreliable and we cannot use it in the kernel as-is without extra
    checking done both on the kernel side and on the build side.

    The quality of kernel stack frames matters to debuggability as well,
    so IMO we can merge this without having to consider the live patching
    or CFI debuginfo angle"

    * 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)
    objtool: Only print one warning per function
    objtool: Add several performance improvements
    tools: Copy hashtable.h into tools directory
    objtool: Fix false positive warnings for functions with multiple switch statements
    objtool: Rename some variables and functions
    objtool: Remove superflous INIT_LIST_HEAD
    objtool: Add helper macros for traversing instructions
    objtool: Fix false positive warnings related to sibling calls
    objtool: Compile with debugging symbols
    objtool: Detect infinite recursion
    objtool: Prevent infinite recursion in noreturn detection
    objtool: Detect and warn if libelf is missing and don't break the build
    tools: Support relative directory path for 'O='
    objtool: Support CROSS_COMPILE
    x86/asm/decoder: Use explicitly signed chars
    objtool: Enable stack metadata validation on 64-bit x86
    objtool: Add CONFIG_STACK_VALIDATION option
    objtool: Add tool to perform compile-time stack metadata validation
    x86/kprobes: Mark kretprobe_trampoline() stack frame as non-standard
    sched: Always inline context_switch()
    ...

    Linus Torvalds
     
  • Pull virtio/vhost updates from Michael Tsirkin:
    "New features, performance improvements, cleanups:

    - basic polling support for vhost
    - rework virtio to optionally use DMA API, fixing it on Xen
    - balloon stats gained a new entry
    - using the new napi_alloc_skb speeds up virtio net
    - virtio blk stats can now be read while another VCPU is busy
    inflating or deflating the balloon

    plus misc cleanups in various places"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    virtio_net: replace netdev_alloc_skb_ip_align() with napi_alloc_skb()
    vhost_net: basic polling support
    vhost: introduce vhost_vq_avail_empty()
    vhost: introduce vhost_has_work()
    virtio_balloon: Allow to resize and update the balloon stats in parallel
    virtio_balloon: Use a workqueue instead of "vballoon" kthread
    virtio/s390: size of SET_IND payload
    virtio/s390: use dev_to_virtio
    vhost: rename vhost_init_used()
    vhost: rename cross-endian helpers
    virtio_blk: VIRTIO_BLK_F_WCE->VIRTIO_BLK_F_FLUSH
    vring: Use the DMA API on Xen
    virtio_pci: Use the DMA API if enabled
    virtio_mmio: Use the DMA API if enabled
    virtio: Add improved queue allocation API
    virtio_ring: Support DMA APIs
    vring: Introduce vring_use_dma_api()
    s390/dma: Allow per device dma ops
    alpha/dma: use common noop dma ops
    dma: Provide simple noop dma ops

    Linus Torvalds
     

20 Mar, 2016

3 commits

  • add recently added channel types and modifiers

    Signed-off-by: Peter Meerwald-Stadler
    Signed-off-by: Jonathan Cameron

    Peter Meerwald-Stadler
     
  • Pull powerpc updates from Michael Ellerman:
    "This was delayed a day or two by some build-breakage on old toolchains
    which we've now fixed.

    There's two PCI commits both acked by Bjorn.

    There's one commit to mm/hugepage.c which is (co)authored by Kirill.

    Highlights:
    - Restructure Linux PTE on Book3S/64 to Radix format from Paul
    Mackerras
    - Book3s 64 MMU cleanup in preparation for Radix MMU from Aneesh
    Kumar K.V
    - Add POWER9 cputable entry from Michael Neuling
    - FPU/Altivec/VSX save/restore optimisations from Cyril Bur
    - Add support for new ftrace ABI on ppc64le from Torsten Duwe

    Various cleanups & minor fixes from:
    - Adam Buchbinder, Andrew Donnellan, Balbir Singh, Christophe Leroy,
    Cyril Bur, Luis Henriques, Madhavan Srinivasan, Pan Xinhui, Russell
    Currey, Sukadev Bhattiprolu, Suraj Jitindar Singh.

    General:
    - atomics: Allow architectures to define their own __atomic_op_*
    helpers from Boqun Feng
    - Implement atomic{, 64}_*_return_* variants and acquire/release/
    relaxed variants for (cmp)xchg from Boqun Feng
    - Add powernv_defconfig from Jeremy Kerr
    - Fix BUG_ON() reporting in real mode from Balbir Singh
    - Add xmon command to dump OPAL msglog from Andrew Donnellan
    - Add xmon command to dump process/task similar to ps(1) from Douglas
    Miller
    - Clean up memory hotplug failure paths from David Gibson

    pci/eeh:
    - Redesign SR-IOV on PowerNV to give absolute isolation between VFs
    from Wei Yang.
    - EEH Support for SRIOV VFs from Wei Yang and Gavin Shan.
    - PCI/IOV: Rename and export virtfn_{add, remove} from Wei Yang
    - PCI: Add pcibios_bus_add_device() weak function from Wei Yang
    - MAINTAINERS: Update EEH details and maintainership from Russell
    Currey

    cxl:
    - Support added to the CXL driver for running on both bare-metal and
    hypervisor systems, from Christophe Lombard and Frederic Barrat.
    - Ignore probes for virtual afu pci devices from Vaibhav Jain

    perf:
    - Export Power8 generic and cache events to sysfs from Sukadev
    Bhattiprolu
    - hv-24x7: Fix usage with chip events, display change in counter
    values, display domain indices in sysfs, eliminate domain suffix in
    event names, from Sukadev Bhattiprolu

    Freescale:
    - Updates from Scott: "Highlights include 8xx optimizations, 32-bit
    checksum optimizations, 86xx consolidation, e5500/e6500 cpu
    hotplug, more fman and other dt bits, and minor fixes/cleanup"

    * tag 'powerpc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (179 commits)
    powerpc: Fix unrecoverable SLB miss during restore_math()
    powerpc/8xx: Fix do_mtspr_cpu6() build on older compilers
    powerpc/rcpm: Fix build break when SMP=n
    powerpc/book3e-64: Use hardcoded mttmr opcode
    powerpc/fsl/dts: Add "jedec,spi-nor" flash compatible
    powerpc/T104xRDB: add tdm riser card node to device tree
    powerpc32: PAGE_EXEC required for inittext
    powerpc/mpc85xx: Add pcsphy nodes to FManV3 device tree
    powerpc/mpc85xx: Add MDIO bus muxing support to the board device tree(s)
    powerpc/86xx: Introduce and use common dtsi
    powerpc/86xx: Update device tree
    powerpc/86xx: Move dts files to fsl directory
    powerpc/86xx: Switch to kconfig fragments approach
    powerpc/86xx: Update defconfigs
    powerpc/86xx: Consolidate common platform code
    powerpc32: Remove one insn in mulhdu
    powerpc32: small optimisation in flush_icache_range()
    powerpc: Simplify test in __dma_sync()
    powerpc32: move xxxxx_dcache_range() functions inline
    powerpc32: Remove clear_pages() and define clear_page() inline
    ...

    Linus Torvalds
     
  • Pull networking updates from David Miller:
    "Highlights:

    1) Support more Realtek wireless chips, from Jes Sorenson.

    2) New BPF types for per-cpu hash and arrap maps, from Alexei
    Starovoitov.

    3) Make several TCP sysctls per-namespace, from Nikolay Borisov.

    4) Allow the use of SO_REUSEPORT in order to do per-thread processing
    of incoming TCP/UDP connections. The muxing can be done using a
    BPF program which hashes the incoming packet. From Craig Gallek.

    5) Add a multiplexer for TCP streams, to provide a messaged based
    interface. BPF programs can be used to determine the message
    boundaries. From Tom Herbert.

    6) Add 802.1AE MACSEC support, from Sabrina Dubroca.

    7) Avoid factorial complexity when taking down an inetdev interface
    with lots of configured addresses. We were doing things like
    traversing the entire address less for each address removed, and
    flushing the entire netfilter conntrack table for every address as
    well.

    8) Add and use SKB bulk free infrastructure, from Jesper Brouer.

    9) Allow offloading u32 classifiers to hardware, and implement for
    ixgbe, from John Fastabend.

    10) Allow configuring IRQ coalescing parameters on a per-queue basis,
    from Kan Liang.

    11) Extend ethtool so that larger link mode masks can be supported.
    From David Decotigny.

    12) Introduce devlink, which can be used to configure port link types
    (ethernet vs Infiniband, etc.), port splitting, and switch device
    level attributes as a whole. From Jiri Pirko.

    13) Hardware offload support for flower classifiers, from Amir Vadai.

    14) Add "Local Checksum Offload". Basically, for a tunneled packet
    the checksum of the outer header is 'constant' (because with the
    checksum field filled into the inner protocol header, the payload
    of the outer frame checksums to 'zero'), and we can take advantage
    of that in various ways. From Edward Cree"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1548 commits)
    bonding: fix bond_get_stats()
    net: bcmgenet: fix dma api length mismatch
    net/mlx4_core: Fix backward compatibility on VFs
    phy: mdio-thunder: Fix some Kconfig typos
    lan78xx: add ndo_get_stats64
    lan78xx: handle statistics counter rollover
    RDS: TCP: Remove unused constant
    RDS: TCP: Add sysctl tunables for sndbuf/rcvbuf on rds-tcp socket
    net: smc911x: convert pxa dma to dmaengine
    team: remove duplicate set of flag IFF_MULTICAST
    bonding: remove duplicate set of flag IFF_MULTICAST
    net: fix a comment typo
    ethernet: micrel: fix some error codes
    ip_tunnels, bpf: define IP_TUNNEL_OPTS_MAX and use it
    bpf, dst: add and use dst_tclassid helper
    bpf: make skb->tc_classid also readable
    net: mvneta: bm: clarify dependencies
    cls_bpf: reset class and reuse major in da
    ldmvsw: Checkpatch sunvnet.c and sunvnet_common.c
    ldmvsw: Add ldmvsw.c driver code
    ...

    Linus Torvalds
     

19 Mar, 2016

2 commits

  • Merge second patch-bomb from Andrew Morton:

    - a couple of hotfixes

    - the rest of MM

    - a new timer slack control in procfs

    - a couple of procfs fixes

    - a few misc things

    - some printk tweaks

    - lib/ updates, notably to radix-tree.

    - add my and Nick Piggin's old userspace radix-tree test harness to
    tools/testing/radix-tree/. Matthew said it was a godsend during the
    radix-tree work he did.

    - a few code-size improvements, switching to __always_inline where gcc
    screwed up.

    - partially implement character sets in sscanf

    * emailed patches from Andrew Morton : (118 commits)
    sscanf: implement basic character sets
    lib/bug.c: use common WARN helper
    param: convert some "on"/"off" users to strtobool
    lib: add "on"/"off" support to kstrtobool
    lib: update single-char callers of strtobool()
    lib: move strtobool() to kstrtobool()
    include/linux/unaligned: force inlining of byteswap operations
    include/uapi/linux/byteorder, swab: force inlining of some byteswap operations
    include/asm-generic/atomic-long.h: force inlining of some atomic_long operations
    usb: common: convert to use match_string() helper
    ide: hpt366: convert to use match_string() helper
    ata: hpt366: convert to use match_string() helper
    power: ab8500: convert to use match_string() helper
    power: charger_manager: convert to use match_string() helper
    drm/edid: convert to use match_string() helper
    pinctrl: convert to use match_string() helper
    device property: convert to use match_string() helper
    lib/string: introduce match_string() helper
    radix-tree tests: add test for radix_tree_iter_next
    radix-tree tests: add regression3 test
    ...

    Linus Torvalds
     
  • Store DSO's .text offset into DSO, used for VDSOs and will also be used for
    other needs, like handling kernel modules.

    Signed-off-by: Wang Nan
    Cc: Adrian Hunter
    Cc: Alexei Starovoitov
    Cc: Cody P Schafer
    Cc: He Kuang
    Cc: Jiri Olsa
    Cc: Kirill Smelkov
    Cc: Li Zefan
    Cc: Masami Hiramatsu
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1456479154-136027-2-git-send-email-wangnan0@huawei.com
    [ Extracted from larger patch ]
    Signed-off-by: Arnaldo Carvalho de Melo

    Wang Nan