05 Jan, 2013

1 commit

  • This test can be used to check wheither kernel supports IPC message queue
    copy and restore features (required by CRIU project).

    Signed-off-by: Stanislav Kinsbursky
    Cc: Serge Hallyn
    Cc: "Eric W. Biederman"
    Cc: Pavel Emelyanov
    Cc: Al Viro
    Cc: KOSAKI Motohiro
    Cc: Michael Kerrisk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stanislav Kinsbursky
     

21 Dec, 2012

1 commit

  • Pull virtio update from Rusty Russell:
    "Some nice cleanups, and even a patch my wife did as a "live" demo for
    Latinoware 2012.

    There's a slightly non-trivial merge in virtio-net, as we cleaned up
    the virtio add_buf interface while DaveM accepted the mq virtio-net
    patches."

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (27 commits)
    virtio_console: Add support for remoteproc serial
    virtio_console: Merge struct buffer_token into struct port_buffer
    virtio: add drv_to_virtio to make code clearly
    virtio: use dev_to_virtio wrapper in virtio
    virtio-mmio: Fix irq parsing in command line parameter
    virtio_console: Free buffers from out-queue upon close
    virtio: Convert dev_printk(KERN_ to dev_(
    virtio_console: Use kmalloc instead of kzalloc
    virtio_console: Free buffer if splice fails
    virtio: tools: make it clear that virtqueue_add_buf() no longer returns > 0
    virtio: scsi: make it clear that virtqueue_add_buf() no longer returns > 0
    virtio: rpmsg: make it clear that virtqueue_add_buf() no longer returns > 0
    virtio: net: make it clear that virtqueue_add_buf() no longer returns > 0
    virtio: console: make it clear that virtqueue_add_buf() no longer returns > 0
    virtio: make virtqueue_add_buf() returning 0 on success, not capacity.
    virtio: console: don't rely on virtqueue_add_buf() returning capacity.
    virtio_net: don't rely on virtqueue_add_buf() returning capacity.
    virtio-net: remove unused skb_vnet_hdr->num_sg field
    virtio-net: correct capacity math on ring full
    virtio: move queue_index and num_free fields into core struct virtqueue.
    ...

    Linus Torvalds
     

19 Dec, 2012

1 commit

  • Pull powertool update from Len Brown:
    "This updates the tree w/ the latest version of turbostat, which
    reports temperature and - on SNB and later - Watts."

    Fix up semantic merge conflict as per Len.

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    tools: Allow tools to be installed in a user specified location
    tools/power: turbostat: make Makefile a bit more capable
    tools/power x86_energy_perf_policy: close /proc/stat in for_every_cpu()
    tools/power turbostat: v3.0: monitor Watts and Temperature
    tools/power turbostat: fix output buffering issue
    tools/power turbostat: prevent infinite loop on migration error path
    x86 power: define RAPL MSRs
    tools/power/x86/turbostat: share kernel MSR #defines

    Linus Torvalds
     

18 Dec, 2012

9 commits

  • We simplified virtqueue_add_buf(), make it clear in the callers.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • I was curious why sys_kcmp wasn't working, which led me to the testcase.
    It turned out I hadn't enabled CHECKPOINT_RESTORE in the kernel I was
    testing. Add a decoding of errno to the testcase to make that obvious.

    Signed-off-by: Dave Jones
    Acked-by: Cyrill Gorcunov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • In case breakpoint test exit non zero value it will cause make error.
    Better way is just print the test failure status.

    Signed-off-by: Dave Young
    Reviewed-by: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • In case kcmp_test exit non zero value it will cause make error.
    Better way is just print the test failure status.

    Signed-off-by: Dave Young
    Reviewed-by: Pekka Enberg
    Cc: Cyrill Gorcunov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • make run_tests need the target is run_tests instead of run-tests
    Also gcc output should be kcmp_test. Fix these two issues.

    Signed-off-by: Dave Young
    Cc: Pekka Enberg
    Cc: Cyrill Gorcunov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • Original behavior:
    bash-4.1$ make -C memory-hotplug run_tests
    make: Entering directory `/home/dave/git/linux-2.6/tools/testing/selftests/memory-hotplug'
    ./on-off-test.sh
    make: execvp: ./on-off-test.sh: Permission denied
    make: *** [run_tests] Error 127
    make: Leaving directory `/home/dave/git/linux-2.6/tools/testing/selftests/memory-hotplug'

    After applying the patch:
    bash-4.1$ make -C memory-hotplug run_tests
    make: Entering directory `/home/dave/git/linux-2.6/tools/testing/selftests/memory-hotplug'
    /bin/sh: ./on-off-test.sh: Permission denied
    memory-hotplug selftests: [FAIL]
    make: Leaving directory `/home/dave/git/linux-2.6/tools/testing/selftests/memory-hotplug'

    Signed-off-by: Dave Young
    Reviewed-by: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • Original behavior:
    bash-4.1$ make -C cpu-hotplug run_tests
    make: Entering directory `/home/dave/git/linux-2.6/tools/testing/selftests/cpu-hotplug'
    ./on-off-test.sh
    make: execvp: ./on-off-test.sh: Permission denied
    make: *** [run_tests] Error 127
    make: Leaving directory `/home/dave/git/linux-2.6/tools/testing/selftests/cpu-hotplug'

    After applying the patch:
    bash-4.1$ make -C cpu-hotplug run_tests
    make: Entering directory `/home/dave/git/linux-2.6/tools/testing/selftests/cpu-hotplug'
    /bin/sh: ./on-off-test.sh: Permission denied
    cpu-hotplug selftests: [FAIL]
    make: Leaving directory `/home/dave/git/linux-2.6/tools/testing/selftests/cpu-hotplug'

    Signed-off-by: Dave Young
    Reviewed-by: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • Original behavior:
    bash-4.1$ make -C mqueue run_tests
    make: Entering directory `/home/dave/git/linux-2.6/tools/testing/selftests/mqueue'
    ./mq_open_tests /test1
    Not running as root, but almost all tests require root in order to modify
    system settings. Exiting.
    make: *** [run_tests] Error 1
    make: Leaving directory `/home/dave/git/linux-2.6/tools/testing/selftests/mqueue'

    After applying the patch:
    bash-4.1$ make -C mqueue run_tests
    make: Entering directory `/home/dave/git/linux-2.6/tools/testing/selftests/mqueue'
    Not running as root, but almost all tests require root in order to modify
    system settings. Exiting.
    mq_open_tests: [FAIL]
    Not running as root, but almost all tests require root in order to modify
    system settings. Exiting.
    mq_perf_tests: [FAIL]
    make: Leaving directory `/home/dave/git/linux-2.6/tools/testing/selftests/mqueue'

    Signed-off-by: Dave Young
    Reviewed-by: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • Original behavior:
    bash-4.1$ make -C vm run_tests
    make: Entering directory `/home/dave/git/linux-2.6/tools/testing/selftests/vm'
    /bin/sh ./run_vmtests
    ./run_vmtests: line 24: /proc/sys/vm/nr_hugepages: Permission denied
    Please run this test as root
    make: *** [run_tests] Error 1
    make: Leaving directory `/home/dave/git/linux-2.6/tools/testing/selftests/vm'

    After applying the patch:
    bash-4.1$ make -C vm run_tests
    make: Entering directory `/home/dave/git/linux-2.6/tools/testing/selftests/vm'
    ./run_vmtests: line 24: /proc/sys/vm/nr_hugepages: Permission denied
    Please run this test as root
    vmtests: [FAIL]
    make: Leaving directory `/home/dave/git/linux-2.6/tools/testing/selftests/vm'

    Signed-off-by: Dave Young
    Cc: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     

14 Dec, 2012

3 commits

  • Pull ktest update from Steven Rostedt:
    "fixes and updated for new boot loaders"

    * tag 'ktest-v3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
    ktest: Test if target machine is up before install
    ktest: Fix breakage from change of oldnoconfig to olddefconfig
    ktest: Add native support for syslinux boot loader
    ktest: Sync before reboot
    ktest: Add support for grub2

    Linus Torvalds
     
  • Pull trivial branch from Jiri Kosina:
    "Usual stuff -- comment/printk typo fixes, documentation updates, dead
    code elimination."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    HOWTO: fix double words typo
    x86 mtrr: fix comment typo in mtrr_bp_init
    propagate name change to comments in kernel source
    doc: Update the name of profiling based on sysfs
    treewide: Fix typos in various drivers
    treewide: Fix typos in various Kconfig
    wireless: mwifiex: Fix typo in wireless/mwifiex driver
    messages: i2o: Fix typo in messages/i2o
    scripts/kernel-doc: check that non-void fcts describe their return value
    Kernel-doc: Convention: Use a "Return" section to describe return values
    radeon: Fix typo and copy/paste error in comments
    doc: Remove unnecessary declarations from Documentation/accounting/getdelays.c
    various: Fix spelling of "asynchronous" in comments.
    Fix misspellings of "whether" in comments.
    eisa: Fix spelling of "asynchronous".
    various: Fix spelling of "registered" in comments.
    doc: fix quite a few typos within Documentation
    target: iscsi: fix comment typos in target/iscsi drivers
    treewide: fix typo of "suport" in various comments and Kconfig
    treewide: fix typo of "suppport" in various comments
    ...

    Linus Torvalds
     
  • Pull IEEE 1394 (FireWire) subsystem updates from Stefan Richter:
    - IPv4-over-1394: fixes for broadcast and multicast
    - SBP-2: allow thin-provisioning related commands
    - trivia

    * tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
    firewire: net: remove unused variable in fwnet_receive_broadcast()
    firewire: net: Fix handling of fragmented multicast/broadcast packets.
    firewire: sbp2: allow WRITE SAME and REPORT SUPPORTED OPERATION CODES
    tools/firewire: nosy-dump: check for allocation failure

    Linus Torvalds
     

13 Dec, 2012

1 commit

  • Pull networking changes from David Miller:

    1) Allow to dump, monitor, and change the bridge multicast database
    using netlink. From Cong Wang.

    2) RFC 5961 TCP blind data injection attack mitigation, from Eric
    Dumazet.

    3) Networking user namespace support from Eric W. Biederman.

    4) tuntap/virtio-net multiqueue support by Jason Wang.

    5) Support for checksum offload of encapsulated packets (basically,
    tunneled traffic can still be checksummed by HW). From Joseph
    Gasparakis.

    6) Allow BPF filter access to VLAN tags, from Eric Dumazet and
    Daniel Borkmann.

    7) Bridge port parameters over netlink and BPDU blocking support
    from Stephen Hemminger.

    8) Improve data access patterns during inet socket demux by rearranging
    socket layout, from Eric Dumazet.

    9) TIPC protocol updates and cleanups from Ying Xue, Paul Gortmaker, and
    Jon Maloy.

    10) Update TCP socket hash sizing to be more in line with current day
    realities. The existing heurstics were choosen a decade ago.
    From Eric Dumazet.

    11) Fix races, queue bloat, and excessive wakeups in ATM and
    associated drivers, from Krzysztof Mazur and David Woodhouse.

    12) Support DOVE (Distributed Overlay Virtual Ethernet) extensions
    in VXLAN driver, from David Stevens.

    13) Add "oops_only" mode to netconsole, from Amerigo Wang.

    14) Support set and query of VEB/VEPA bridge mode via PF_BRIDGE, also
    allow DCB netlink to work on namespaces other than the initial
    namespace. From John Fastabend.

    15) Support PTP in the Tigon3 driver, from Matt Carlson.

    16) tun/vhost zero copy fixes and improvements, plus turn it on
    by default, from Michael S. Tsirkin.

    17) Support per-association statistics in SCTP, from Michele
    Baldessari.

    And many, many, driver updates, cleanups, and improvements. Too
    numerous to mention individually.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1722 commits)
    net/mlx4_en: Add support for destination MAC in steering rules
    net/mlx4_en: Use generic etherdevice.h functions.
    net: ethtool: Add destination MAC address to flow steering API
    bridge: add support of adding and deleting mdb entries
    bridge: notify mdb changes via netlink
    ndisc: Unexport ndisc_{build,send}_skb().
    uapi: add missing netconf.h to export list
    pkt_sched: avoid requeues if possible
    solos-pci: fix double-free of TX skb in DMA mode
    bnx2: Fix accidental reversions.
    bna: Driver Version Updated to 3.1.2.1
    bna: Firmware update
    bna: Add RX State
    bna: Rx Page Based Allocation
    bna: TX Intr Coalescing Fix
    bna: Tx and Rx Optimizations
    bna: Code Cleanup and Enhancements
    ath9k: check pdata variable before dereferencing it
    ath5k: RX timestamp is reported at end of frame
    ath9k_htc: RX timestamp is reported at end of frame
    ...

    Linus Torvalds
     

