09 Jun, 2014

1 commit

  • Now that 3.15 is released, this merges the 'next' branch into 'master',
    bringing us to the normal situation where my 'master' branch is the
    merge window.

    * accumulated work in next: (6809 commits)
    ufs: sb mutex merge + mutex_destroy
    powerpc: update comments for generic idle conversion
    cris: update comments for generic idle conversion
    idle: remove cpu_idle() forward declarations
    nbd: zero from and len fields in NBD_CMD_DISCONNECT.
    mm: convert some level-less printks to pr_*
    MAINTAINERS: adi-buildroot-devel is moderated
    MAINTAINERS: add linux-api for review of API/ABI changes
    mm/kmemleak-test.c: use pr_fmt for logging
    fs/dlm/debug_fs.c: replace seq_printf by seq_puts
    fs/dlm/lockspace.c: convert simple_str to kstr
    fs/dlm/config.c: convert simple_str to kstr
    mm: mark remap_file_pages() syscall as deprecated
    mm: memcontrol: remove unnecessary memcg argument from soft limit functions
    mm: memcontrol: clean up memcg zoneinfo lookup
    mm/memblock.c: call kmemleak directly from memblock_(alloc|free)
    mm/mempool.c: update the kmemleak stack trace for mempool allocations
    lib/radix-tree.c: update the kmemleak stack trace for radix tree allocations
    mm: introduce kmemleak_update_trace()
    mm/kmemleak.c: use %u to print ->checksum
    ...

    Linus Torvalds
     

07 Jun, 2014

1 commit

  • This adds several behavioral tests to sysctl string and number writing
    to detect unexpected cases that behaved differently when the sysctl
    kernel.sysctl_writes_strict != 1.

    [ original ]
    root@localhost:~# make test_num
    == Testing sysctl behavior against /proc/sys/kernel/domainname ==
    Writing test file ... ok
    Checking sysctl is not set to test value ... ok
    Writing sysctl from shell ... ok
    Resetting sysctl to original value ... ok
    Writing entire sysctl in single write ... ok
    Writing middle of sysctl after synchronized seek ... FAIL
    Writing beyond end of sysctl ... FAIL
    Writing sysctl with multiple long writes ... FAIL
    Writing entire sysctl in short writes ... FAIL
    Writing middle of sysctl after unsynchronized seek ... ok
    Checking sysctl maxlen is at least 65 ... ok
    Checking sysctl keeps original string on overflow append ... FAIL
    Checking sysctl stays NULL terminated on write ... ok
    Checking sysctl stays NULL terminated on overwrite ... ok
    make: *** [test_num] Error 1
    root@localhost:~# make test_string
    == Testing sysctl behavior against /proc/sys/vm/swappiness ==
    Writing test file ... ok
    Checking sysctl is not set to test value ... ok
    Writing sysctl from shell ... ok
    Resetting sysctl to original value ... ok
    Writing entire sysctl in single write ... ok
    Writing middle of sysctl after synchronized seek ... FAIL
    Writing beyond end of sysctl ... FAIL
    Writing sysctl with multiple long writes ... ok
    make: *** [test_string] Error 1

    [ with CONFIG_PROC_SYSCTL_STRICT_WRITES ]
    root@localhost:~# make run_tests
    == Testing sysctl behavior against /proc/sys/kernel/domainname ==
    Writing test file ... ok
    Checking sysctl is not set to test value ... ok
    Writing sysctl from shell ... ok
    Resetting sysctl to original value ... ok
    Writing entire sysctl in single write ... ok
    Writing middle of sysctl after synchronized seek ... ok
    Writing beyond end of sysctl ... ok
    Writing sysctl with multiple long writes ... ok
    Writing entire sysctl in short writes ... ok
    Writing middle of sysctl after unsynchronized seek ... ok
    Checking sysctl maxlen is at least 65 ... ok
    Checking sysctl keeps original string on overflow append ... ok
    Checking sysctl stays NULL terminated on write ... ok
    Checking sysctl stays NULL terminated on overwrite ... ok
    == Testing sysctl behavior against /proc/sys/vm/swappiness ==
    Writing test file ... ok
    Checking sysctl is not set to test value ... ok
    Writing sysctl from shell ... ok
    Resetting sysctl to original value ... ok
    Writing entire sysctl in single write ... ok
    Writing middle of sysctl after synchronized seek ... ok
    Writing beyond end of sysctl ... ok
    Writing sysctl with multiple long writes ... ok

    Signed-off-by: Kees Cook
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     

05 Jun, 2014

