10 Sep, 2013

2 commits

  • Ensure the id_pos is correct when perf_evlist__open() is used.

    This fixes a problem introduced in 7556257 that broke 'perf kvm stat
    live' in that this tool wasn't updated to use the sample_type bits
    setting helpers.

    Signed-off-by: Adrian Hunter
    Tested-by: David Ahern
    Acked-by: David Ahern
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1378496412-2424-2-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     
  • Before:

    perf trace -i perf.data
    Segmentation fault (core dumped)
    #

    After:

    # perf trace -i perf.data
    Data file does not have raw_syscalls:sys_enter events
    #

    When there are no tracepoints in a perf.data file the struct pevent
    that contains the list of tracepoints that will be used to lookup the
    tracepoint id by name will not be populated, causing a NULL deref.

    And we don't need to do all that dance to look at pevents for an entry
    with a slighly different name to then lookup the tracepoint by its id on
    the evlist, just use the perf_evlist__find_tracepoint_by_name() routine,
    that will find the tracepoint, if present.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-egcm21k1e6gcyxpcgjxtmsq3@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

06 Sep, 2013

7 commits

  • …it/acme/linux into perf/urgent

    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

    * Fix parsing with no sample_id_all bit set, this regression prevents perf
    from reading old perf.data files generated in systems where
    perf_event_attr.sample_id_all isn't available, from Adrian Hunter.

    * Add signal checking to the inner 'perf trace' event processing loop, allowing
    faster response to control+C.

    * Fix formatting of long symbol names removing the hardcoding of a buffer
    size used to format histogram entries, which was truncating the lines.

    * Separate progress bar update when processing events, reducing potentially big
    overhead in not needed TUI progress bar screen updates, from Jiri Olsa.

    * Fix 'perf trace' build in architectures where MAP_32BIT is not defined, from
    Kyle McMartin.

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

    Ingo Molnar
     
  • Currently when processing events in the __perf_session__process_events
    function we update a progress bar based on the file_size. During the
    same processing we update the progress bar from within
    flush_sample_queue which is based on number of samples count.

    Having 2 different based updates is causing the progress bar to jump
    heavily back and forth giving not much usefull info.

    Fixing this by keeping only __perf_session__process_events based
    progress bar update. And turning on flush_sample_queue progress bar
    update only for final flushing.

    This reduces the number of time the progress bar update function is
    called and it significantly reduces the loading time for TUI, where the
    progress bar update takes quite a lot of time.

    Signed-off-by: Jiri Olsa
    Cc: Corey Ashford
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20130905091449.GC1100@krava.brq.redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     
  • MAP_32BIT is defined only on x86... this means perf fails to build on
    all other platforms.

    Signed-off-by: Kyle McMartin
    Cc: Ingo Molnar
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/20130905142947.GA25882@merlin.infradead.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Kyle McMartin
     
  • We had a hardcoded buffer for formatting histogram entries, truncating
    long symbol names (C++ anyone?).

    Fix it by using hists__sort_list_width() before formatting the first
    histogram entry to calculate the max lenght needed by traversing the
    overheads and columns lists (sort order).

    Reported-by: Stephane Eranian
    Tested-by: Stephane Eranian
    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-vdfkkyfdp8rboh7j9344o3ss@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • The perf_evlist__event2evsel() is changed to handle non-sample events
    (such as mmap events) that have no id sample appended i.e. when
    sample_id_all is not set.

    Note that such events have a fixed format, so that the selected event
    (evsel) they are associated with is immaterial.

    Signed-off-by: Adrian Hunter
    Tested-by: David Ahern
    Acked-by: David Ahern
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1378325897-3840-3-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     
  • Add a test for parsing a non-sample event when there is more than one
    selected event but no sample_id_all bit set.

    The test fails because of a bug in the evlist logic. That is fixed in a
    separate patch.

    Signed-off-by: Adrian Hunter
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1378325897-3840-2-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     
  • We were checking for it only after processing all events in the buffer,
    delaying processing the termination request for long periods.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-9jdbu937curvb35cfzbyss4g@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

05 Sep, 2013