12 Dec, 2012

9 commits

  • Sometimes a test kernel will crash or hang on reboot (this is even more
    apparent when testing a config without CGROUPS on a box running
    systemd). When this happens, on the next iteration of installing a
    kernel, ktest will fail when it tries to install.

    Have ktest do a check to see if the target can be connected to via ssh
    before it tries to install. If it can't connect, then reboot again.
    This time the reboot will fail because it can't connect and will force a
    power cycle.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Pull perf updates from Ingo Molnar:
    "Lots of activity:

    211 files changed, 8328 insertions(+), 4116 deletions(-)

    most of it on the tooling side.

    Main changes:

    * ftrace enhancements and fixes from Steve Rostedt.

    * uprobes fixes, cleanups and preparation for the ARM port from Oleg
    Nesterov.

    * UAPI fixes, from David Howels - prepares the arch/x86 UAPI
    transition

    * Separate perf tests into multiple objects, one per test, from Jiri
    Olsa.

    * Make hardware event translations available in sysfs, from Jiri
    Olsa.

    * Fixes to /proc/pid/maps parsing, preparatory to supporting data
    maps, from Namhyung Kim

    * Implement ui_progress for GTK, from Namhyung Kim

    * Add framework for automated perf_event_attr tests, where tools with
    different command line options will be run from a 'perf test', via
    python glue, and the perf syscall will be intercepted to verify
    that the perf_event_attr fields set by the tool are those expected,
    from Jiri Olsa

    * Add a 'link' method for hists, so that we can have the leader with
    buckets for all the entries in all the hists. This new method is
    now used in the default 'diff' output, making the sum of the
    'baseline' column be 100%, eliminating blind spots.

    * libtraceevent fixes for compiler warnings trying to make perf it
    build on some distros, like fedora 14, 32-bit, some of the warnings
    really pointed to real bugs.

    * Add a browser for 'perf script' and make it available from the
    report and annotate browsers. It does filtering to find the
    scripts that handle events found in the perf.data file used. From
    Feng Tang

    * perf inject changes to allow showing where a task sleeps, from
    Andrew Vagin.

    * Makefile improvements from Namhyung Kim.

    * Add --pre and --post command hooks in 'stat', from Peter Zijlstra.

    * Don't stop synthesizing threads when one vanishes, this is for the
    existing threads when we start a tool like trace.

    * Use sched:sched_stat_runtime to provide a thread summary, this
    produces the same output as the 'trace summary' subcommand of
    tglx's original "trace" tool.

    * Support interrupted syscalls in 'trace'

    * Add an event duration column and filter in 'trace'.

    * There are references to the man pages in some tools, so try to
    build Documentation when installing, warning the user if that is
    not possible, from Borislav Petkov.

    * Give user better message if precise is not supported, from David
    Ahern.

    * Try to find cross-built objdump path by using the session
    environment information in the perf.data file header, from Irina
    Tirdea, original patch and idea by Namhyung Kim.

    * Diplays more output on features check for make V=1, so that one can
    figure out what is happening by looking at gcc output, etc. From
    Jiri Olsa.

    * Add on_exit implementation for systems without one, e.g. Android,
    from Bernhard Rosenkraenzer.

    * Only process events for vcpus of interest, helps handling large
    number of events, from David Ahern.

    * Cross compilation fixes for Android, from Irina Tirdea.

    * Add documentation on compiling for Android, from Irina Tirdea.

    * perf diff improvements from Jiri Olsa.

    * Target (task/user/cpu/syswide) handling improvements, from Namhyung
    Kim.

    * Add support in 'trace' for tracing workload given by command line,
    from Namhyung Kim.

    * ... and much more."

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (194 commits)
    uprobes: Use percpu_rw_semaphore to fix register/unregister vs dup_mmap() race
    perf evsel: Introduce is_group_member method
    perf powerpc: Use uapi/unistd.h to fix build error
    tools: Pass the target in descend
    tools: Honour the O= flag when tool build called from a higher Makefile
    tools: Define a Makefile function to do subdir processing
    perf ui: Always compile browser setup code
    perf ui: Add ui_progress__finish()
    perf ui gtk: Implement ui_progress functions
    perf ui: Introduce generic ui_progress helper
    perf ui tui: Move progress.c under ui/tui directory
    perf tools: Add basic event modifier sanity check
    perf tools: Omit group members from perf_evlist__disable/enable
    perf tools: Ensure single disable call per event in record comand
    perf tools: Fix 'disabled' attribute config for record command
    perf tools: Fix attributes for '{}' defined event groups
    perf tools: Use sscanf for parsing /proc/pid/maps
    perf tools: Add gtk. config option for launching GTK browser
    perf tools: Fix compile error on NO_NEWT=1 build
    perf hists: Initialize all of he->stat with zeroes
    ...

    Linus Torvalds
     
  • Merge misc updates from Andrew Morton:
    "About half of most of MM. Going very early this time due to
    uncertainty over the coreautounifiednumasched things. I'll send the
    other half of most of MM tomorrow. The rest of MM awaits a slab merge
    from Pekka."

    * emailed patches from Andrew Morton: (71 commits)
    memory_hotplug: ensure every online node has NORMAL memory
    memory_hotplug: handle empty zone when online_movable/online_kernel
    mm, memory-hotplug: dynamic configure movable memory and portion memory
    drivers/base/node.c: cleanup node_state_attr[]
    bootmem: fix wrong call parameter for free_bootmem()
    avr32, kconfig: remove HAVE_ARCH_BOOTMEM
    mm: cma: remove watermark hacks
    mm: cma: skip watermarks check for already isolated blocks in split_free_page()
    mm, oom: fix race when specifying a thread as the oom origin
    mm, oom: change type of oom_score_adj to short
    mm: cleanup register_node()
    mm, mempolicy: remove duplicate code
    mm/vmscan.c: try_to_freeze() returns boolean
    mm: introduce putback_movable_pages()
    virtio_balloon: introduce migration primitives to balloon pages
    mm: introduce compaction and migration for ballooned pages
    mm: introduce a common interface for balloon pages mobility
    mm: redefine address_space.assoc_mapping
    mm: adjust address_space_operations.migratepage() return code
    arch/sparc/kernel/sys_sparc_64.c: s/COLOUR/COLOR/
    ...

    Linus Torvalds
     
  • Commit fb16d891 "kconfig: replace 'oldnoconfig' with 'olddefconfig', and
    keep the old name", changed ktest's default config update from
    oldnoconfig to olddefconfig without adding oldnoconfig as a backup.
    The make oldnoconfig works much better than its backup of:
    yes '' | make oldconfig

    But due to this change, and the fact that ktest is used to build lots of
    older kernels (and for bisects), it forgoes the oldnoconfig completely.

    Cc: Adam Lee
    Cc: Michal Marek
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Also remove -Wextra because gcc-4.6 emits lots of irritating
    signed/unsigned comparison warnings.

    Signed-off-by: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • I installed Fedora 17 which no longer supports grub v1. I worked
    with grub2 for a while, but there's so many issues with it and automated
    rebooting, that I decided to switch to syslinux. Instead of using
    the REBOOT_SCRIPT and add customized changes to get syslinux booted,
    I thought it better to make ktest aware of syslinux and add options
    to simplify the use of syslinux on a target test box.

    Acked-by: H. Peter Anvin
    Cc: John 'Warthog9' Hawley
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Pull Char/Misc driver merge from Greg Kroah-Hartman:
    "Here is the "big" char/misc driver patches for 3.8-rc1. I'm starting
    to put random driver subsystems that I had previously sent you through
    the driver-core tree in this tree, as it makes more sense to do so.

    Nothing major here, the various __dev* removals, some mei driver
    updates, and other random driver-specific things from the different
    maintainers and developers.

    Note, some MFD drivers got added through this tree, and they are also
    coming in through the "real" MFD tree as well, due to some major
    mis-communication between me and the different developers. If you
    have any merge conflicts, take the ones from the MFD tree, not these
    ones, sorry about that.

    All of this has been in linux-next for a while.

    Signed-off-by: Greg Kroah-Hartman "

    Fix up trivial conflict in drivers/mmc/host/Kconfig due to new drivers
    having been added (both at the end, as usual..)

    * tag 'char-misc-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (84 commits)
    MAINTAINERS: remove drivers/staging/hv/
    misc/st_kim: Free resources in the error path of probe()
    drivers/char: for hpet, add count checking, and ~0UL instead of -1
    w1-gpio: Simplify & get rid of defines
    w1-gpio: Pinctrl-fy
    extcon: remove use of __devexit_p
    extcon: remove use of __devinit
    extcon: remove use of __devexit
    drivers: uio: Only allocate new private data when probing device tree node
    drivers: uio_dmem_genirq: Allow partial success when opening device
    drivers: uio_dmem_genirq: Don't use DMA_ERROR_CODE to indicate unmapped regions
    drivers: uio_dmem_genirq: Don't mix address spaces for dynamic region vaddr
    uio: remove use of __devexit
    uio: remove use of __devinitdata
    uio: remove use of __devinit
    uio: remove use of __devexit_p
    char: remove use of __devexit
    char: remove use of __devinitconst
    char: remove use of __devinitdata
    char: remove use of __devinit
    ...

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

    - Introduction of device PM QoS flags.

    - ACPI device power management update allowing subsystems other than
    PCI to use it more easily.

    - ACPI device enumeration rework allowing additional kinds of devices
    to be enumerated via ACPI. From Mika Westerberg, Adrian Hunter,
    Mathias Nyman, Andy Shevchenko, and Rafael J. Wysocki.

    - ACPICA update to version 20121018 from Bob Moore and Lv Zheng.

    - ACPI memory hotplug update from Wen Congyang and Yasuaki Ishimatsu.

    - Introduction of acpi_handle_() messaging macros and ACPI-based
    CPU hot-remove support from Toshi Kani.

    - ACPI EC updates from Feng Tang.

    - cpufreq updates from Viresh Kumar, Fabio Baltieri and others.

    - cpuidle changes to quickly notice governor prediction failure from
    Youquan Song.

    - Support for using multiple cpuidle drivers at the same time and
    cpuidle cleanups from Daniel Lezcano.

    - devfreq updates from Nishanth Menon and others.

    - cpupower update from Thomas Renninger.

    - Fixes and small cleanups all over the place.

    * tag 'pm+acpi-for-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (196 commits)
    mmc: sdhci-acpi: enable runtime-pm for device HID INT33C6
    ACPI: add Haswell LPSS devices to acpi_platform_device_ids list
    ACPI: add documentation about ACPI 5 enumeration
    pnpacpi: fix incorrect TEST_ALPHA() test
    ACPI / PM: Fix header of acpi_dev_pm_detach() in acpi.h
    ACPI / video: ignore BIOS initial backlight value for HP Folio 13-2000
    ACPI : do not use Lid and Sleep button for S5 wakeup
    ACPI / PNP: Do not crash due to stale pointer use during system resume
    ACPI / video: Add "Asus UL30VT" to ACPI video detect blacklist
    ACPI: do acpisleep dmi check when CONFIG_ACPI_SLEEP is set
    spi / ACPI: add ACPI enumeration support
    gpio / ACPI: add ACPI support
    PM / devfreq: remove compiler error with module governors (2)
    cpupower: IvyBridge (0x3a and 0x3e models) support
    cpupower: Provide -c param for cpupower monitor to schedule process on all cores
    cpupower tools: Fix warning and a bug with the cpu package count
    cpupower tools: Fix malloc of cpu_info structure
    cpupower tools: Fix issues with sysfs_topology_read_file
    cpupower tools: Fix minor warnings
    cpupower tools: Update .gitignore for files created in the debug directories
    ...

    Linus Torvalds
     
  • Before rebooting the target, run the sync command, as it seems that
    either Grub2 or systemd gets screwed up if you update to reboot a kernel
    once and do a reboot without doing a sync.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

