1. 12 6月, 2014 5 次提交
  2. 11 6月, 2014 4 次提交
  3. 10 6月, 2014 2 次提交
  4. 09 6月, 2014 1 次提交
    • V
      cpufreq: governor: remove copy_prev_load from 'struct cpu_dbs_common_info' · c8ae481b
      Viresh Kumar 提交于
      'copy_prev_load' was recently added by commit: 18b46abd (cpufreq: governor: Be
      friendly towards latency-sensitive bursty workloads).
      
      It actually is a bit redundant as we also have 'prev_load' which can store any
      integer value and can be used instead of 'copy_prev_load' by setting it zero.
      
      True load can also turn out to be zero during long idle intervals (and hence the
      actual value of 'prev_load' and the overloaded value can clash). However this is
      not a problem because, if the true load was really zero in the previous
      interval, it makes sense to evaluate the load afresh for the current interval
      rather than copying the previous load.
      
      So, drop 'copy_prev_load' and use 'prev_load' instead.
      
      Update comments as well to make it more clear.
      
      There is another change here which was probably missed by Srivatsa during the
      last version of updates he made. The unlikely in the 'if' statement was covering
      only half of the condition and the whole line should actually come under it.
      
      Also checkpatch is made more silent as it was reporting this (--strict option):
      
      CHECK: Alignment should match open parenthesis
      +		if (unlikely(wall_time > (2 * sampling_rate) &&
      +						j_cdbs->prev_load)) {
      Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
      Reviewed-by: NSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c8ae481b
  5. 08 6月, 2014 1 次提交
    • S
      cpufreq: governor: Be friendly towards latency-sensitive bursty workloads · 18b46abd
      Srivatsa S. Bhat 提交于
      Cpufreq governors like the ondemand governor calculate the load on the CPU
      periodically by employing deferrable timers. A deferrable timer won't fire
      if the CPU is completely idle (and there are no other timers to be run), in
      order to avoid unnecessary wakeups and thus save CPU power.
      
      However, the load calculation logic is agnostic to all this, and this can
      lead to the problem described below.
      
      Time (ms)               CPU 1
      
      100                Task-A running
      
      110                Governor's timer fires, finds load as 100% in the last
                         10ms interval and increases the CPU frequency.
      
      110.5              Task-A running
      
      120		   Governor's timer fires, finds load as 100% in the last
      		   10ms interval and increases the CPU frequency.
      
      125		   Task-A went to sleep. With nothing else to do, CPU 1
      		   went completely idle.
      
      200		   Task-A woke up and started running again.
      
      200.5		   Governor's deferred timer (which was originally programmed
      		   to fire at time 130) fires now. It calculates load for the
      		   time period 120 to 200.5, and finds the load is almost zero.
      		   Hence it decreases the CPU frequency to the minimum.
      
      210		   Governor's timer fires, finds load as 100% in the last
      		   10ms interval and increases the CPU frequency.
      
      So, after the workload woke up and started running, the frequency was suddenly
      dropped to absolute minimum, and after that, there was an unnecessary delay of
      10ms (sampling period) to increase the CPU frequency back to a reasonable value.
      And this pattern repeats for every wake-up-from-cpu-idle for that workload.
      This can be quite undesirable for latency- or response-time sensitive bursty
      workloads. So we need to fix the governor's logic to detect such wake-up-from-
      cpu-idle scenarios and start the workload at a reasonably high CPU frequency.
      
      One extreme solution would be to fake a load of 100% in such scenarios. But
      that might lead to undesirable side-effects such as frequency spikes (which
      might also need voltage changes) especially if the previous frequency happened
      to be very low.
      
      We just want to avoid the stupidity of dropping down the frequency to a minimum
      and then enduring a needless (and long) delay before ramping it up back again.
      So, let us simply carry forward the previous load - that is, let us just pretend
      that the 'load' for the current time-window is the same as the load for the
      previous window. That way, the frequency and voltage will continue to be set
      to whatever values they were set at previously. This means that bursty workloads
      will get a chance to influence the CPU frequency at which they wake up from
      cpu-idle, based on their past execution history. Thus, they might be able to
      avoid suffering from slow wakeups and long response-times.
      
      However, we should take care not to over-do this. For example, such a "copy
      previous load" logic will benefit cases like this: (where # represents busy
      and . represents idle)
      
      ##########.........#########.........###########...........##########........
      
      but it will be detrimental in cases like the one shown below, because it will
      retain the high frequency (copied from the previous interval) even in a mostly
      idle system:
      
      ##########.........#.................#.....................#...............
      
      (i.e., the workload finished and the remaining tasks are such that their busy
      periods are smaller than the sampling interval, which causes the timer to
      always get deferred. So, this will make the copy-previous-load logic copy
      the initial high load to subsequent idle periods over and over again, thus
      keeping the frequency high unnecessarily).
      
      So, we modify this copy-previous-load logic such that it is used only once
      upon every wakeup-from-idle. Thus if we have 2 consecutive idle periods, the
      previous load won't get blindly copied over; cpufreq will freshly evaluate the
      load in the second idle interval, thus ensuring that the system comes back to
      its normal state.
      
      [ The right way to solve this whole problem is to teach the CPU frequency
      governors to also track load on a per-task basis, not just a per-CPU basis,
      and then use both the data sources intelligently to set the appropriate
      frequency on the CPUs. But that involves redesigning the cpufreq subsystem,
      so this patch should make the situation bearable until then. ]
      
      Experimental results:
      +-------------------+
      
      I ran a modified version of ebizzy (called 'sleeping-ebizzy') that sleeps in
      between its execution such that its total utilization can be a user-defined
      value, say 10% or 20% (higher the utilization specified, lesser the amount of
      sleeps injected). This ebizzy was run with a single-thread, tied to CPU 8.
      
      Behavior observed with tracing (sample taken from 40% utilization runs):
      ------------------------------------------------------------------------
      
      Without patch:
      ~~~~~~~~~~~~~~
      kworker/8:2-12137  416.335742: cpu_frequency: state=2061000 cpu_id=8
      kworker/8:2-12137  416.335744: sched_switch: prev_comm=kworker/8:2 ==> next_comm=ebizzy
            <...>-40753  416.345741: sched_switch: prev_comm=ebizzy ==> next_comm=kworker/8:2
      kworker/8:2-12137  416.345744: cpu_frequency: state=4123000 cpu_id=8
      kworker/8:2-12137  416.345746: sched_switch: prev_comm=kworker/8:2 ==> next_comm=ebizzy
            <...>-40753  416.355738: sched_switch: prev_comm=ebizzy ==> next_comm=kworker/8:2
      <snip>  ---------------------------------------------------------------------  <snip>
            <...>-40753  416.402202: sched_switch: prev_comm=ebizzy ==> next_comm=swapper/8
           <idle>-0      416.502130: sched_switch: prev_comm=swapper/8 ==> next_comm=ebizzy
            <...>-40753  416.505738: sched_switch: prev_comm=ebizzy ==> next_comm=kworker/8:2
      kworker/8:2-12137  416.505739: cpu_frequency: state=2061000 cpu_id=8
      kworker/8:2-12137  416.505741: sched_switch: prev_comm=kworker/8:2 ==> next_comm=ebizzy
            <...>-40753  416.515739: sched_switch: prev_comm=ebizzy ==> next_comm=kworker/8:2
      kworker/8:2-12137  416.515742: cpu_frequency: state=4123000 cpu_id=8
      kworker/8:2-12137  416.515744: sched_switch: prev_comm=kworker/8:2 ==> next_comm=ebizzy
      
      Observation: Ebizzy went idle at 416.402202, and started running again at
      416.502130. But cpufreq noticed the long idle period, and dropped the frequency
      at 416.505739, only to increase it back again at 416.515742, realizing that the
      workload is in-fact CPU bound. Thus ebizzy needlessly ran at the lowest frequency
      for almost 13 milliseconds (almost 1 full sample period), and this pattern
      repeats on every sleep-wakeup. This could hurt latency-sensitive workloads quite
      a lot.
      
      With patch:
      ~~~~~~~~~~~
      
      kworker/8:2-29802  464.832535: cpu_frequency: state=2061000 cpu_id=8
      <snip>  ---------------------------------------------------------------------  <snip>
      kworker/8:2-29802  464.962538: sched_switch: prev_comm=kworker/8:2 ==> next_comm=ebizzy
            <...>-40738  464.972533: sched_switch: prev_comm=ebizzy ==> next_comm=kworker/8:2
      kworker/8:2-29802  464.972536: cpu_frequency: state=4123000 cpu_id=8
      kworker/8:2-29802  464.972538: sched_switch: prev_comm=kworker/8:2 ==> next_comm=ebizzy
            <...>-40738  464.982531: sched_switch: prev_comm=ebizzy ==> next_comm=kworker/8:2
      <snip>  ---------------------------------------------------------------------  <snip>
      kworker/8:2-29802  465.022533: sched_switch: prev_comm=kworker/8:2 ==> next_comm=ebizzy
            <...>-40738  465.032531: sched_switch: prev_comm=ebizzy ==> next_comm=kworker/8:2
      kworker/8:2-29802  465.032532: sched_switch: prev_comm=kworker/8:2 ==> next_comm=ebizzy
            <...>-40738  465.035797: sched_switch: prev_comm=ebizzy ==> next_comm=swapper/8
           <idle>-0      465.240178: sched_switch: prev_comm=swapper/8 ==> next_comm=ebizzy
            <...>-40738  465.242533: sched_switch: prev_comm=ebizzy ==> next_comm=kworker/8:2
      kworker/8:2-29802  465.242535: sched_switch: prev_comm=kworker/8:2 ==> next_comm=ebizzy
            <...>-40738  465.252531: sched_switch: prev_comm=ebizzy ==> next_comm=kworker/8:2
      
      Observation: Ebizzy went idle at 465.035797, and started running again at
      465.240178. Since ebizzy was the only real workload running on this CPU,
      cpufreq retained the frequency at 4.1Ghz throughout the run of ebizzy, no
      matter how many times ebizzy slept and woke-up in-between. Thus, ebizzy
      got the 10ms worth of 4.1 Ghz benefit during every sleep-wakeup (as compared
      to the run without the patch) and this boost gave a modest improvement in total
      throughput, as shown below.
      
      Sleeping-ebizzy records-per-second:
      -----------------------------------
      
      Utilization  Without patch  With patch  Difference (Absolute and % values)
          10%         274767        277046        +  2279 (+0.829%)
          20%         543429        553484        + 10055 (+1.850%)
          40%        1090744       1107959        + 17215 (+1.578%)
          60%        1634908       1662018        + 27110 (+1.658%)
      
      A rudimentary and somewhat approximately latency-sensitive workload such as
      sleeping-ebizzy itself showed a consistent, noticeable performance improvement
      with this patch. Hence, workloads that are truly latency-sensitive will benefit
      quite a bit from this change. Moreover, this is an overall win-win since this
      patch does not hurt power-savings at all (because, this patch does not reduce
      the idle time or idle residency; and the high frequency of the CPU when it goes
      to cpu-idle does not affect/hurt the power-savings of deep idle states).
      Signed-off-by: NSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Reviewed-by: NGautham R. Shenoy <ego@linux.vnet.ibm.com>
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      18b46abd
  6. 07 6月, 2014 4 次提交
  7. 06 6月, 2014 3 次提交
  8. 05 6月, 2014 1 次提交
  9. 04 6月, 2014 19 次提交
    • L
      Merge tag 'pm+acpi-3.16-rc1' of... · 4dc4226f
      Linus Torvalds 提交于
      Merge tag 'pm+acpi-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/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
        ...
      4dc4226f
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid into next · d6b92c2c
      Linus Torvalds 提交于
      Pull HID patches from Jiri Kosina:
       - RMI driver for Synaptics touchpads, by Benjamin Tissoires, Andrew
         Duggan and Jiri Kosina
       - cleanup of hid-sony driver and improved support for Sixaxis and
         Dualshock 4, by Frank Praznik
       - other usual small fixes and support for new device IDs
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (29 commits)
        HID: thingm: thingm_fwinfo[] doesn't need to be global
        HID: core: add two new usages for digitizer
        HID: hid-sensor-hub: new device id and quirk for STM Sensor hub
        HID: usbhid: enable NO_INIT_REPORTS quirk for Semico USB Keykoard
        HID: hid-sensor-hub: Set report quirk for Microsoft Surface
        HID: debug: add labels for HID Sensor Usages
        HID: uhid: Use kmemdup instead of kmalloc + memcpy
        HID: rmi: do not handle touchscreens through hid-rmi
        HID: quirk for Saitek RAT7 and MMO7 mices' mode button
        HID: core: fix validation of report id 0
        HID: rmi: fix masks for x and w_x data
        HID: rmi: fix wrong struct field name
        HID: rmi: do not fetch more than 16 bytes in a query
        HID: rmi: check for the existence of some optional queries before reading query 12
        HID: i2c-hid: hid report descriptor retrieval changes
        HID: add missing hid usages
        HID: hid-sony - allow 3rd party INTEC controller to turn off all leds
        HID: sony: Add blink support to the Sixaxis and DualShock 4 LEDs
        HID: sony: Initialize the controller LEDs with a device ID value
        HID: sony: Use the controller Bluetooth MAC address as the unique value in the battery name string
        ...
      d6b92c2c
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial into next · 1aacb90e
      Linus Torvalds 提交于
      Pull trivial tree changes from Jiri Kosina:
       "Usual pile of patches from trivial tree that make the world go round"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (23 commits)
        staging: go7007: remove reference to CONFIG_KMOD
        aic7xxx: Remove obsolete preprocessor define
        of: dma: doc fixes
        doc: fix incorrect formula to calculate CommitLimit value
        doc: Note need of bc in the kernel build from 3.10 onwards
        mm: Fix printk typo in dmapool.c
        modpost: Fix comment typo "Modules.symvers"
        Kconfig.debug: Grammar s/addition/additional/
        wimax: Spelling s/than/that/, wording s/destinatary/recipient/
        aic7xxx: Spelling s/termnation/termination/
        arm64: mm: Remove superfluous "the" in comment
        of: Spelling s/anonymouns/anonymous/
        dma: imx-sdma: Spelling s/determnine/determine/
        ath10k: Improve grammar in comments
        ath6kl: Spelling s/determnine/determine/
        of: Improve grammar for of_alias_get_id() documentation
        drm/exynos: Spelling s/contro/control/
        radio-bcm2048.c: fix wrong overflow check
        doc: printk-formats: do not mention casts for u64/s64
        doc: spelling error changes
        ...
      1aacb90e
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm into next · b05d59df
      Linus Torvalds 提交于
      Pull KVM updates from Paolo Bonzini:
       "At over 200 commits, covering almost all supported architectures, this
        was a pretty active cycle for KVM.  Changes include:
      
         - a lot of s390 changes: optimizations, support for migration, GDB
           support and more
      
         - ARM changes are pretty small: support for the PSCI 0.2 hypercall
           interface on both the guest and the host (the latter acked by
           Catalin)
      
         - initial POWER8 and little-endian host support
      
         - support for running u-boot on embedded POWER targets
      
         - pretty large changes to MIPS too, completing the userspace
           interface and improving the handling of virtualized timer hardware
      
         - for x86, a larger set of changes is scheduled for 3.17.  Still, we
           have a few emulator bugfixes and support for running nested
           fully-virtualized Xen guests (para-virtualized Xen guests have
           always worked).  And some optimizations too.
      
        The only missing architecture here is ia64.  It's not a coincidence
        that support for KVM on ia64 is scheduled for removal in 3.17"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (203 commits)
        KVM: add missing cleanup_srcu_struct
        KVM: PPC: Book3S PR: Rework SLB switching code
        KVM: PPC: Book3S PR: Use SLB entry 0
        KVM: PPC: Book3S HV: Fix machine check delivery to guest
        KVM: PPC: Book3S HV: Work around POWER8 performance monitor bugs
        KVM: PPC: Book3S HV: Make sure we don't miss dirty pages
        KVM: PPC: Book3S HV: Fix dirty map for hugepages
        KVM: PPC: Book3S HV: Put huge-page HPTEs in rmap chain for base address
        KVM: PPC: Book3S HV: Fix check for running inside guest in global_invalidates()
        KVM: PPC: Book3S: Move KVM_REG_PPC_WORT to an unused register number
        KVM: PPC: Book3S: Add ONE_REG register names that were missed
        KVM: PPC: Add CAP to indicate hcall fixes
        KVM: PPC: MPIC: Reset IRQ source private members
        KVM: PPC: Graciously fail broken LE hypercalls
        PPC: ePAPR: Fix hypercall on LE guest
        KVM: PPC: BOOK3S: Remove open coded make_dsisr in alignment handler
        KVM: PPC: BOOK3S: Always use the saved DAR value
        PPC: KVM: Make NX bit available with magic page
        KVM: PPC: Disable NX for old magic page using guests
        KVM: PPC: BOOK3S: HV: Add mixed page-size support for guest
        ...
      b05d59df
    • L
      Merge tag 'jfs-3.16' of git://github.com/kleikamp/linux-shaggy into next · daf342af
      Linus Torvalds 提交于
      Pull jfs changes from Dave Kleikamp.
      
      * tag 'jfs-3.16' of git://github.com/kleikamp/linux-shaggy:
        fs/jfs/super.c: convert simple_str to kstr
        fs/jfs/jfs_dmap.c: replace min/casting by min_t
        fs/jfs/super.c: remove 0 assignment to static + code clean-up
        fs/jfs/jfs_logmgr.c: remove NULL assignment on static
        JFS: Check for NULL before calling posix_acl_equiv_mode()
        fs/jfs/jfs_inode.c: atomically set inode->i_flags
      daf342af
    • L
      Merge tag 'gfs2-merge-window' of... · ba1bdefe
      Linus Torvalds 提交于
      Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw into next
      
      Pull gfs2 updates from Steven Whitehouse:
       "This must be about the smallest merge window patch set ever for GFS2.
        It is probably also the first one without a single patch from me.
        That is down to a combination of factors, and I have some things in
        the works that are not quite ready yet, that I hope to put in next
        time around.
      
        Returning to what is here this time...  we have 3 patches which fix
        various warnings.  Two are bug fixes (for quotas and also a rare
        recovery race condition).  The final patch, from Ben Marzinski, is an
        important change in the freeze code which has been in progress for
        some time.  This removes the need to take and drop the transaction
        lock for every single transaction, when the only time it was used, was
        at file system freeze time.  Ben's patch integrates the freeze
        operation into the journal flush code as an alternative with lower
        overheads and also lands up resolving some difficult to fix races at
        the same time"
      
      * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw:
        GFS2: Prevent recovery before the local journal is set
        GFS2: fs/gfs2/file.c: kernel-doc warning fixes
        GFS2: fs/gfs2/bmap.c: kernel-doc warning fixes
        GFS2: remove transaction glock
        GFS2: lops.c: replace 0 by NULL for pointers
        GFS2: quotas not being refreshed in gfs2_adjust_quota
      ba1bdefe
    • L
      Merge tag 'locks-v3.16' of git://git.samba.org/jlayton/linux into next · 74efa045
      Linus Torvalds 提交于
      Pull file locking changes from Jeff Layton:
       "Pretty quiet on the file-locking related front this cycle.  Just some
        small cleanups and the addition of some tracepoints in the lease
        handling code"
      
      * tag 'locks-v3.16' of git://git.samba.org/jlayton/linux:
        locks: add some tracepoints in the lease handling code
        fs/locks.c: replace seq_printf by seq_puts
        locks: ensure that fl_owner is always initialized properly in flock and lease codepaths
      74efa045
    • L
      Merge tag 'firewire-updates' of... · 1b363609
      Linus Torvalds 提交于
      Merge tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 into next
      
      Pull firewire updates from Stefan Richter:
       "IEEE 1394 (FireWire) subsystem changes: One optimization for some VIA
        controllers, one fix, one kconfig brushup"
      
      * tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: ohci: enable MSI for VIA VT6315 rev 1, drop cycle timer quirk
        firewire: Use COMPILE_TEST for build testing
        firewire: net: fix NULL derefencing in fwnet_probe()
      1b363609
    • T
      clocksource: versatile: Use sched_clock_register() · 1605abff
      Thomas Gleixner 提交于
      The newly merged versatile sched clock support uses a deprecated
      interface.  Of course that patch got routed through the ARM tree instead
      of going through the relevant maintainer tree.
      
      Use the proper interface so we can get rid of the cruft.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1605abff
    • J
      Merge branches 'for-3.16/i2c-hid', 'for-3.16/rmi4', 'for-3.16/sony' and... · beea3f4a
      Jiri Kosina 提交于
      Merge branches 'for-3.16/i2c-hid', 'for-3.16/rmi4', 'for-3.16/sony' and 'for-3.16/thingm' into for-linus
      beea3f4a
    • J
      Merge branches 'for-3.15/upstream-fixes' and 'for-3.16/upstream' into for-linus · af5666e0
      Jiri Kosina 提交于
      Conflicts:
      	drivers/hid/hid-sensor-hub.c
      af5666e0
    • L
      Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next · 3de0ef8d
      Linus Torvalds 提交于
      Pull x86/UV changes from Ingo Molnar:
       "Continued updates for SGI UV 3 hardware support"
      
      * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/UV: Fix conditional in gru_exit()
        x86/UV: Set n_lshift based on GAM_GR_CONFIG MMR for UV3
      3de0ef8d
    • L
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next · 06b77b97
      Linus Torvalds 提交于
      Pull x86 RAS changes from Ingo Molnar:
       "Improve mcheck device initialization and bootstrap robustness"
      
      * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        mce: Panic when a core has reached a timeout
        x86/mce: Improve mcheck_init_device() error handling
      06b77b97
    • L
      Merge branch 'x86-platform-for-linus' of... · 4aef77b2
      Linus Torvalds 提交于
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
      
      Pull x86 IOSF platform updates from Ingo Molnar:
       "IOSF (Intel OnChip System Fabric) updates:
      
         - generalize the IOSF interface to allow mixed mode drivers: non-IOSF
           drivers to utilize of IOSF features on IOSF platforms.
      
         - add 'Quark X1000' IOSF/MBI support
      
         - clean up BayTrail and Quark PCI ID enumeration"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, iosf: Add PCI ID macros for better readability
        x86, iosf: Add Quark X1000 PCI ID
        x86, iosf: Added Quark MBI identifiers
        x86, iosf: Make IOSF driver modular and usable by more drivers
      4aef77b2
    • L
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next · e0d23cdc
      Linus Torvalds 提交于
      Pull x86 mm update from Ingo Molnar:
      
       - speed up 256 GB PCI BAR ioremap()s
      
       - speed up PTE swapout page reclaim case
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, ioremap: Speed up check for RAM pages
        x86/mm: In the PTE swapout page reclaim case clear the accessed bit instead of flushing the TLB
      e0d23cdc
    • L
      Merge branch 'x86-microcode-for-linus' of... · c33c4054
      Linus Torvalds 提交于
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
      
      Pull x86 microcode changes from Ingo Molnar:
       "A microcode-debugging boot flag plus related refactoring"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, microcode: Add a disable chicken bit
        x86, boot: Carve out early cmdline parsing function
      c33c4054
    • L
      Merge branch 'x86-cleanups-for-linus' of... · e30c631b
      Linus Torvalds 提交于
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
      
      Pull x86 irq cleanup from Ingo Molnar:
       "A single, trivial cleanup"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/irq: Clean up VECTOR_UNDEFINED and VECTOR_RETRIGGERED definition
      e30c631b
    • L
      Merge branch 'x86-build-for-linus' of... · 33ef765e
      Linus Torvalds 提交于
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
      
      Pull x86 build cleanups from Ingo Molnar:
       "Two small build related cleanups"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/build: Supress realmode.bin is up to date message
        compiler-intel.h: Remove duplicate definition
      33ef765e
    • L
      Merge branch 'x86-boot-for-linus' of... · e7a38766
      Linus Torvalds 提交于
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into next
      
      Pull x86 boot changes from Ingo Molnar:
       "Two small cleanups"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, boot: Remove misc.h inclusion from compressed/string.c
        x86, boot: Do not include boot.h in string.c
      e7a38766