1 commit

  • Recently added page-cache dumping is known to be a little bit racy.
    But after race with truncate it just dies due to unhandled SIGBUS
    when it tries to poke pages beyond the new end of file.
    This patch adds handler for SIGBUS which skips the rest of the file.

    Signed-off-by: Konstantin Khlebnikov
    Cc: Naoya Horiguchi
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     

04 Jun, 2014

9 commits

  • …fael/linux-pm into next

    Pull ACPI and power management updates from Rafael Wysocki:
    "ACPICA is the leader this time (63 commits), followed by cpufreq (28
    commits), devfreq (15 commits), system suspend/hibernation (12
    commits), ACPI video and ACPI device enumeration (10 commits each).

    We have no major new features this time, but there are a few
    significant changes of how things work. The most visible one will
    probably be that we are now going to create platform devices rather
    than PNP devices by default for ACPI device objects with _HID. That
    was long overdue and will be really necessary to be able to use the
    same drivers for the same hardware blocks on ACPI and DT-based systems
    going forward. We're not expecting fallout from this one (as usual),
    but it's something to watch nevertheless.

    The second change having a chance to be visible is that ACPI video
    will now default to using native backlight rather than the ACPI
    backlight interface which should generally help systems with broken
    Win8 BIOSes. We're hoping that all problems with the native backlight
    handling that we had previously have been addressed and we are in a
    good enough shape to flip the default, but this change should be easy
    enough to revert if need be.

    In addition to that, the system suspend core has a new mechanism to
    allow runtime-suspended devices to stay suspended throughout system
    suspend/resume transitions if some extra conditions are met
    (generally, they are related to coordination within device hierarchy).
    However, enabling this feature requires cooperation from the bus type
    layer and for now it has only been implemented for the ACPI PM domain
    (used by ACPI-enumerated platform devices mostly today).

    Also, the acpidump utility that was previously shipped as a separate
    tool will now be provided by the upstream ACPICA along with the rest
    of ACPICA code, which will allow it to be more up to date and better
    supported, and we have one new cpuidle driver (ARM clps711x).

    The rest is improvements related to certain specific use cases,
    cleanups and fixes all over the place.

    Specifics:

    - ACPICA update to upstream version 20140424. That includes a number
    of fixes and improvements related to things like GPE handling,
    table loading, headers, memory mapping and unmapping, DSDT/SSDT
    overriding, and the Unload() operator. The acpidump utility from
    upstream ACPICA is included too. From Bob Moore, Lv Zheng, David
    Box, David Binderman, and Colin Ian King.

    - Fixes and cleanups related to ACPI video and backlight interfaces
    from Hans de Goede. That includes blacklist entries for some new
    machines and using native backlight by default.

    - ACPI device enumeration changes to create platform devices rather
    than PNP devices for ACPI device objects with _HID by default. PNP
    devices will still be created for the ACPI device object with
    device IDs corresponding to real PNP devices, so that change should
    not break things left and right, and we're expecting to see more
    and more ACPI-enumerated platform devices in the future. From
    Zhang Rui and Rafael J Wysocki.

    - Updates for the ACPI LPSS (Low-Power Subsystem) driver allowing it
    to handle system suspend/resume on Asus T100 correctly. From
    Heikki Krogerus and Rafael J Wysocki.

    - PM core update introducing a mechanism to allow runtime-suspended
    devices to stay suspended over system suspend/resume transitions if
    certain additional conditions related to coordination within device
    hierarchy are met. Related PM documentation update and ACPI PM
    domain support for the new feature. From Rafael J Wysocki.

    - Fixes and improvements related to the "freeze" sleep state. They
    affect several places including cpuidle, PM core, ACPI core, and
    the ACPI battery driver. From Rafael J Wysocki and Zhang Rui.

    - Miscellaneous fixes and updates of the ACPI core from Aaron Lu,
    Bjørn Mork, Hanjun Guo, Lan Tianyu, and Rafael J Wysocki.

    - Fixes and cleanups for the ACPI processor and ACPI PAD (Processor
    Aggregator Device) drivers from Baoquan He, Manuel Schölling, Tony
    Camuso, and Toshi Kani.

    - System suspend/resume optimization in the ACPI battery driver from
    Lan Tianyu.

    - OPP (Operating Performance Points) subsystem updates from Chander
    Kashyap, Mark Brown, and Nishanth Menon.

    - cpufreq core fixes, updates and cleanups from Srivatsa S Bhat,
    Stratos Karafotis, and Viresh Kumar.

    - Updates, fixes and cleanups for the Tegra, powernow-k8, imx6q,
    s5pv210, nforce2, and powernv cpufreq drivers from Brian Norris,
    Jingoo Han, Paul Bolle, Philipp Zabel, Stratos Karafotis, and
    Viresh Kumar.

    - intel_pstate driver fixes and cleanups from Dirk Brandewie, Doug
    Smythies, and Stratos Karafotis.

    - Enabling the big.LITTLE cpufreq driver on arm64 from Mark Brown.

    - Fix for the cpuidle menu governor from Chander Kashyap.

    - New ARM clps711x cpuidle driver from Alexander Shiyan.

    - Hibernate core fixes and cleanups from Chen Gang, Dan Carpenter,
    Fabian Frederick, Pali Rohár, and Sebastian Capella.

    - Intel RAPL (Running Average Power Limit) driver updates from Jacob
    Pan.

    - PNP subsystem updates from Bjorn Helgaas and Fabian Frederick.

    - devfreq core updates from Chanwoo Choi and Paul Bolle.

    - devfreq updates for exynos4 and exynos5 from Chanwoo Choi and
    Bartlomiej Zolnierkiewicz.

    - turbostat tool fix from Jean Delvare.

    - cpupower tool updates from Prarit Bhargava, Ramkumar Ramachandra
    and Thomas Renninger.

    - New ACPI ec_access.c tool for poking at the EC in a safe way from
    Thomas Renninger"

    * tag 'pm+acpi-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (187 commits)
    ACPICA: Namespace: Remove _PRP method support.
    intel_pstate: Improve initial busy calculation
    intel_pstate: add sample time scaling
    intel_pstate: Correct rounding in busy calculation
    intel_pstate: Remove C0 tracking
    PM / hibernate: fixed typo in comment
    ACPI: Fix x86 regression related to early mapping size limitation
    ACPICA: Tables: Add mechanism to control early table checksum verification.
    ACPI / scan: use platform bus type by default for _HID enumeration
    ACPI / scan: always register ACPI LPSS scan handler
    ACPI / scan: always register memory hotplug scan handler
    ACPI / scan: always register container scan handler
    ACPI / scan: Change the meaning of missing .attach() in scan handlers
    ACPI / scan: introduce platform_id device PNP type flag
    ACPI / scan: drop unsupported serial IDs from PNP ACPI scan handler ID list
    ACPI / scan: drop IDs that do not comply with the ACPI PNP ID rule
    ACPI / PNP: use device ID list for PNPACPI device enumeration
    ACPI / scan: .match() callback for ACPI scan handlers
    ACPI / battery: wakeup the system only when necessary
    power_supply: allow power supply devices registered w/o wakeup source
    ...

    Linus Torvalds
     
  • Fix perf probe to find correct variable DIE which has location or
    external instance by tracking down the lexical blocks.

    Current die_find_variable() expects that the all variable DIEs
    which has DW_TAG_variable have a location. However, since recent
    dwarf information may have declaration variable DIEs at the
    entry of function (subprogram), die_find_variable() returns it.

    To solve this problem, it must track down the DIE tree to find
    a DIE which has an actual location or a reference for external
    instance.

    e.g. finding a DIE which origin is ;

    : Abbrev Number: 95 (DW_TAG_subprogram)
    DW_AT_abstract_origin:
    DW_AT_low_pc : 0x1850
    [...]
    : Abbrev Number: 119 (DW_TAG_variable) DW_AT_abstract_origin:
    : Abbrev Number: 119 (DW_TAG_variable)
    [...]
    : Abbrev Number: 105 (DW_TAG_lexical_block)
    DW_AT_ranges : 0xaa0
    : Abbrev Number: 96 (DW_TAG_variable) DW_AT_abstract_origin:
    DW_AT_location : 0x486c (location list)

    Signed-off-by: Masami Hiramatsu
    Tested-by: Arnaldo Carvalho de Melo
    Acked-by: Arnaldo Carvalho de Melo
    Cc: Arnaldo Carvalho de Melo
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Link: http://lkml.kernel.org/r/20140529121930.30879.87092.stgit@ltc230.yrl.intra.hitachi.co.jp
    Signed-off-by: Jiri Olsa

    Masami Hiramatsu
     
  • Fix a segfault bug by asking for variable it doesn't find.
    Since the convert_variable() didn't handle error code returned
    from convert_variable_location(), it just passed an incomplete
    variable field and then a segfault was occurred when formatting
    the field.

    This fixes that bug by handling success code correctly in
    convert_variable(). Other callers of convert_variable_location()
    are correctly checking the return code.

    This bug was introduced by following commit. But another hidden
    erroneous error handling has been there previously (-ENOMEM case).

    commit 3d918a12a1b3088ac16ff37fa52760639d6e2403

    Signed-off-by: Masami Hiramatsu
    Reported-by: Arnaldo Carvalho de Melo
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Link: http://lkml.kernel.org/r/20140529105232.28251.30447.stgit@ltc230.yrl.intra.hitachi.co.jp
    Signed-off-by: Jiri Olsa

    Masami Hiramatsu
     
  • * acpi-tools:
    ACPI / tools: Introduce ec_access.c - tool to access the EC

    * pm-tools:
    cpupower: Remove mc and smt power aware scheduler info/settings
    cpupower: cpupower info -b should return 0 on success, not the perf bias value
    cpupower: If root, try to load msr driver on x86 if /dev/cpu/0/msr is not available
    cpupower: Install recently added cpupower-idle-{set, info} manpages
    cpupower: Introduce idle state disable-by-latency and enable-all
    cpupower: Remove all manpages on make uninstall
    cpupower: Remove dead link to homepage, and update the targets built.
    cpupower: Rename cpufrequtils -> cpupower, and libcpufreq -> libcpupower.
    PM / tools: cpupower: add option to display values without round offs
    tools / power: turbostat: Drop temperature checks

    Rafael J. Wysocki
     
  • * pm-cpufreq: (28 commits)
    cpufreq: handle calls to ->target_index() in separate routine
    cpufreq: s5pv210: drop check for CONFIG_PM_VERBOSE
    cpufreq: intel_pstate: Remove unused member name of cpudata
    cpufreq: Break out early when frequency equals target_freq
    cpufreq: Tegra: drop wrapper around tegra_update_cpu_speed()
    cpufreq: imx6q: Remove unused include
    cpufreq: imx6q: Drop devm_clk/regulator_get usage
    cpufreq: powernow-k8: Suppress checkpatch warnings
    cpufreq: powernv: make local function static
    cpufreq: Enable big.LITTLE cpufreq driver on arm64
    cpufreq: nforce2: remove DEFINE_PCI_DEVICE_TABLE macro
    intel_pstate: Add CPU IDs for Broadwell processors
    cpufreq: Fix build error on some platforms that use cpufreq_for_each_*
    PM / OPP: Move cpufreq specific OPP functions out of generic OPP library
    PM / OPP: Remove cpufreq wrapper dependency on internal data organization
    cpufreq: Catch double invocations of cpufreq_freq_transition_begin/end
    intel_pstate: Remove sample parameter in intel_pstate_calc_busy
    cpufreq: Kconfig: Fix spelling errors
    cpufreq: Make linux-pm@vger.kernel.org official mailing list
    cpufreq: exynos: Use dev_err/info function instead of pr_err/info
    ...

    Rafael J. Wysocki
     
  • * acpica: (63 commits)
    ACPICA: Namespace: Remove _PRP method support.
    ACPI: Fix x86 regression related to early mapping size limitation
    ACPICA: Tables: Add mechanism to control early table checksum verification.
    ACPICA: acpidump: Fix repetitive table dump in -n mode.
    ACPI: Clean up acpi_os_map/unmap_memory() to eliminate __iomem.
    ACPICA: Clean up redudant definitions already defined elsewhere
    ACPICA: Linux headers: Add to remove mis-ordered inclusion of
    ACPICA: Linux headers: Add
    ACPICA: Linux headers: Remove ACPI_PREEMPTION_POINT() due to no usages.
    ACPICA: Update version to 20140424.
    ACPICA: Comment/format update, no functional change.
    ACPICA: Events: Update GPE handling and initialization code.
    ACPICA: Remove extraneous error message for large number of GPEs.
    ACPICA: Tables: Remove old mechanism to validate if XSDT contains NULL entries.
    ACPICA: Tables: Add new mechanism to skip NULL entries in RSDT and XSDT.
    ACPICA: acpidump: Add support to force using RSDT.
    ACPICA: Back port of improvements on exception code.
    ACPICA: Back port of _PRP update.
    ACPICA: acpidump: Fix truncated RSDP signature validation.
    ACPICA: Linux header: Add support for stubbed externals.
    ...

    Rafael J. Wysocki
     
  • …git/tip/tip into next

    Pull perf updates from Ingo Molnar:
    "The tooling changes maintained by Jiri Olsa until Arnaldo is on
    vacation:

    User visible changes:
    - Add -F option for specifying output fields (Namhyung Kim)
    - Propagate exit status of a command line workload for record command
    (Namhyung Kim)
    - Use tid for finding thread (Namhyung Kim)
    - Clarify the output of perf sched map plus small sched command
    fixes (Dongsheng Yang)
    - Wire up perf_regs and unwind support for ARM64 (Jean Pihet)
    - Factor hists statistics counts processing which in turn also fixes
    several bugs in TUI report command (Namhyung Kim)
    - Add --percentage option to control absolute/relative percentage
    output (Namhyung Kim)
    - Add --list-cmds to 'kmem', 'mem', 'lock' and 'sched', for use by
    completion scripts (Ramkumar Ramachandra)

    Development/infrastructure changes and fixes:
    - Android related fixes for pager and map dso resolving (Michael
    Lentine)
    - Add libdw DWARF post unwind support for ARM (Jean Pihet)
    - Consolidate types.h for ARM and ARM64 (Jean Pihet)
    - Fix possible null pointer dereference in session.c (Masanari Iida)
    - Cleanup, remove unused variables in map_switch_event() (Dongsheng
    Yang)
    - Remove nr_state_machine_bugs in perf latency (Dongsheng Yang)
    - Remove usage of trace_sched_wakeup(.success) (Peter Zijlstra)
    - Cleanups for perf.h header (Jiri Olsa)
    - Consolidate types.h and export.h within tools (Borislav Petkov)
    - Move u64_swap union to its single user's header, evsel.h (Borislav
    Petkov)
    - Fix for s390 to properly parse tracepoints plus test code
    (Alexander Yarygin)
    - Handle EINTR error for readn/writen (Namhyung Kim)
    - Add a test case for hists filtering (Namhyung Kim)
    - Share map_groups among threads of the same group (Arnaldo Carvalho
    de Melo, Jiri Olsa)
    - Making some code (cpu node map and report parse callchain callback)
    global to be usable by upcomming changes (Don Zickus)
    - Fix pmu object compilation error (Jiri Olsa)

    Kernel side changes:
    - intrusive uprobes fixes from Oleg Nesterov. Since the interface is
    admin-only, and the bug only affects user-space ("any probed
    jmp/call can kill the application"), we queued these fixes via the
    development tree, as a special exception.
    - more fuzzer motivated race fixes and related refactoring and
    robustization.
    - allow PMU drivers to be built as modules. (No actual module yet,
    because the x86 Intel uncore module wasn't ready in time for this)"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits)
    perf tools: Add automatic remapping of Android libraries
    perf tools: Add cat as fallback pager
    perf tests: Add a testcase for histogram output sorting
    perf tests: Factor out print_hists_*()
    perf tools: Introduce reset_output_field()
    perf tools: Get rid of obsolete hist_entry__sort_list
    perf hists: Reset width of output fields with header length
    perf tools: Skip elided sort entries
    perf top: Add --fields option to specify output fields
    perf report/tui: Fix a bug when --fields/sort is given
    perf tools: Add ->sort() member to struct sort_entry
    perf report: Add -F option to specify output fields
    perf tools: Call perf_hpp__init() before setting up GUI browsers
    perf tools: Consolidate management of default sort orders
    perf tools: Allow hpp fields to be sort keys
    perf ui: Get rid of callback from __hpp__fmt()
    perf tools: Consolidate output field handling to hpp format routines
    perf tools: Use hpp formats to sort final output
    perf tools: Support event grouping in hpp ->sort()
    perf tools: Use hpp formats to sort hist entries
    ...

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

    - RCU torture-test changes.

    - variable-name renaming cleanup.

    - update RCU documentation.

    - miscellaneous fixes.

    - patch to suppress RCU stall warnings while sysrq requests are being
    processed"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (68 commits)
    rcu: Provide API to suppress stall warnings while sysrc runs
    rcu: Variable name changed in tree_plugin.h and used in tree.c
    torture: Remove unused definition
    torture: Remove __init from torture_init_begin/end
    torture: Check for multiple concurrent torture tests
    locktorture: Remove reference to nonexistent Kconfig parameter
    rcutorture: Run rcu_torture_writer at normal priority
    rcutorture: Note diffs from git commits
    rcutorture: Add missing destroy_timer_on_stack()
    rcutorture: Explicitly test synchronous grace-period primitives
    rcutorture: Add tests for get_state_synchronize_rcu()
    rcutorture: Test RCU-sched primitives in TREE_PREEMPT_RCU kernels
    torture: Use elapsed time to detect hangs
    rcutorture: Check for rcu_torture_fqs creation errors
    torture: Better summary diagnostics for build failures
    torture: Notice if an all-zero cpumask is passed inside a critical section
    rcutorture: Make rcu_torture_reader() use cond_resched()
    sched,rcu: Make cond_resched() report RCU quiescent states
    percpu: Fix raw_cpu_inc_return()
    rcutorture: Export RCU grace-period kthread wait state to rcutorture
    ...

    Linus Torvalds
     
  • Pull USB driver updates from Greg KH:
    "Here is the big USB driver pull request for 3.16-rc1.

    Nothing huge here, but lots of little things in the USB core, and in
    lots of drivers. Hopefully the USB power management will be work
    better now that it has been reworked to do per-port power control
    dynamically. There's also a raft of gadget driver updates and fixes,
    CONFIG_USB_DEBUG is finally gone now that everything has been
    converted over to the dynamic debug inteface, the last hold-out
    drivers were cleaned up and the config option removed. There were
    also other minor things all through the drivers/usb/ tree, the
    shortlog shows this pretty well.

    All have been in linux-next, including the very last patch, which came
    from linux-next to fix a build issue on some platforms"

    * tag 'usb-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (314 commits)
    usb: hub_handle_remote_wakeup() only exists for CONFIG_PM=y
    USB: orinoco_usb: remove CONFIG_USB_DEBUG support
    USB: media: lirc: igorplugusb: remove CONFIG_USB_DEBUG support
    USB: media: streamzap: remove CONFIG_USB_DEBUG
    USB: media: redrat3: remove CONFIG_USB_DEBUG usage
    USB: media: redrat3: remove unneeded tracing macro
    usb: qcserial: add additional Sierra Wireless QMI devices
    usb: host: max3421-hcd: Use module_spi_driver
    usb: host: max3421-hcd: Allow platform-data to specify Vbus polarity
    usb: host: max3421-hcd: fix "spi_rd8" uses dynamic stack allocation warning
    usb: host: max3421-hcd: Fix missing unlock in max3421_urb_enqueue()
    usb: qcserial: add Netgear AirCard 341U
    Documentation: dt-bindings: update xhci-platform DT binding for R-Car H2 and M2
    usb: host: xhci-plat: add xhci_plat_start()
    usb: host: max3421-hcd: Fix potential NULL urb dereference
    Revert "usb: gadget: net2280: Add support for PLX USB338X"
    USB: usbip: remove CONFIG_USB_DEBUG reference
    USB: remove CONFIG_USB_DEBUG from defconfig files
    usb: resume child device when port is powered on
    usb: hub_handle_remote_wakeup() depends on CONFIG_PM_RUNTIME=y
    ...

    Linus Torvalds
     

03 Jun, 2014

1 commit


29 May, 2014

1 commit


23 May, 2014

1 commit

  • Felipe writes:

    usb: patches for v3.16 merge window

    Not a lot here during this merge window. Mostly we just have
    the usual miscellaneous patches (removal of unnecessary prints,
    proper dependencies being added to Kconfig, build warning fixes,
    new device ID, etc.

    Other than those, the only important new features are the
    new support for OS Strings which should help Linux Gadget
    Drivers behave better under MS Windows. Also Babble Recovery
    implementation for MUSB on AM335x. Lastly, we also have
    ARCH_QCOM PHY support though phy-msm.

    Signed-of-by: Felipe Balbi

    Conflicts:
    drivers/usb/phy/phy-mv-u3d-usb.c

    Greg Kroah-Hartman
     

22 May, 2014

1 commit

  • …/linux-rcu into core/rcu

    Pull RCU updates from Paul E. McKenney:

    " 1. Update RCU documentation. These were posted to LKML at
    https://lkml.org/lkml/2014/4/28/634.

    2. Miscellaneous fixes. These were posted to LKML at
    https://lkml.org/lkml/2014/4/28/645.

    3. Torture-test changes. These were posted to LKML at
    https://lkml.org/lkml/2014/4/28/667.

    4. Variable-name renaming cleanup, sent separately due to conflicts.
    This was posted to LKML at https://lkml.org/lkml/2014/5/13/854.

    5. Patch to suppress RCU stall warnings while sysrq requests are
    being processed. This patch is the RCU portions of the patch
    that Rik posted to LKML at https://lkml.org/lkml/2014/4/29/457.
    The reason for pushing this patch ahead instead of waiting until
    3.17 is that the NMI-based stack traces are messing up sysrq
    output, and in some cases also messing up the system as well."

    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     

21 May, 2014

22 commits

  • This patch automatically adjusts the path of MMAP records
    associated with Android system libraries.

    The Android system is organized with system libraries found in
    /system/lib and user libraries in /data/app-lib. On the host system
    (not running Android), system libraries can be found in the downloaded
    NDK directory under ${NDK_ROOT}/platforms/${APP_PLATFORM}/arch-${ARCH}/usr/lib
    and the user libraries are installed under libs/${APP_ABI} within
    the apk build directory. This patch makes running the reporting
    tools possible on the host system using the libraries from the NDK.

    Signed-off-by: Michael Lentine
    Reviewed-by: Stephane Eranian
    Link: http://lkml.kernel.org/r/1400579330-5043-3-git-send-email-eranian@google.com
    [ fixed 'space required before the open parenthesis' checkpatch.pl errors ]
    Signed-off-by: Jiri Olsa

    Michael Lentine
     
  • This patch adds a fallback to cat for the pager. This is useful
    on environments, such as Android, where less does not exist.
    It is better to default to cat than to abort.

    Signed-off-by: Michael Lentine
    Reviewed-by: Stephane Eranian
    Link: http://lkml.kernel.org/r/1400579330-5043-2-git-send-email-eranian@google.com
    Signed-off-by: Jiri Olsa

    Michael Lentine
     
  • With new output fields option, its internal implementation was changed
    so add a new testcase to verify whether it breaks things.

    Signed-off-by: Namhyung Kim
    Link: http://lkml.kernel.org/r/1400480762-22852-21-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • Those print helper functions can be reused by later hist test cases so
    factor them out to a common location.

    Signed-off-by: Namhyung Kim
    Link: http://lkml.kernel.org/r/1400480762-22852-20-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • The reset_output_field() function is for clearing output field
    settings and will be used for test code in later patch.

    Signed-off-by: Namhyung Kim
    Link: http://lkml.kernel.org/r/1400480762-22852-19-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • Now we moved to the perf_hpp_[_sort]_list so no need to keep the old
    hist_entry__sort_list and sort__first_dimension. Also the
    hist_entry__sort_snprintf() can be gone as hist_entry__snprintf()
    provides the functionality.

    Signed-off-by: Namhyung Kim
    Link: http://lkml.kernel.org/r/1400480762-22852-18-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • Some fields missed to set default column length so it broke align in
    --stdio output. Add perf_hpp__reset_width() to set it to a sane
    default value.

    Note that this change will ignore -w/--column-widths option for now.

    Before:
    $ perf report -F cpu,comm,overhead --stdio
    ...
    # CPU Command Overhead
    # ............... ........
    #
    0 firefox 2.65%
    0 kworker/0:0 1.45%
    0 swapper 5.52%
    0 synergys 0.92%
    1 firefox 4.54%

    After:
    # CPU Command Overhead
    # ... ............... ........
    #
    0 firefox 2.65%
    0 kworker/0:0 1.45%
    0 swapper 5.52%
    0 synergys 0.92%
    1 firefox 4.54%

    Signed-off-by: Namhyung Kim
    Link: http://lkml.kernel.org/r/1400480762-22852-17-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • When it converted sort entries to hpp formats, it missed se->elide
    handling, so add it for compatibility.

    Signed-off-by: Namhyung Kim
    Link: http://lkml.kernel.org/r/1400480762-22852-16-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • The --fields option is to allow user setup output field in any order.
    It can receive any sort keys and following (hpp) fields:

    overhead, overhead_sys, overhead_us, sample and period

    If guest profiling is enabled, overhead_guest_{sys,us} will be
    available too.

    More more information, please see previous patch "perf report:
    Add -F option to specify output fields"

    Signed-off-by: Namhyung Kim
    Link: http://lkml.kernel.org/r/1400480762-22852-15-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • The hists__filter_entries() function is called when down arrow key is
    pressed for navigating through the entries in TUI. It has a check for
    filtering out entries that have very small overhead (under min_pcnt).

    However it just assumed the entries are sorted by the overhead so when
    it saw such a small overheaded entry, it just stopped navigating as an
    optimization. But it's not true anymore due to new --fields and
    --sort optoin behavior and this case users cannot go down to a next
    entry if ther's an entry with small overhead in-between.

    Signed-off-by: Namhyung Kim
    Link: http://lkml.kernel.org/r/1400480762-22852-14-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • Currently, what the sort_entry does is just identifying hist entries
    so that they can be grouped properly. However, with -F option
    support, it indeed needs to sort entries appropriately to be shown to
    users. So add ->sort() member to do it.

    Signed-off-by: Namhyung Kim
    Acked-by: Ingo Molnar
    Link: http://lkml.kernel.org/r/1400480762-22852-13-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • The -F/--fields option is to allow user setup output field in any
    order. It can receive any sort keys and following (hpp) fields:

    overhead, overhead_sys, overhead_us, sample and period

    If guest profiling is enabled, overhead_guest_{sys,us} will be
    available too.

    The output fields also affect sort order unless you give -s/--sort
    option. And any keys specified on -s option, will also be added to
    the output field list automatically.

    $ perf report -F sym,sample,overhead
    ...
    # Symbol Samples Overhead
    # .......................... ............ ........
    #
    [.] __cxa_atexit 2 2.50%
    [.] __libc_csu_init 4 5.00%
    [.] __new_exitfn 3 3.75%
    [.] _dl_check_map_versions 1 1.25%
    [.] _dl_name_match_p 4 5.00%
    [.] _dl_setup_hash 1 1.25%
    [.] _dl_sysdep_start 1 1.25%
    [.] _init 5 6.25%
    [.] _setjmp 6 7.50%
    [.] a 8 10.00%
    [.] b 8 10.00%
    [.] brk 1 1.25%
    [.] c 8 10.00%

    Note that, the example output above is captured after applying next
    patch which fixes sort/comparing behavior.

    Requested-by: Ingo Molnar
    Signed-off-by: Namhyung Kim
    Acked-by: Ingo Molnar
    Link: http://lkml.kernel.org/r/1400480762-22852-12-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • So that it can be set properly prior to set up output fields. That
    makes easy to handle/warn errors during the setup since it doesn't
    need to be bothered with the GUI.

    Signed-off-by: Namhyung Kim
    Link: http://lkml.kernel.org/r/1400480762-22852-11-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • The perf uses different default sort orders for different use-cases,
    and this was scattered throughout the code. Add get_default_sort_
    order() function to handle this and change initial value of sort_order
    to NULL to distinguish it from user-given one.

    Signed-off-by: Namhyung Kim
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1400480762-22852-10-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • Add overhead{,_sys,_us,_guest_sys,_guest_us}, sample and period sort
    keys so that they can be selected with --sort/-s option.

    $ perf report -s period,comm --stdio
    ...
    # Overhead Period Command
    # ........ ............ ...............
    #
    47.06% 152 swapper
    13.93% 45 qemu-system-arm
    12.38% 40 synergys
    3.72% 12 firefox
    2.48% 8 xchat

    Signed-off-by: Namhyung Kim
    Acked-by: Ingo Molnar
    Link: http://lkml.kernel.org/r/1400480762-22852-9-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • The callback was used by TUI for determining color of folded sign
    using percent of first field/column. But it cannot be used anymore
    since it now support dynamic reordering of output field.

    So move the logic to the hist_browser__show_entry().

    Signed-off-by: Namhyung Kim
    Acked-by: Ingo Molnar
    Link: http://lkml.kernel.org/r/1400480762-22852-8-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • Until now the hpp and sort functions do similar jobs different ways.
    Since the sort functions converted/wrapped to hpp formats it can do
    the job in a uniform way.

    The perf_hpp__sort_list has a list of hpp formats to sort entries and
    the perf_hpp__list has a list of hpp formats to print output result.

    To have a backward compatibility, it automatically adds 'overhead'
    field in front of sort list. And then all of fields in sort list
    added to the output list (if it's not already there).

    Signed-off-by: Namhyung Kim
    Acked-by: Ingo Molnar
    Link: http://lkml.kernel.org/n/tip-7g3h86woz2sckg3h1lj42ygj@git.kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • Convert output sorting function to use ->sort hpp functions.

    Signed-off-by: Namhyung Kim
    Acked-by: Ingo Molnar
    Link: http://lkml.kernel.org/r/1400480762-22852-6-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • Move logic of hist_entry__sort_on_period to __hpp__sort() in order to
    support event group report.

    Signed-off-by: Namhyung Kim
    Acked-by: Ingo Molnar
    Link: http://lkml.kernel.org/r/1400480762-22852-5-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • It wrapped sort entries to hpp functions, so using the hpp sort list
    to sort entries.

    Signed-off-by: Namhyung Kim
    Acked-by: Ingo Molnar
    Link: http://lkml.kernel.org/r/1400480762-22852-4-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • This is a preparation of consolidating management of output field and
    sort keys.

    Signed-off-by: Namhyung Kim
    Acked-by: Ingo Molnar
    Link: http://lkml.kernel.org/r/1400480762-22852-3-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • Those function pointers will be used to sort report output based on
    the selected fields. This is a preparation of later change.

    Signed-off-by: Namhyung Kim
    Acked-by: Ingo Molnar
    Link: http://lkml.kernel.org/r/1400480762-22852-2-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     

17 May, 2014

2 commits