1. 12 Jan, 2011 16 commits
    • Thomas Renninger's avatar
      cpuidle/x86/perf: fix power:cpu_idle double end events and throw cpu_idle... · f77cfe4e
      Thomas Renninger authored
      cpuidle/x86/perf: fix power:cpu_idle double end events and throw cpu_idle events from the cpuidle layer
      
      Currently intel_idle and acpi_idle driver show double cpu_idle "exit idle"
      events -> this patch fixes it and makes cpu_idle events throwing less complex.
      
      It also introduces cpu_idle events for all architectures which use
      the cpuidle subsystem, namely:
        - arch/arm/mach-at91/cpuidle.c
        - arch/arm/mach-davinci/cpuidle.c
        - arch/arm/mach-kirkwood/cpuidle.c
        - arch/arm/mach-omap2/cpuidle34xx.c
        - arch/drivers/acpi/processor_idle.c (for all cases, not only mwait)
        - arch/x86/kernel/process.c (did throw events before, but was a mess)
        - drivers/idle/intel_idle.c (did throw events before)
      
      Convention should be:
      Fire cpu_idle events inside the current pm_idle function (not somewhere
      down the the callee tree) to keep things easy.
      
      Current possible pm_idle functions in X86:
      c1e_idle, poll_idle, cpuidle_idle_call, mwait_idle, default_idle
      -> this is really easy is now.
      
      This affects userspace:
      The type field of the cpu_idle power event can now direclty get
      mapped to:
      /sys/devices/system/cpu/cpuX/cpuidle/stateX/{name,desc,usage,time,...}
      instead of throwing very CPU/mwait specific values.
      This change is not visible for the intel_idle driver.
      For the acpi_idle driver it should only be visible if the vendor
      misses out C-states in his BIOS.
      Another (perf timechart) patch reads out cpuidle info of cpu_idle
      events from:
      /sys/.../cpuidle/stateX/*, then the cpuidle events are mapped
      to the correct C-/cpuidle state again, even if e.g. vendors miss
      out C-states in their BIOS and for example only export C1 and C3.
      -> everything is fine.
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      CC: Robert Schoene <robert.schoene@tu-dresden.de>
      CC: Jean Pihet <j-pihet@ti.com>
      CC: Arjan van de Ven <arjan@linux.intel.com>
      CC: Ingo Molnar <mingo@elte.hu>
      CC: Frederic Weisbecker <fweisbec@gmail.com>
      CC: linux-pm@lists.linux-foundation.org
      CC: linux-acpi@vger.kernel.org
      CC: linux-kernel@vger.kernel.org
      CC: linux-perf-users@vger.kernel.org
      CC: linux-omap@vger.kernel.org
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      f77cfe4e
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · f878133b
      Linus Torvalds authored
      * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (39 commits)
        i915/gtt: fix ordering causing DMAR errors on object teardown.
        i915/gtt: fix ordering issues with status setup and DMAR
        drm/i915/execbuffer: Reorder binding of objects to favour restrictions
        drm/i915: If we hit OOM when allocating GTT pages, clear the aperture
        drm/i915/evict: Ensure we completely cleanup on failure
        drm/i915/execbuffer: Correctly clear the current object list upon EFAULT
        drm/i915/debugfs: Show all objects in the gtt
        drm/i915: Record AGP memory type upon error
        drm/i915: Periodically flush the active lists and requests
        drm/i915/gtt: Unmap the PCI pages after unbinding them from the GTT
        drm/i915: Record the error batchbuffer on each ring
        drm/i915: Include TLB miss overhead for computing WM
        drm/i915: Propagate error from flushing the ring
        drm/i915: detect & report PCH display error interrupts
        drm/i915: cleanup rc6 code
        drm/i915: fix rc6 enabling around suspend/resume
        drm/i915: re-enable rc6 support for Ironlake+
        drm/i915: Make the ring IMR handling private
        drm/i915/ringbuffer: Simplify the ring irq refcounting
        drm/i915/debugfs: Show the per-ring IMR
        ...
      f878133b
    • Linus Torvalds's avatar
      Merge branch 'tools' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6 · 1b386279
      Linus Torvalds authored
      * 'tools' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:
        tools: create power/x86/x86_energy_perf_policy
        tools: create power/x86/turbostat
      1b386279
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest · 968a8516
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest: (30 commits)
        ktest: Ask for the manditory config options instead of just failing
        ktest: Copy the last good and bad configs in config_bisect
        ktest: For grub reboot, use run_ssh instead of run_command
        ktest: Added force stop after success and failure
        ktest: Parse off the directory name in useconfig for failures
        ktest: Use different temp config name for minconfig
        ktest: Updated the sample.conf for the latest options
        ktest: Added compare script to test ktest.pl to sample.conf
        ktest: Added config_bisect test type
        ktest/cleanups: Added version 0.2, ssh as options
        ktest: Output something easy to parse for failure or success
        ktest: Allow a test case to undefine a default value
        ktest: Use $output_config instead of typing $outputdir/.config
        ktest: Write to stdout if no log file is given
        ktest: Use oldnoconfig instead of yes command
        ktest: Update the sample config file with more documentation
        ktest: New TEST_START instead of using [], and use real SHA1s
        ktest: Add poweroff after halt and powercycle after reboot
        ktest: Add POST_INSTALL to allow initrds to be created
        ktest: Added sample.conf, new %default option format
        ...
      968a8516
    • Linus Torvalds's avatar
      Merge branch 'stable/xenbus' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen · 94d4c4cd
      Linus Torvalds authored
      * 'stable/xenbus' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/xenbus: making backend support modular is too complex
        xen/pci: Make xen-pcifront be dependent on XEN_XENBUS_FRONTEND
        xen/xenbus: fixup checkpatch issues in xenbus_probe*
        xen/netfront: select XEN_XENBUS_FRONTEND
        xen/xenbus: clean up noise in xenbus_probe_frontend.c
        xen/xenbus: clean up noise in xenbus_probe_backend.c
        xen/xenbus: clean up noise in xenbus_probe.c
        xen/xenbus: cleanup debug noise in xenbus_comms.c
        xen/xenbus: clean up error handling
        xen/xenbus: make frontend bus GPL
        xen/xenbus: make sure backend bus is registered earlier
        xenbus/frontend: register bus earlier
        xen: remove xen/evtchn.h
        xen: add backend driver support
        xen: separate out frontend xenbus
      94d4c4cd
    • Anton Altaparmakov's avatar
      NTFS: writev() fix and maintenance/contact details update · 2818ef50
      Anton Altaparmakov authored
      Fix writev() to not keep writing the first segment over and over again
      instead of moving onto subsequent segments and update the NTFS entry in
      MAINTAINERS to reflect that Tuxera Inc. now supports the NTFS driver.
      Signed-off-by: default avatarAnton Altaparmakov <anton@tuxera.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2818ef50
    • Len Brown's avatar
    • Len Brown's avatar
      tools: create power/x86/x86_energy_perf_policy · d5532ee7
      Len Brown authored
      MSR_IA32_ENERGY_PERF_BIAS first became available on Westmere Xeon.
      It is implemented in all Sandy Bridge processors -- mobile, desktop and server.
      It is expected to become increasingly important in subsequent generations.
      
      x86_energy_perf_policy is a user-space utility to set the
      hardware energy vs performance policy hint in the processor.
      Most systems would benefit from "x86_energy_perf_policy normal"
      at system startup, as the hardware default is maximum performance
      at the expense of energy efficiency.
      
      See x86_energy_perf_policy.8 man page for more information.
      
      Background:
      
      Linux-2.6.36 added "epb" to /proc/cpuinfo to indicate
      if an x86 processor supports MSR_IA32_ENERGY_PERF_BIAS,
      without actually modifying the MSR.
      
      In March, 2010, Venkatesh Pallipadi proposed a small driver
      that programmed MSR_IA32_ENERGY_PERF_BIAS, based on
      the cpufreq governor in use.  It also offered
      a boot-time cmdline option to override.
      http://lkml.org/lkml/2010/3/4/457
      But hiding the hardware policy behind the
      governor choice was deemed "kinda icky".
      
      In June, 2010, I proposed a generic user/kernel API to
      generalize the power/performance policy trade-off.
      "RFC: /sys/power/policy_preference"
      http://lkml.org/lkml/2010/6/16/399
      That is my preference for implementing this capability,
      but I received no support on the list.
      
      So in September, 2010, I sent x86_energy_perf_policy.c to LKML,
      a user-space utility that scribbles directly to the MSR.
      http://lkml.org/lkml/2010/9/28/246
      
      Here is that same utility, after responding to some review feedback,
      to live in tools/power/, where it is easily found.
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      d5532ee7
    • Len Brown's avatar
      tools: create power/x86/turbostat · 103a8fea
      Len Brown authored
      turbostat is a Linux tool to observe proper operation
      of Intel(R) Turbo Boost Technology.
      
      turbostat displays the actual processor frequency
      on x86 processors that include APERF and MPERF MSRs.
      
      Note that turbostat is of limited utility on Linux
      kernels 2.6.29 and older, as acpi_cpufreq cleared
      APERF/MPERF up through that release.
      
      On Intel Core i3/i5/i7 (Nehalem) and newer processors,
      turbostat also displays residency in idle power saving states,
      which are necessary for diagnosing any cpuidle issues
      that may have an effect on turbo-mode.
      
      See the turbostat.8 man page for example usage.
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      103a8fea
    • Dave Airlie's avatar
      i915/gtt: fix ordering causing DMAR errors on object teardown. · d15eda5c
      Dave Airlie authored
      Previous to the last GTT rework we always rewrote the GTT then unmapped the
      object, somehow this got reversed in the rework in 2.6.37-rc5 timeframe.
      
      This fix needs to go to stable in an alternate form since the code changed.
      
      This fixes DMAR reports on my Ironlake HP2540p.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      d15eda5c
    • Dave Airlie's avatar
      i915/gtt: fix ordering issues with status setup and DMAR · a46f3108
      Dave Airlie authored
      This code was setting up the status page before setting the DMAR-is-on-bit,
      so we were getting DMAR errors on the status page. Reverse the two bits
      of init code to the correct result.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      a46f3108
    • Dave Airlie's avatar
      Merge branch 'drm-intel-fixes' of ssh://master.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel · 784fe39f
      Dave Airlie authored
      * 'drm-intel-fixes' of ssh://master.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel: (37 commits)
        drm/i915/execbuffer: Reorder binding of objects to favour restrictions
        drm/i915: If we hit OOM when allocating GTT pages, clear the aperture
        drm/i915/evict: Ensure we completely cleanup on failure
        drm/i915/execbuffer: Correctly clear the current object list upon EFAULT
        drm/i915/debugfs: Show all objects in the gtt
        drm/i915: Record AGP memory type upon error
        drm/i915: Periodically flush the active lists and requests
        drm/i915/gtt: Unmap the PCI pages after unbinding them from the GTT
        drm/i915: Record the error batchbuffer on each ring
        drm/i915: Include TLB miss overhead for computing WM
        drm/i915: Propagate error from flushing the ring
        drm/i915: detect & report PCH display error interrupts
        drm/i915: cleanup rc6 code
        drm/i915: fix rc6 enabling around suspend/resume
        drm/i915: re-enable rc6 support for Ironlake+
        drm/i915: Make the ring IMR handling private
        drm/i915/ringbuffer: Simplify the ring irq refcounting
        drm/i915/debugfs: Show the per-ring IMR
        drm/i915: Mask USER interrupts on gen6 (until required)
        drm/i915: Handle ringbuffer stalls when flushing
        ...
      784fe39f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 4162cf64
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (67 commits)
        cxgb4vf: recover from failure in cxgb4vf_open()
        netfilter: ebtables: make broute table work again
        netfilter: fix race in conntrack between dump_table and destroy
        ah: reload pointers to skb data after calling skb_cow_data()
        ah: update maximum truncated ICV length
        xfrm: check trunc_len in XFRMA_ALG_AUTH_TRUNC
        ehea: Increase the skb array usage
        net/fec: remove config FEC2 as it's used nowhere
        pcnet_cs: add new_id
        tcp: disallow bind() to reuse addr/port
        net/r8169: Update the function of parsing firmware
        net: ppp: use {get,put}_unaligned_be{16,32}
        CAIF: Fix IPv6 support in receive path for GPRS/3G
        arp: allow to invalidate specific ARP entries
        net_sched: factorize qdisc stats handling
        mlx4: Call alloc_etherdev to allocate RX and TX queues
        net: Add alloc_netdev_mqs function
        caif: don't set connection request param size before copying data
        cxgb4vf: fix mailbox data/control coherency domain race
        qlcnic: change module parameter permissions
        ...
      4162cf64
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · fb7b5a95
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc64: Fix bootup regression due to perf init ordering.
      fb7b5a95
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 5a62f995
      Linus Torvalds authored
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (72 commits)
        powerpc/pseries: Fix build of topology stuff without CONFIG_NUMA
        powerpc/pseries: Fix VPHN build errors on non-SMP systems
        powerpc/83xx: add mpc8308_p1m DMA controller device-tree node
        powerpc/83xx: add DMA controller to mpc8308 device-tree node
        powerpc/512x: try to free dma descriptors in case of allocation failure
        powerpc/512x: add MPC8308 dma support
        powerpc/512x: fix the hanged dma transfer issue
        powerpc/512x: scatter/gather dma fix
        powerpc/powermac: Make auto-loading of therm_pm72 possible
        of/address: Use propper endianess in get_flags
        powerpc/pci: Use printf extension %pR for struct resource
        powerpc: Remove unnecessary casts of void ptr
        powerpc: Disable VPHN polling during a suspend operation
        powerpc/pseries: Poll VPA for topology changes and update NUMA maps
        powerpc: iommu: Add device name to iommu error printks
        powerpc: Record vma->phys_addr in ioremap()
        powerpc: Update compat_arch_ptrace
        powerpc: Fix PPC_PTRACE_SETHWDEBUG on PPC_BOOK3S
        powerpc/time: printk time stamp init not correct
        powerpc: Minor cleanups for machdep.h
        ...
      5a62f995
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · f1d6d6cd
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (42 commits)
        IB/qib: Fix refcount leak in lkey/rkey validation
        IB/qib: Improve SERDES tunning on QMH boards
        IB/qib: Unnecessary delayed completions on RC connection
        IB/qib: Issue pre-emptive NAKs on eager buffer overflow
        IB/qib: RDMA lkey/rkey validation is inefficient for large MRs
        IB/qib: Change QPN increment
        IB/qib: Add fix missing from earlier patch
        IB/qib: Change receive queue/QPN selection
        IB/qib: Fix interrupt mitigation
        IB/qib: Avoid duplicate writes to the rcv head register
        IB/qib: Add a few new SERDES tunings
        IB/qib: Reset packet list after freeing
        IB/qib: New SERDES init routine and improvements to SI quality
        IB/qib: Clear WAIT_SEND flags when setting QP to error state
        IB/qib: Fix context allocation with multiple HCAs
        IB/qib: Fix multi-Florida HCA host panic on reboot
        IB/qib: Handle transitions from ACTIVE_DEFERRED to ACTIVE better
        IB/qib: UD send with immediate receive completion has wrong size
        IB/qib: Set port physical state even if other fields are invalid
        IB/qib: Generate completion callback on errors
        ...
      f1d6d6cd
  2. 11 Jan, 2011 24 commits