08 Dec, 2012

1 commit


06 Dec, 2012

1 commit


03 Dec, 2012

2 commits


02 Dec, 2012

1 commit

  • Pull perf fixes from Ingo Molnar:
    "This is mostly about unbreaking architectures that took the UAPI
    changes in the v3.7 cycle, plus misc fixes."

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf kvm: Fix building perf kvm on non x86 arches
    perf kvm: Rename perf_kvm to perf_kvm_stat
    perf: Make perf build for x86 with UAPI disintegration applied
    perf powerpc: Use uapi/unistd.h to fix build error
    tools: Pass the target in descend
    tools: Honour the O= flag when tool build called from a higher Makefile
    tools: Define a Makefile function to do subdir processing
    x86: Export asm/{svm.h,vmx.h,perf_regs.h}
    perf tools: Fix strbuf_addf() when the buffer needs to grow
    perf header: Fix numa topology printing
    perf, powerpc: Fix hw breakpoints returning -ENOSPC

    Linus Torvalds
     

30 Nov, 2012

5 commits

  • When building x86_energy_perf_policy or turbostat within the confines of
    a packaging system such as RPM, we need to be able to have it install to
    the buildroot and not the root filesystem of the build machine. This
    adds a DESTDIR variable that when set will act as a prefix for the
    install location of these tools.

    Signed-off-by: Josh Boyer
    Signed-off-by: Len Brown

    Josh Boyer
     
  • The turbostat Makefile is pretty simple, its output is placed in the
    same directory as the source, the install rule has no concept of a
    prefix or sysroot, and you can set CC to use a specific compiler but
    not use the more familiar CROSS_COMPILE. By making a few minor changes
    these limitations are removed while leaving the default behavior
    matching what it used to be.

    Example build with these changes:
    make CROSS_COMPILE=i686-wrs-linux-gnu- DESTDIR=/tmp install

    or from the tools directory
    make CROSS_COMPILE=i686-wrs-linux-gnu- DESTDIR=/tmp turbostat_install

    Signed-off-by: Mark Asselstine
    Signed-off-by: Len Brown

    Mark Asselstine
     
  • Instead of returning out of for_every_cpu() we should break out of the loop=
    which will then tidy up correctly by closing the file /proc/stat.

    Signed-off-by: Colin Ian King
    Signed-off-by: Len Brown

    Colin Ian King
     
  • Show power in Watts and temperature in Celsius
    when hardware support is present.

    Intel's Sandy Bridge and Ivy Bridge processor generations support RAPL
    (Run-Time-Average-Power-Limiting). Per the Intel SDM
    (Intel® 64 and IA-32 Architectures Software Developer Manual)
    RAPL provides hardware energy counters and power control MSRs
    (Model Specific Registers). RAPL MSRs are designed primarily
    as a method to implement power capping. However, they are useful
    for monitoring system power whether or not power capping is used.

    In addition, Turbostat now shows temperature from DTS
    (Digital Thermal Sensor) and PTM (Package Thermal Monitor) hardware,
    if present.

    As before, turbostat reads MSRs, and never writes MSRs.

    New columns are present in turbostat output:

    The Pkg_W column shows Watts for each package (socket) in the system.
    On multi-socket systems, the system summary on the 1st row shows the sum
    for all sockets together.

    The Cor_W column shows Watts due to processors cores.
    Note that Core_W is included in Pkg_W.

    The optional GFX_W column shows Watts due to the graphics "un-core".
    Note that GFX_W is included in Pkg_W.

    The optional RAM_W column on server processors shows Watts due to DRAM DIMMS.
    As DRAM DIMMs are outside the processor package, RAM_W is not included in Pkg_W.

    The optional PKG_% and RAM_% columns on server processors shows the % of time
    in the measurement interval that RAPL power limiting is in effect on the
    package and on DRAM.

    Note that the RAPL energy counters have some limitations.

    First, hardware updates the counters about once every milli-second.
    This is fine for typical turbostat measurement intervals > 1 sec.
    However, when turbostat is used to measure events that approach
    1ms, the counters are less useful.

    Second, the 32-bit energy counters are subject to wrapping.
    For example, a counter incrementing 15 micro-Joule units
    on a 130 Watt TDP server processor could (in theory)
    roll over in about 9 minutes. Turbostat detects and handles
    up to 1 counter overflow per measurement interval.
    But when the measurement interval exceeds the guaranteed
    counter range, we can't detect if more than 1 overflow occured.
    So in this case turbostat indicates that the results are
    in question by replacing the fractional part of the Watts
    in the output with "**":

    Pkg_W Cor_W GFX_W
    3** 0** 0**

    Third, the RAPL counters are energy (Joule) counters -- they sum up
    weighted events in the package to estimate energy consumed. They are
    not analong power (Watt) meters. In practice, they tend to under-count
    because they don't cover every possible use of energy in the package.
    The accuracy of the RAPL counters will vary between product generations,
    and between SKU's in the same product generation, and with temperature.

    turbostat's -v (verbose) option now displays more power and thermal configuration
    information -- as shown on the turbostat.8 manual page.
    For example, it now displays the Package and DRAM Thermal Design Power (TDP):

    cpu0: MSR_PKG_POWER_INFO: 0x2f064001980410 (130 W TDP, RAPL 51 - 200 W, 0.045898 sec.)
    cpu0: MSR_DRAM_POWER_INFO,: 0x28025800780118 (35 W TDP, RAPL 15 - 75 W, 0.039062 sec.)
    cpu8: MSR_PKG_POWER_INFO: 0x2f064001980410 (130 W TDP, RAPL 51 - 200 W, 0.045898 sec.)
    cpu8: MSR_DRAM_POWER_INFO,: 0x28025800780118 (35 W TDP, RAPL 15 - 75 W, 0.039062 sec.)

    Signed-off-by: Len Brown

    Len Brown
     
  • In periodic mode, turbostat writes to stdout,
    but users were un-able to re-direct stdout, eg.

    turbostat > outputfile

    would result in an empty outputfile.

    Signed-off-by: Len Brown

    Len Brown
     