11 commits

  • Pull x86 spinlock changes from Ingo Molnar:
    "The biggest change here are paravirtualized ticket spinlocks (PV
    spinlocks), which bring a nice speedup on various benchmarks.

    The KVM host side will come to you via the KVM tree"

    * 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/kvm/guest: Fix sparse warning: "symbol 'klock_waiting' was not declared as static"
    kvm: Paravirtual ticketlocks support for linux guests running on KVM hypervisor
    kvm guest: Add configuration support to enable debug information for KVM Guests
    kvm uapi: Add KICK_CPU and PV_UNHALT definition to uapi
    xen, pvticketlock: Allow interrupts to be enabled while blocking
    x86, ticketlock: Add slowpath logic
    jump_label: Split jumplabel ratelimit
    x86, pvticketlock: When paravirtualizing ticket locks, increment by 2
    x86, pvticketlock: Use callee-save for lock_spinning
    xen, pvticketlocks: Add xen_nopvspin parameter to disable xen pv ticketlocks
    xen, pvticketlock: Xen implementation for PV ticket locks
    xen: Defer spinlock setup until boot CPU setup
    x86, ticketlock: Collapse a layer of functions
    x86, ticketlock: Don't inline _spin_unlock when using paravirt spinlocks
    x86, spinlock: Replace pv spinlocks with pv ticketlocks

    Linus Torvalds
     
  • Pull x86 SMAP fixes from Ingo Molnar:
    "Fixes for Intel SMAP support, to fix SIGSEGVs during bootup"

    * 'x86-smap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP
    x86, smap: Handle csum_partial_copy_*_user()

    Linus Torvalds
     
  • Pull x86 RAS changes from Ingo Molnar:
    "[ The reason for drivers/ updates is that Boris asked for the
    drivers/edac/ changes to go via x86/ras in this cycle ]

    Main changes:

    - AMD CPUs:
    . Add ECC event decoding support for new F15h models
    . Various erratum fixes
    . Fix single-channel on dual-channel-controllers bug.

    - Intel CPUs:
    . UC uncorrectable memory error parsing fix
    . Add support for CMC (Corrected Machine Check) 'FF' (Firmware
    First) flag in the APEI HEST

    - Various cleanups and fixes"

    * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    amd64_edac: Fix incorrect wraparounds
    amd64_edac: Correct erratum 505 range
    cpc925_edac: Use proper array termination
    x86/mce, acpi/apei: Only disable banks listed in HEST if mce is configured
    amd64_edac: Get rid of boot_cpu_data accesses
    amd64_edac: Add ECC decoding support for newer F15h models
    x86, amd_nb: Clarify F15h, model 30h GART and L3 support
    pci_ids: Add PCI device ID functions 3 and 4 for newer F15h models.
    x38_edac: Make a local function static
    i3200_edac: Make a local function static
    x86/mce: Pay no attention to 'F' bit in MCACOD when parsing 'UC' errors
    APEI/ERST: Fix error message formatting
    amd64_edac: Fix single-channel setups
    EDAC: Replace strict_strtol() with kstrtol()
    mce: acpi/apei: Soft-offline a page on firmware GHES notification
    mce: acpi/apei: Add a boot option to disable ff mode for corrected errors
    mce: acpi/apei: Honour Firmware First for MCA banks listed in APEI HEST CMC

    Linus Torvalds
     
  • Pull x86 platform documentation fix from Ingo Molnar.

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/acpi: Correct out-of-date comment of __acpi_map_table()

    Linus Torvalds
     
  • Pull x86 paravirt changes from Ingo Molnar:
    "Hypervisor signature detection cleanup and fixes - the goal is to make
    KVM guests run better on MS/Hyperv and to generalize and factor out
    the code a bit"

    * 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Correctly detect hypervisor
    x86, kvm: Switch to use hypervisor_cpuid_base()
    xen: Switch to use hypervisor_cpuid_base()
    x86: Introduce hypervisor_cpuid_base()

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

    - a parse_setup_data() boot crash fix

    - a memblock and an __early_ioremap cleanup

    - turn the always-on CONFIG_ARCH_MEMORY_PROBE=y into a configurable
    option and turn it off - it's an unrobust debug facility, it
    shouldn't be enabled by default"

    * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: avoid remapping data in parse_setup_data()
    x86: Use memblock_set_current_limit() to set limit for memblock.
    mm: Remove unused variable idx0 in __early_ioremap()
    mm/hotplug, x86: Disable ARCH_MEMORY_PROBE by default

    Linus Torvalds
     
  • Pull x86 relocation changes from Ingo Molnar:
    "This tree contains a single change, ELF relocation handling in C - one
    of the kernel randomization patches that makes sense even without
    randomization present upstream"

    * 'x86-kaslr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, relocs: Move ELF relocation handling to C

    Linus Torvalds
     
  • Pull timers/nohz changes from Ingo Molnar:
    "It mostly contains fixes and full dynticks off-case optimizations, by
    Frederic Weisbecker"

    * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
    nohz: Include local CPU in full dynticks global kick
    nohz: Optimize full dynticks's sched hooks with static keys
    nohz: Optimize full dynticks state checks with static keys
    nohz: Rename a few state variables
    vtime: Always debug check snapshot source _before_ updating it
    vtime: Always scale generic vtime accounting results
    vtime: Optimize full dynticks accounting off case with static keys
    vtime: Describe overriden functions in dedicated arch headers
    m68k: hardirq_count() only need preempt_mask.h
    hardirq: Split preempt count mask definitions
    context_tracking: Split low level state headers
    vtime: Fix racy cputime delta update
    vtime: Remove a few unneeded generic vtime state checks
    context_tracking: User/kernel broundary cross trace events
    context_tracking: Optimize context switch off case with static keys
    context_tracking: Optimize guest APIs off case with static key
    context_tracking: Optimize main APIs off case with static key
    context_tracking: Ground setup for static key use
    context_tracking: Remove full dynticks' hacky dependency on wide context tracking
    nohz: Only enable context tracking on full dynticks CPUs
    ...

    Linus Torvalds
     
  • Pull x86 fb changes from Ingo Molnar:
    "This tree includes preparatory patches for SimpleDRM driver support,
    by David Herrmann. They clean up x86 framebuffer support by creating
    simplefb devices wherever possible. More background can be found at

    http://lwn.net/Articles/558104/"

    * 'x86-fb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    fbdev: fbcon: select VT_HW_CONSOLE_BINDING
    fbdev: efifb: bind to efi-framebuffer
    fbdev: vesafb: bind to platform-framebuffer device
    fbdev: simplefb: add common x86 RGB formats
    x86: sysfb: move EFI quirks from efifb to sysfb
    x86: provide platform-devices for boot-framebuffers
    fbdev: simplefb: mark as fw and allocate apertures
    fbdev: simplefb: add init through platform_data

    Linus Torvalds
     
  • Pull x86 cpu feature fixes from Ingo Molnar:
    "Two small cpufeature support updates"

    * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Fix override new_cpu_data.x86 with 486
    x86, cpufeature: Use new CC_HAVE_ASM_GOTO

    Linus Torvalds
     
  • …rnel.org/pub/scm/linux/kernel/git/tip/tip

    Pull tiny x86 boot cleanups from Ingo Molnar.

    * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/boot: Fix a sanity check in printf.c

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, boot: Fix warning due to undeclared strlen()

    Linus Torvalds
     

04 Sep, 2013