28 Nov, 2012

5 commits

  • Signed-off-by: Thomas Renninger
    Signed-off-by: Rafael J. Wysocki

    Thomas Renninger
     
  • If an MSR based monitor is run in parallel this is not needed. This is the
    default case on all/most Intel machines.

    But when only sysfs info is read via cpupower monitor -m Idle_Stats (typically
    the case for non root users) or when other monitors are PCI based (AMD),
    Idle_Stats, read from sysfs can be totally bogus:

    cpupower monitor -m Idle_Stats
    PKG |CORE|CPU | POLL | C1-N | C3-N | C6-N
    0| 0| 0| 0.00| 0.00| 0.24| 99.81
    0| 0| 32| 0.00| 0.00| 0.00| 100.7
    ...
    0| 17| 20| 0.00| 0.00| 0.00| 173.1
    0| 17| 52| 0.00| 0.00| 0.07| 173.0
    0| 18| 68| 0.00| 0.00| 0.00| 0.00
    0| 18| 76| 0.00| 0.00| 0.00| 0.00
    ...

    With the -c option all cores are woken up and the kernel
    did update cpuidle statistics before reading out sysfs.
    This causes some overhead. Therefore avoid if possible, use
    if needed:

    cpupower monitor -c -m Idle_Stats
    PKG |CORE|CPU | POLL | C1-N | C3-N | C6-N
    0| 0| 0| 0.00| 0.00| 0.00| 100.2
    0| 0| 32| 0.00| 0.00| 0.00| 100.2
    ...
    0| 8| 8| 0.00| 0.00| 0.00| 99.82
    0| 8| 40| 0.00| 0.00| 0.00| 99.81
    0| 9| 24| 0.00| 0.00| 0.00| 100.3
    0| 9| 56| 0.00| 0.00| 0.00| 100.2
    0| 16| 4| 0.00| 0.00| 0.00| 99.75
    0| 16| 36| 0.00| 0.00| 0.00| 99.38
    ...

    Signed-off-by: Thomas Renninger
    Signed-off-by: Rafael J. Wysocki

    Thomas Renninger
     
  • The pkgs member of cpupower_topology is being used as the number of
    cpu packages. As the comment in get_cpu_topology notes, the package ids
    are not guaranteed to be contiguous. So, simply setting pkgs to the value
    of the highest physical_package_id doesn't actually provide a count of
    the number of cpu packages. Instead, calculate pkgs by setting it to
    the number of distinct physical_packge_id values which is pretty easy
    to do after the core_info structs are sorted. Calculating pkgs this
    way also has the nice benefit of getting rid of a sign comparison warning
    that GCC 4.6 was reporting.

    Signed-off-by: Palmer Cox
    Signed-off-by: Thomas Renninger
    Signed-off-by: Rafael J. Wysocki

    Palmer Cox
     
  • The cpu_info member of cpupower_topology was being declared as an unnamed
    structure. This member was then being malloced using the size of the
    parent cpupower_topology * the number of cpus. This works
    because cpu_info is smaller than cpupower_topology. However, there is
    no guarantee that will always be the case. Making cpu_info its own
    top level structure (named cpuid_core_info) allows for mallocing the actual
    size of this structure. This also lets us get rid of a redefinition of
    the structure in topology.c with slightly different field names.

    Signed-off-by: Palmer Cox
    Signed-off-by: Thomas Renninger
    Signed-off-by: Rafael J. Wysocki

    Palmer Cox
     
  • Fix a variety of issues with sysfs_topology_read_file:
    * The return value of sysfs_topology_read_file function was not properly
    being checked for failure.
    * The function was reading int valued sysfs variables and then returning
    their value. So, even if a function was trying to check the return value
    of this function, a caller would not be able to tell an failure code apart
    from reading a negative value. This also conflicted with the comment on the
    function which said that a return value of 0 indicated success.
    * The function was parsing int valued sysfs values with strtoul instead of
    strtol.
    * The function was non-static even though it was only used in the
    file it was declared in.

    Signed-off-by: Palmer Cox
    Signed-off-by: Thomas Renninger
    Signed-off-by: Rafael J. Wysocki

    Palmer Cox