20 commits

  • Pull x86/asmlinkage changes from Ingo Molnar:
    "As a preparation for Andi Kleen's LTO patchset (link time
    optimizations using GCC's -flto which build time optimization has
    steadily increased in quality over the past few years and might
    eventually be usable for the kernel too) this tree includes a handful
    of preparatory patches that make function calling convention
    annotations consistent again:

    - Mark every function without arguments (or 64bit only) that is used
    by assembly code with asmlinkage()

    - Mark every function with parameters or variables that is used by
    assembly code as __visible.

    For the vanilla kernel this has documentation, consistency and
    debuggability advantages, for the time being"

    * 'x86-asmlinkage-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/asmlinkage: Fix warning in xen asmlinkage change
    x86, asmlinkage, vdso: Mark vdso variables __visible
    x86, asmlinkage, power: Make various symbols used by the suspend asm code visible
    x86, asmlinkage: Make dump_stack visible
    x86, asmlinkage: Make 64bit checksum functions visible
    x86, asmlinkage, paravirt: Add __visible/asmlinkage to xen paravirt ops
    x86, asmlinkage, apm: Make APM data structure used from assembler visible
    x86, asmlinkage: Make syscall tables visible
    x86, asmlinkage: Make several variables used from assembler/linker script visible
    x86, asmlinkage: Make kprobes code visible and fix assembler code
    x86, asmlinkage: Make various syscalls asmlinkage
    x86, asmlinkage: Make 32bit/64bit __switch_to visible
    x86, asmlinkage: Make _*_start_kernel visible
    x86, asmlinkage: Make all interrupt handlers asmlinkage / __visible
    x86, asmlinkage: Change dotraplinkage into __visible on 32bit
    x86: Fix sys_call_table type in asm/syscall.h

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

    - Apply low level mutex optimization on x86-64, by Wedson Almeida
    Filho.

    - Change bitops to be naturally 'long', by H Peter Anvin.

    - Add TSX-NI opcodes support to the x86 (instrumentation) decoder, by
    Masami Hiramatsu.

    - Add clang compatibility adjustments/workarounds, by Jan-Simon
    Möller"

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, doc: Update uaccess.h comment to reflect clang changes
    x86, asm: Fix a compilation issue with clang
    x86, asm: Extend definitions of _ASM_* with a raw format
    x86, insn: Add new opcodes as of June, 2013
    x86/ia32/asm: Remove unused argument in macro
    x86, bitops: Change bitops to be native operand size
    x86: Use asm-goto to implement mutex fast path on x86-64

    Linus Torvalds
     
  • Pull x86/apic changes from Ingo Molnar:
    "Smaller fixes"

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/ioapic: Check attr against the previous setting when programmed more than once
    x86/ioapic/kcrash: Prevent crash_kexec() from deadlocking on ioapic_lock
    x86/acpi: Fix incorrect sanity check in acpi_register_lapic()

    Linus Torvalds
     
  • Pull timer changes from Ingo Molnar:
    "Various clocksource driver updates: extend the core with memory mapped
    hardware (mmio) support and add new (ARM) Moxart SoC and sun4i
    hardware support"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    clocksource: arch_timer: Add support for memory mapped timers
    clocksource: arch_timer: Push the read/write wrappers deeper
    Documentation: Add memory mapped ARM architected timer binding
    clocksource: arch_timer: Pass clock event to set_mode callback
    clocksource: arch_timer: Make register accessors less error-prone
    ARM: clocksource: moxart: documentation: Update device tree bindings document
    ARM: clocksource: moxart: Add bitops.h include
    ARM: clocksource: moxart: documentation: Fix device tree bindings document
    ARM: clocksource: Add support for MOXA ART SoCs
    clocksource: cadence_ttc: Reuse clocksource as sched_clock
    clocksource: cadence_ttc: Remove unused header
    clocksource: sun4i: Fix bug when switching from periodic to oneshot modes
    clocksource: sun4i: Cleanup parent clock setup
    clocksource: sun4i: Remove TIMER_SCAL variable
    clocksource: sun4i: Factor out some timer code
    clocksource: sun4i: Fix the next event code
    clocksource: sun4i: Don't forget to enable the clock we use
    clocksource: sun4i: Add clocksource and sched clock drivers
    clocksource: sun4i: rename AUTORELOAD define to RELOAD
    clocksource: sun4i: Wrap macros arguments in parenthesis
    ...

    Linus Torvalds
     
  • Pull scheduler changes from Ingo Molnar:
    "Various optimizations, cleanups and smaller fixes - no major changes
    in scheduler behavior"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/fair: Fix the sd_parent_degenerate() code
    sched/fair: Rework and comment the group_imb code
    sched/fair: Optimize find_busiest_queue()
    sched/fair: Make group power more consistent
    sched/fair: Remove duplicate load_per_task computations
    sched/fair: Shrink sg_lb_stats and play memset games
    sched: Clean-up struct sd_lb_stat
    sched: Factor out code to should_we_balance()
    sched: Remove one division operation in find_busiest_queue()
    sched/cputime: Use this_cpu_add() in task_group_account_field()
    cpumask: Fix cpumask leak in partition_sched_domains()
    sched/x86: Optimize switch_mm() for multi-threaded workloads
    generic-ipi: Kill unnecessary variable - csd_flags
    numa: Mark __node_set() as __always_inline
    sched/fair: Cleanup: remove duplicate variable declaration
    sched/__wake_up_sync_key(): Fix nr_exclusive tasks which lead to WF_SYNC clearing

    Linus Torvalds
     
  • …rnel.org/pub/scm/linux/kernel/git/tip/tip

    Pull perf changes from Ingo Molnar:
    "As a first remark I'd like to point out that the obsolete '-f'
    (--force) option, which has not done anything for several releases,
    has been removed from 'perf record' and related utilities. Everyone
    please update muscle memory accordingly! :-)

    Main changes on the perf kernel side:

    - Performance optimizations:
    . for trace events, by Steve Rostedt.
    . for time values, by Peter Zijlstra

    - New hardware support:
    . for Intel Silvermont (22nm Atom) CPUs, by Zheng Yan
    . for Intel SNB-EP uncore PMUs, by Zheng Yan

    - Enhanced hardware support:
    . for Intel uncore PMUs: add filter support for QPI boxes, by Zheng Yan

    - Core perf events code enhancements and fixes:
    . for full-nohz feature handling, by Frederic Weisbecker
    . for group events, by Jiri Olsa
    . for call chains, by Frederic Weisbecker
    . for event stream parsing, by Adrian Hunter

    - New ABI details:
    . Add attr->mmap2 attribute, by Stephane Eranian
    . Add PERF_EVENT_IOC_ID ioctl to return event ID, by Jiri Olsa
    . Export u64 time_zero on the mmap header page to allow TSC
    calculation, by Adrian Hunter
    . Add dummy software event, by Adrian Hunter.
    . Add a new PERF_SAMPLE_IDENTIFIER to make samples always
    parseable, by Adrian Hunter.
    . Make Power7 events available via sysfs, by Runzhen Wang.

    - Code cleanups and refactorings:
    . for nohz-full, by Frederic Weisbecker
    . for group events, by Jiri Olsa

    - Documentation updates:
    . for perf_event_type, by Peter Zijlstra

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

    - Lots of 'perf trace' enhancements:

    . Make 'perf trace' command line arguments consistent with
    'perf record', by David Ahern.

    . Allow specifying syscalls a la strace, by Arnaldo Carvalho de Melo.

    . Add --verbose and -o/--output options, by Arnaldo Carvalho de Melo.

    . Support ! in -e expressions, to filter a list of syscalls,
    by Arnaldo Carvalho de Melo.

    . Arg formatting improvements to allow masking arguments in
    syscalls such as futex and open, where the some arguments are
    ignored and thus should not be printed depending on other args,
    by Arnaldo Carvalho de Melo.

    . Beautify futex open, openat, open_by_handle_at, lseek and futex
    syscalls, by Arnaldo Carvalho de Melo.

    . Add option to analyze events in a file versus live, so that
    one can do:

    [root@zoo ~]# perf record -a -e raw_syscalls:* sleep 1
    [ perf record: Woken up 0 times to write data ]
    [ perf record: Captured and wrote 25.150 MB perf.data (~1098836 samples) ]
    [root@zoo ~]# perf trace -i perf.data -e futex --duration 1
    17.799 ( 1.020 ms): 7127 futex(uaddr: 0x7fff3f6c6674, op: 393, val: 1, utime: 0x7fff3f6c6470, ua
    113.344 (95.429 ms): 7127 futex(uaddr: 0x7fff3f6c6674, op: 393, val: 1, utime: 0x7fff3f6c6470, uaddr2: 0x7fff3f6c6648, val3: 4294967
    133.778 ( 1.042 ms): 18004 futex(uaddr: 0x7fff3f6c6674, op: 393, val: 1, utime: 0x7fff3f6c6470, uaddr2: 0x7fff3f6c6648, val3: 429496
    [root@zoo ~]#

    By David Ahern.

    . Honor target pid / tid options when analyzing a file, by David Ahern.

    . Introduce better formatting of syscall arguments, including so
    far beautifiers for mmap, madvise, syscall return values,
    by Arnaldo Carvalho de Melo.

    . Handle HUGEPAGE defines in the mmap beautifier, by David Ahern.

    - 'perf report/top' enhancements:

    . Do annotation using /proc/kcore and /proc/kallsyms when
    available, removing the forced need for a vmlinux file kernel
    assembly annotation. This also improves this use case because
    vmlinux has just the initial kernel image, not what is actually
    in use after various code patchings by things like alternatives.
    By Adrian Hunter.

    . Add --ignore-callees=<regex> option to collapse undesired parts
    of call graphs, by Greg Price.

    . Simplify symbol filtering by doing it at machine class level,
    by Adrian Hunter.

    . Add support for callchains in the gtk UI, by Namhyung Kim.

    . Add --objdump option to 'perf top', by Sukadev Bhattiprolu.

    - 'perf kvm' enhancements:

    . Add option to print only events that exceed a specified time
    duration, by David Ahern.

    . Improve stack trace printing, by David Ahern.

    . Update documentation of the live command, by David Ahern

    . Add perf kvm stat live mode that combines aspects of 'perf kvm
    stat' record and report, by David Ahern.

    . Add option to analyze specific VM in perf kvm stat report, by
    David Ahern.

    . Do not require /lib/modules/* on a guest, by Jason Wessel.

    - 'perf script' enhancements:

    . Fix symbol offset computation for some dsos, by David Ahern.

    . Fix named threads support, by David Ahern.

    . Don't install scripting files files when perl/python support
    is disabled, by Arnaldo Carvalho de Melo.

    - 'perf test' enhancements:

    . Add various improvements and fixes to the "vmlinux matches
    kallsyms" 'perf test' entry, related to the /proc/kcore
    annotation feature. By Adrian Hunter.

    . Add sample parsing test, by Adrian Hunter.

    . Add test for reading object code, by Adrian Hunter.

    . Add attr record group sampling test, by Jiri Olsa.

    . Misc testing infrastructure improvements and other details,
    by Jiri Olsa.

    - 'perf list' enhancements:

    . Skip unsupported hardware events, by Namhyung Kim.

    . List pmu events, by Andi Kleen.

    - 'perf diff' enhancements:

    . Add support for more than two files comparison, by Jiri Olsa.

    - 'perf sched' enhancements:

    . Various improvements, including removing reliance on some
    scheduler tracepoints that provide the same information as the
    PERF_RECORD_{FORK,EXIT} events. By David Ahern.

    . Remove odd build stall by moving a large struct initialization
    from a local variable to a global one, by Namhyung Kim.

    - 'perf stat' enhancements:

    . Add --initial-delay option to skip measuring for a defined
    startup phase, by Andi Kleen.

    - Generic perf tooling infrastructure/plumbing changes:

    . Tidy up sample parsing validation, by Adrian Hunter.

    . Fix up jobserver setup in libtraceevent Makefile.
    by Arnaldo Carvalho de Melo.

    . Debug improvements, by Adrian Hunter.

    . Fix correlation of samples coming after PERF_RECORD_EXIT event,
    by David Ahern.

    . Improve robustness of the topology parsing code,
    by Stephane Eranian.

    . Add group leader sampling, that allows just one event in a group
    to sample while the other events have just its values read,
    by Jiri Olsa.

    . Add support for a new modifier "D", which requests that the
    event, or group of events, be pinned to the PMU.
    By Michael Ellerman.

    . Support callchain sorting based on addresses, by Andi Kleen

    . Prep work for multi perf data file storage, by Jiri Olsa.

    . libtraceevent cleanups, by Namhyung Kim.

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

    [ Also merge a leftover from the 3.11 cycle ]

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf: Prevent race in unthrottling code

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (237 commits)
    perf trace: Tell arg formatters the arg index
    perf trace: Add beautifier for open's flags arg
    perf trace: Add beautifier for lseek's whence arg
    perf tools: Fix symbol offset computation for some dsos
    perf list: Skip unsupported events
    perf tests: Add 'keep tracking' test
    perf tools: Add support for PERF_COUNT_SW_DUMMY
    perf: Add a dummy software event to keep tracking
    perf trace: Add beautifier for futex 'operation' parm
    perf trace: Allow syscall arg formatters to mask args
    perf: Convert kmalloc_node(...GFP_ZERO...) to kzalloc_node()
    perf: Export struct perf_branch_entry to userspace
    perf: Add attr->mmap2 attribute to an event
    perf/x86: Add Silvermont (22nm Atom) support
    perf/x86: use INTEL_UEVENT_EXTRA_REG to define MSR_OFFCORE_RSP_X
    perf trace: Handle missing HUGEPAGE defines
    perf trace: Honor target pid / tid options when analyzing a file
    perf trace: Add option to analyze events in a file versus live
    perf evlist: Add tracepoint lookup by name
    perf tests: Add a sample parsing test
    ...

    Linus Torvalds
     
  • Pull core/locking changes from Ingo Molnar:
    "Main changes:

    - another mutex optimization, from Davidlohr Bueso

    - improved lglock lockdep tracking, from Michel Lespinasse

    - [ assorted smaller updates, improvements, cleanups. ]"

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    generic-ipi/locking: Fix misleading smp_call_function_any() description
    hung_task debugging: Print more info when reporting the problem
    mutex: Avoid label warning when !CONFIG_MUTEX_SPIN_ON_OWNER
    mutex: Do not unnecessarily deal with waiters
    mutex: Fix/document access-once assumption in mutex_can_spin_on_owner()
    lglock: Update lockdep annotations to report recursive local locks
    lockdep: Introduce lock_acquire_exclusive()/shared() helper macros

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "Main RCU changes this cycle were:

    - Full-system idle detection. This is for use by Frederic
    Weisbecker's adaptive-ticks mechanism. Its purpose is to allow the
    timekeeping CPU to shut off its tick when all other CPUs are idle.

    - Miscellaneous fixes.

    - Improved rcutorture test coverage.

    - Updated RCU documentation"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
    nohz_full: Force RCU's grace-period kthreads onto timekeeping CPU
    nohz_full: Add full-system-idle state machine
    jiffies: Avoid undefined behavior from signed overflow
    rcu: Simplify _rcu_barrier() processing
    rcu: Make rcutorture emit online failures if verbose
    rcu: Remove unused variable from rcu_torture_writer()
    rcu: Sort rcutorture module parameters
    rcu: Increase rcutorture test coverage
    rcu: Add duplicate-callback tests to rcutorture
    doc: Fix memory-barrier control-dependency example
    rcu: Update RTFP documentation
    nohz_full: Add full-system-idle arguments to API
    nohz_full: Add full-system idle states and variables
    nohz_full: Add per-CPU idle-state tracking
    nohz_full: Add rcu_dyntick data for scalable detection of all-idle state
    nohz_full: Add Kconfig parameter for scalable detection of all-idle state
    nohz_full: Add testing information to documentation
    rcu: Eliminate unused APIs intended for adaptive ticks
    rcu: Select IRQ_WORK from TREE_PREEMPT_RCU
    rculist: list_first_or_null_rcu() should use list_entry_rcu()
    ...

    Linus Torvalds
     
  • Pull pwm changes from Thierry Reding:
    "A set of patches makes the device tree documentation for the various
    PWM drivers more consistent. Device tree support is added to the
    Renesas TPU driver. The sysfs interface now makes use of dev_groups.
    Other than that there is a healthy assortment of fixes and
    enhancements for minor issues that have shown up"

    * tag 'for-3.12-rc1' of git://gitorious.org/linux-pwm/linux-pwm:
    pwm: pxa: Use module_platform_driver
    pwm: tiehrpwm: add missing __iomem annotation
    pwm: tiecap: add CONFIG_PM_SLEEP to ecap_pwm_{save,restore}_context()
    pwm: simplify use of devm_ioremap_resource
    pwm: renesas-tpu: Add DT support
    ARM: dts: Use the PWM polarity flags
    pwm: Update DT bindings to reference pwm.txt for cells documentation
    pwm: Use the DT macro directly when parsing PWM DT flags
    pwm: Add PWM polarity flag macro for DT
    pwm: mxs: Check the return value from stmp_reset_block()
    pwm: convert class code to use dev_groups

    Linus Torvalds
     
  • Pull pstore changes from Tony Luck:
    "A big part of this is the addition of compression to the generic
    pstore layer so that all backends can use the pitiful amounts of
    storage they control more effectively. Three other small
    fixes/cleanups too.

    * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    pstore/ram: (really) fix undefined usage of rounddown_pow_of_two
    pstore/ram: Read and write to the 'compressed' flag of pstore
    efi-pstore: Read and write to the 'compressed' flag of pstore
    erst: Read and write to the 'compressed' flag of pstore
    powerpc/pseries: Read and write to the 'compressed' flag of pstore
    pstore: Add file extension to pstore file if compressed
    pstore: Add decompression support to pstore
    pstore: Introduce new argument 'compressed' in the read callback
    pstore: Add compression support to pstore
    pstore/Kconfig: Select ZLIB_DEFLATE and ZLIB_INFLATE when PSTORE is selected
    pstore: Add new argument 'compressed' in pstore write callback
    powerpc/pseries: Remove (de)compression in nvram with pstore enabled
    pstore: d_alloc_name() doesn't return an ERR_PTR
    acpi/apei/erst: Add missing iounmap() on error in erst_exec_move_data()

    Linus Torvalds
     
  • Pull cgroup updates from Tejun Heo:
    "A lot of activities on the cgroup front. Most changes aren't visible
    to userland at all at this point and are laying foundation for the
    planned unified hierarchy.

    - The biggest change is decoupling the lifetime management of css
    (cgroup_subsys_state) from that of cgroup's. Because controllers
    (cpu, memory, block and so on) will need to be dynamically enabled
    and disabled, css which is the association point between a cgroup
    and a controller may come and go dynamically across the lifetime of
    a cgroup. Till now, css's were created when the associated cgroup
    was created and stayed till the cgroup got destroyed.

    Assumptions around this tight coupling permeated through cgroup
    core and controllers. These assumptions are gradually removed,
    which consists bulk of patches, and css destruction path is
    completely decoupled from cgroup destruction path. Note that
    decoupling of creation path is relatively easy on top of these
    changes and the patchset is pending for the next window.

    - cgroup has its own event mechanism cgroup.event_control, which is
    only used by memcg. It is overly complex trying to achieve high
    flexibility whose benefits seem dubious at best. Going forward,
    new events will simply generate file modified event and the
    existing mechanism is being made specific to memcg. This pull
    request contains prepatory patches for such change.

    - Various fixes and cleanups"

    Fixed up conflict in kernel/cgroup.c as per Tejun.

    * 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (69 commits)
    cgroup: fix cgroup_css() invocation in css_from_id()
    cgroup: make cgroup_write_event_control() use css_from_dir() instead of __d_cgrp()
    cgroup: make cgroup_event hold onto cgroup_subsys_state instead of cgroup
    cgroup: implement CFTYPE_NO_PREFIX
    cgroup: make cgroup_css() take cgroup_subsys * instead and allow NULL subsys
    cgroup: rename cgroup_css_from_dir() to css_from_dir() and update its syntax
    cgroup: fix cgroup_write_event_control()
    cgroup: fix subsystem file accesses on the root cgroup
    cgroup: change cgroup_from_id() to css_from_id()
    cgroup: use css_get() in cgroup_create() to check CSS_ROOT
    cpuset: remove an unncessary forward declaration
    cgroup: RCU protect each cgroup_subsys_state release
    cgroup: move subsys file removal to kill_css()
    cgroup: factor out kill_css()
    cgroup: decouple cgroup_subsys_state destruction from cgroup destruction
    cgroup: replace cgroup->css_kill_cnt with ->nr_css
    cgroup: bounce cgroup_subsys_state ref kill confirmation to a work item
    cgroup: move cgroup->subsys[] assignment to online_css()
    cgroup: reorganize css init / exit paths
    cgroup: add __rcu modifier to cgroup->subsys[]
    ...

    Linus Torvalds
     
  • Pull libata changes from Tejun Heo:
    "Two interesting changes.

    - libata acpi handling has been restructured so that the association
    between ata devices and ACPI handles are less convoluted. This
    change shouldn't change visible behavior.

    - Queued TRIM support, which enables sending TRIM to the device
    without draining in-flight RW commands, is added. Currently only
    enabled for ahci (and likely to stay that way for the foreseeable
    future).

    Other changes are driver-specific updates / fixes"

    * 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
    libata: bugfix: Remove __le32 in ata_tf_to_fis()
    libata: acpi: Remove ata_dev_acpi_handle stub in libata.h
    libata: Add support for queued DSM TRIM
    libata: Add support for SEND/RECEIVE FPDMA QUEUED
    libata: Add H2D FIS "auxiliary" port flag
    libata: Populate host-to-device FIS "auxiliary" field
    ata: acpi: rework the ata acpi bind support
    sata, highbank: send extra clock cycles in SGPIO patterns
    sata, highbank: set tx_atten override bits
    devicetree: create a separate binding description for sata_highbank
    drivers/ata/sata_rcar.c: simplify use of devm_ioremap_resource
    sata highbank: enable 64-bit DMA mask when using LPAE
    ata: pata_samsung_cf: add missing __iomem annotation
    ata: pata_arasan: Staticize local symbols
    sata_mv: Remove unneeded CONFIG_HAVE_CLK ifdefs
    ata: use dev_get_platdata()
    sata_mv: Remove unneeded forward declaration
    libata: acpi: remove dead code for ata_acpi_(un)bind
    libata: move 'struct ata_taskfile' and friends from ata.h to libata.h

    Linus Torvalds
     
  • Pull workqueue updates from Tejun Heo:
    "Nothing interesting. All are doc / comment updates"

    * 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    workqueue: Correct/Drop references to gcwq in Documentation
    workqueue: Fix manage_workers() RETURNS description
    workqueue: Comment correction in file header
    workqueue: mark WQ_NON_REENTRANT deprecated

    Linus Torvalds
     
  • Pull single percpu update from Tejun Heo:
    "Just a single patch to update type verification macro for percpu
    accessors.

    Christoph is trying to replace __get_cpu_var() with this_cpu accessors
    which needs this update. There are still some issues to be resolved
    but eventually the conversion patches are likely to be routed through
    different trees, so I think it'd be convenient to merge this commit
    early"

    * 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu: Make __verify_pcu_ptr handle per cpu pointers to arrays

    Linus Torvalds
     
  • Pull PCI changes from Bjorn Helgaas:

    PCI device hotplug:
    - Use PCIe native hotplug, not ACPI hotplug, when possible (Neil Horman)
    - Assign resources on per-host bridge basis (Yinghai Lu)

    MPS (Max Payload Size):
    - Allow larger MPS settings below hotplug-capable Root Port (Yijing Wang)
    - Add warnings about unsafe MPS settings (Yijing Wang)
    - Simplify interface and messages (Bjorn Helgaas)

    SR-IOV:
    - Return -ENOSYS on non-SR-IOV devices (Stefan Assmann)
    - Update NumVFs register when disabling SR-IOV (Yijing Wang)

    Virtualization:
    - Add bus and slot reset support (Alex Williamson)
    - Fix ACS (Access Control Services) issues (Alex Williamson)

    Miscellaneous:
    - Simplify PCIe Capability accessors (Bjorn Helgaas)
    - Add pcibios_pm_ops for arch-specific hibernate stuff (Sebastian Ott)
    - Disable decoding during BAR sizing only when necessary (Zoltan Kiss)
    - Delay enabling bridges until they're needed (Yinghai Lu)
    - Split Designware support into Synopsys and Exynos parts (Jingoo Han)
    - Convert class code to use dev_groups (Greg Kroah-Hartman)
    - Cleanup Designware and Exynos I/O access wrappers (Seungwon Jeon)
    - Fix bridge I/O window alignment (Bjorn Helgaas)
    - Add pci_wait_for_pending_transaction() (Casey Leedom)
    - Use devm_ioremap_resource() in Marvell driver (Tushar Behera)

    * tag 'pci-v3.12-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (63 commits)
    PCI/ACPI: Fix _OSC ordering to allow PCIe hotplug use when available
    PCI: exynos: Add I/O access wrappers
    PCI: designware: Drop "addr" arg from dw_pcie_readl_rc()/dw_pcie_writel_rc()
    PCI: Remove pcie_cap_has_devctl()
    PCI: Support PCIe Capability Slot registers only for ports with slots
    PCI: Remove PCIe Capability version checks
    PCI: Allow PCIe Capability link-related register access for switches
    PCI: Add offsets of PCIe capability registers
    PCI: Tidy bitmasks and spacing of PCIe capability definitions
    PCI: Remove obsolete comment reference to pci_pcie_cap2()
    PCI: Clarify PCI_EXP_TYPE_PCI_BRIDGE comment
    PCI: Rename PCIe capability definitions to follow convention
    PCI: Warn if unsafe MPS settings detected
    PCI: Fix MPS peer-to-peer DMA comment syntax
    PCI: Disable decoding for BAR sizing only when it was actually enabled
    PCI: Add comment about needing pci_msi_off() even when CONFIG_PCI_MSI=n
    PCI: Add pcibios_pm_ops for optional arch-specific hibernate functionality
    PCI: Don't restrict MPS for slots below Root Ports
    PCI: Simplify MPS test for Downstream Port
    PCI: Remove unnecessary check for pcie_get_mps() failure
    ...

    Linus Torvalds
     
  • Pull ACPI and power management updates from Rafael Wysocki:

    1) ACPI-based PCI hotplug (ACPIPHP) subsystem rework and introduction
    of Intel Thunderbolt support on systems that use ACPI for signalling
    Thunderbolt hotplug events. This also should make ACPIPHP work in
    some cases in which it was known to have problems. From
    Rafael J Wysocki, Mika Westerberg and Kirill A Shutemov.

    2) ACPI core code cleanups and dock station support cleanups from
    Jiang Liu and Rafael J Wysocki.

    3) Fixes for locking problems related to ACPI device hotplug from
    Rafael J Wysocki.

    4) ACPICA update to version 20130725 includig fixes, cleanups, support
    for more than 256 GPEs per GPE block and a change to make the ACPI
    PM Timer optional (we've seen systems without the PM Timer in the
    field already). One of the fixes, related to the DeRefOf operator,
    is necessary to prevent some Windows 8 oriented AML from causing
    problems to happen. From Bob Moore, Lv Zheng, and Jung-uk Kim.

    5) Removal of the old and long deprecated /proc/acpi/event interface
    and related driver changes from Thomas Renninger.

    6) ACPI and Xen changes to make the reduced hardware sleep work with
    the latter from Ben Guthro.

    7) ACPI video driver cleanups and a blacklist of systems that should
    not tell the BIOS that they are compatible with Windows 8 (or ACPI
    backlight and possibly other things will not work on them). From
    Felipe Contreras.

    8) Assorted ACPI fixes and cleanups from Aaron Lu, Hanjun Guo,
    Kuppuswamy Sathyanarayanan, Lan Tianyu, Sachin Kamat, Tang Chen,
    Toshi Kani, and Wei Yongjun.

    9) cpufreq ondemand governor target frequency selection change to
    reduce oscillations between min and max frequencies (essentially,
    it causes the governor to choose target frequencies proportional
    to load) from Stratos Karafotis.

    10) cpufreq fixes allowing sysfs attributes file permissions to be
    preserved over suspend/resume cycles Srivatsa S Bhat.

    11) Removal of Device Tree parsing for CPU device nodes from multiple
    cpufreq drivers that required some changes related to
    of_get_cpu_node() to be made in a few architectures and in the
    driver core. From Sudeep KarkadaNagesha.

    12) cpufreq core fixes and cleanups related to mutual exclusion and
    driver module references from Viresh Kumar, Lukasz Majewski and
    Rafael J Wysocki.

    13) Assorted cpufreq fixes and cleanups from Amit Daniel Kachhap,
    Bartlomiej Zolnierkiewicz, Hanjun Guo, Jingoo Han, Joseph Lo,
    Julia Lawall, Li Zhong, Mark Brown, Sascha Hauer, Stephen Boyd,
    Stratos Karafotis, and Viresh Kumar.

    14) Fixes to prevent race conditions in coupled cpuidle from happening
    from Colin Cross.

    15) cpuidle core fixes and cleanups from Daniel Lezcano and
    Tuukka Tikkanen.

    16) Assorted cpuidle fixes and cleanups from Daniel Lezcano,
    Geert Uytterhoeven, Jingoo Han, Julia Lawall, Linus Walleij,
    and Sahara.

    17) System sleep tracing changes from Todd E Brandt and Shuah Khan.

    18) PNP subsystem conversion to using struct dev_pm_ops for power
    management from Shuah Khan.

    * tag 'pm+acpi-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (217 commits)
    cpufreq: Don't use smp_processor_id() in preemptible context
    cpuidle: coupled: fix race condition between pokes and safe state
    cpuidle: coupled: abort idle if pokes are pending
    cpuidle: coupled: disable interrupts after entering safe state
    ACPI / hotplug: Remove containers synchronously
    driver core / ACPI: Avoid device hot remove locking issues
    cpufreq: governor: Fix typos in comments
    cpufreq: governors: Remove duplicate check of target freq in supported range
    cpufreq: Fix timer/workqueue corruption due to double queueing
    ACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT
    ACPI / thermal: Add check of "_TZD" availability and evaluating result
    cpufreq: imx6q: Fix clock enable balance
    ACPI: blacklist win8 OSI for buggy laptops
    cpufreq: tegra: fix the wrong clock name
    cpuidle: Change struct menu_device field types
    cpuidle: Add a comment warning about possible overflow
    cpuidle: Fix variable domains in get_typical_interval()
    cpuidle: Fix menu_device->intervals type
    cpuidle: CodingStyle: Break up multiple assignments on single line
    cpuidle: Check called function parameter in get_typical_interval()
    ...

    Linus Torvalds
     
  • Pull SCSI target fixes from Nicholas Bellinger:
    "The first patch is to address a long standing issue where INQUIRY
    vendor + model response data was not correctly padded with ASCII
    spaces, causing MSFT and Falconstor multipath stacks to not function
    with our LUNs.

    The second -> forth patches are additional iscsi-target regression
    fixes for the post >= v3.10 iser-target changes. The second and third
    are failure cases that have appeared during further testing, and the
    forth is only reproducible with malformed NOP packets.

    The fifth patch is a v3.11 specific regression caused by a recent
    optimization that showed up during WRITE I/O failure testing.

    I'll be sending Patch #1 and Patch #5 to Greg-KH separately for
    stable"

    * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
    target: Fix se_cmd->state_list leak regression during WRITE failure
    iscsi-target: Fix potential NULL pointer in solicited NOPOUT reject
    iscsi-target: Fix iscsit_transport reference leak during NP thread reset
    iscsi-target: Fix ImmediateData=Yes failure regression in >= v3.10
    target: Fix trailing ASCII space usage in INQUIRY vendor+model

    Linus Torvalds
     
  • Pull first round of SCSI updates from James Bottomley:
    "This patch set is a set of driver updates (ufs, zfcp, lpfc, mpt2/3sas,
    qla4xxx, qla2xxx [adding support for ISP8044 + other things]).

    We also have a new driver: esas2r which has a number of static checker
    problems, but which I expect to resolve over the -rc course of 3.12
    under the new driver exception.

    We also have the error return that were discussed at LSF"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (118 commits)
    [SCSI] sg: push file descriptor list locking down to per-device locking
    [SCSI] sg: checking sdp->detached isn't protected when open
    [SCSI] sg: no need sg_open_exclusive_lock
    [SCSI] sg: use rwsem to solve race during exclusive open
    [SCSI] scsi_debug: fix logical block provisioning support when unmap_alignment != 0
    [SCSI] scsi_debug: fix endianness bug in sdebug_build_parts()
    [SCSI] qla2xxx: Update the driver version to 8.06.00.08-k.
    [SCSI] qla2xxx: print MAC via %pMR.
    [SCSI] qla2xxx: Correction to message ids.
    [SCSI] qla2xxx: Correctly print out/in mailbox registers.
    [SCSI] qla2xxx: Add a new interface to update versions.
    [SCSI] qla2xxx: Move queue depth ramp down message to i/o debug level.
    [SCSI] qla2xxx: Select link initialization option bits from current operating mode.
    [SCSI] qla2xxx: Add loopback IDC-TIME-EXTEND aen handling support.
    [SCSI] qla2xxx: Set default critical temperature value in cases when ISPFX00 firmware doesn't provide it
    [SCSI] qla2xxx: QLAFX00 make over temperature AEN handling informational, add log for normal temperature AEN
    [SCSI] qla2xxx: Correct Interrupt Register offset for ISPFX00
    [SCSI] qla2xxx: Remove handling of Shutdown Requested AEN from qlafx00_process_aen().
    [SCSI] qla2xxx: Send all AENs for ISPFx00 to above layers.
    [SCSI] qla2xxx: Add changes in initialization for ISPFX00 cards with BIOS
    ...

    Linus Torvalds
     
  • While we are likley to succeed and break out of this loop, it isn't
    guaranteed. We should be power and thread friendly if we do have to
    go around for a second (or third, or more) attempt.

    Signed-off-by: Tony Luck
    Signed-off-by: Linus Torvalds

    Luck, Tony
     
  • Pull tty/serial driver patches from Greg KH:
    "Here's the big tty/serial driver pull request for 3.12-rc1.

    Lots of n_tty reworks to resolve some very long-standing issues,
    removing the 3-4 different locks that were taken for every character.
    This code has been beaten on for a long time in linux-next with no
    reported regressions.

    Other than that, a range of serial and tty driver updates and
    revisions. Full details in the shortlog"

    * tag 'tty-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (226 commits)
    hvc_xen: Remove unnecessary __GFP_ZERO from kzalloc
    serial: imx: initialize the local variable
    tty: ar933x_uart: add device tree support and binding documentation
    tty: ar933x_uart: allow to build the driver as a module
    ARM: dts: msm: Update uartdm compatible strings
    devicetree: serial: Document msm_serial bindings
    serial: unify serial bindings into a single dir
    serial: fsl-imx-uart: Cleanup duplicate device tree binding
    tty: ar933x_uart: use config_enabled() macro to clean up ifdefs
    tty: ar933x_uart: remove superfluous assignment of ar933x_uart_driver.nr
    tty: ar933x_uart: use the clk API to get the uart clock
    tty: serial: cpm_uart: Adding proper request of GPIO used by cpm_uart driver
    serial: sirf: fix the amount of serial ports
    serial: sirf: define macro for some magic numbers of USP
    serial: icom: move array overflow checks earlier
    TTY: amiserial, remove unnecessary platform_set_drvdata()
    serial: st-asc: remove unnecessary platform_set_drvdata()
    msm_serial: Send more than 1 character on the console w/ UARTDM
    msm_serial: Add support for non-GSBI UARTDM devices
    msm_serial: Switch clock consumer strings and simplify code
    ...

    Linus Torvalds