28 Sep, 2018

1 commit

  • The Hygon Dhyana CPU has NONSTOP TSC feature, so enable the ACPI driver
    support to it.

    Signed-off-by: Pu Wen
    Signed-off-by: Borislav Petkov
    Acked-by: Rafael J. Wysocki
    Cc: rjw@rjwysocki.net
    Cc: tglx@linutronix.de
    Cc: mingo@redhat.com
    Cc: hpa@zytor.com
    Cc: x86@kernel.org
    Cc: thomas.lendacky@amd.com
    Cc: lenb@kernel.org
    Cc: rafael@kernel.org
    Cc: linux-acpi@vger.kernel.org
    Link: https://lkml.kernel.org/r/cce6ee26f4e2ebbab493433264d89d7cea661284.1537533369.git.puwen@hygon.cn

    Pu Wen
     

30 Mar, 2018

1 commit


02 Mar, 2017

1 commit


13 Oct, 2016

1 commit


26 Oct, 2015

1 commit


08 Jul, 2015

1 commit


27 May, 2015

1 commit

  • Rename topology_thread_cpumask() to topology_sibling_cpumask()
    for more consistency with scheduler code.

    Signed-off-by: Bartosz Golaszewski
    Reviewed-by: Thomas Gleixner
    Acked-by: Russell King
    Acked-by: Catalin Marinas
    Cc: Benoit Cousson
    Cc: Fenghua Yu
    Cc: Guenter Roeck
    Cc: Jean Delvare
    Cc: Jonathan Corbet
    Cc: Linus Torvalds
    Cc: Oleg Drokin
    Cc: Peter Zijlstra
    Cc: Rafael J. Wysocki
    Cc: Russell King
    Cc: Viresh Kumar
    Link: http://lkml.kernel.org/r/1432645896-12588-2-git-send-email-bgolaszewski@baylibre.com
    Signed-off-by: Ingo Molnar

    Bartosz Golaszewski
     

03 Apr, 2015

3 commits

  • Replace the clockevents_notify() call with an explicit function call.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Rafael J. Wysocki
    Cc: Len Brown
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1552509.UntNmyqF5v@vostro.rjw.lan
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • Replace the clockevents_notify() call with an explicit function call.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Rafael J. Wysocki
    Cc: Len Brown
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1521832.mm0ZfkTzTA@vostro.rjw.lan
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • While looking through the (ab)use of the clockevents_notify()
    function I stumbled over the following gem in the acpi_pad code:

    if (lapic_detected_unstable && !lapic_marked_unstable) {
    /* LAPIC could halt in idle, so notify users */
    for_each_online_cpu(i)
    clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ON, &i);
    lapic_marked_unstable = 1;
    }

    This code calls on the cpu which detects the lapic unstable
    condition first clockevents_notify() to tell the core code that
    the broadcast should be enabled on all online cpus. Brilliant
    stuff that as it notifies the core code a num_online_cpus()
    times that the broadcast should be enabled on the current cpu.

    This probably has never been noticed because that code got never
    tested with NOHZ=n and HIGHRES_TIMER=n or it just worked by
    chance because one of the other mechanisms told the core in the
    right way that the local apic timer is wreckaged.

    Sigh, this is:

    - The 4th incarnation of idle drivers which has their own mechanism
    to detect and deal with X86_FEATURE_ARAT.

    - The 2nd incarnation of fake idle mechanisms with a different set of
    brainmelting bugs.

    - Has been merged against an explicit NAK of the scheduler
    maintainer with the promise to improve it over time.

    - Another example of featuritis driven trainwreck engineering.

    - Another pointless waste of my time.

    Fix this nonsense by removing that lapic detection and
    notification logic and simply call into the clockevents code
    unconditonally. The ARAT feature is marked in the lapic
    clockevent already so the core code will just ignore the
    requests and return.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Rafael J. Wysocki
    Cc: Peter Zijlstra
    Cc: Borislav Petkov
    Cc: H. Peter Anvin
    Cc: Linus Torvalds
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/1887788.RObRuI4tSv@vostro.rjw.lan
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     

08 Nov, 2014

1 commit

  • Many sysfs *_show function use cpu{list,mask}_scnprintf to copy cpumap
    to the buffer aligned to PAGE_SIZE, append '\n' and '\0' to return null
    terminated buffer with newline.

    This patch creates a new helper function cpumap_print_to_pagebuf in
    cpumask.h using newly added bitmap_print_to_pagebuf and consolidates
    most of those sysfs functions using the new helper function.

    Signed-off-by: Sudeep Holla
    Suggested-by: Stephen Boyd
    Tested-by: Stephen Boyd
    Acked-by: "Rafael J. Wysocki"
    Acked-by: Bjorn Helgaas
    Acked-by: Peter Zijlstra (Intel)
    Cc: Greg Kroah-Hartman
    Cc: x86@kernel.org
    Cc: linux-acpi@vger.kernel.org
    Cc: linux-pci@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Sudeep Holla
     

27 May, 2014

1 commit


28 Apr, 2014

1 commit

  • The purpose of the acpi_pad driver is to implement the "processor power
    aggregator" device as described in the ACPI 4.0 spec section 8.5. It
    takes requests from the BIOS (via ACPI) to put a specified number of
    CPUs into idle, in order to save power, until further notice.

    It does this by creating high-priority threads that try to keep the CPUs
    in a high C-state (using the monitor/mwait CPU instructions). The
    mwait() call is in a loop that checks periodically if the thread should
    end and a few other things.

    It was discovered through testing that the power_saving threads were
    causing the system to consume more power than the system was consuming
    before the threads were created. A counter in the main loop of
    power_saving_thread() revealed that it was spinning. The mwait()
    instruction was not keeping the CPU in a high C state very much if at
    all.

    Here is a simplification of the loop in function power_saving_thread() in
    drivers/acpi/acpi_pad.c

    while (!kthread_should_stop()) {
    :
    try_to_freeze()
    :
    while (!need_resched()) {
    :
    if (!need_resched())
    __mwait(power_saving_mwait_eax, 1);
    :
    if (jiffies > expire_time) {
    do_sleep = 1;
    break;
    }
    }
    }

    If need_resched() returns true, then mwait() is not called. It was
    returning true because of things like timer interrupts, as in the
    following sequence.

    hrtimer_interrupt->__run_hrtimer->tick_sched_timer-> update_process_times->
    rcu_check_callbacks->rcu_pending->__rcu_pending->set_need_resched

    Kernels 3.5.0-rc2+ do not exhibit this problem, because a patch to
    try_to_freeze() in include/linux/freezer.h introduces a call to
    might_sleep(), which ultimately calls schedule() to clear the reschedule
    flag and allows the the loop to execute the call to mwait().

    However, the changes to try_to_freeze are unrelated to acpi_pad, and it
    does not seem like a good idea to rely on an unrelated patch in a
    function that could later be changed and reintroduce this bug.

    Therefore, it seems better to make an explicit call to schedule() in the
    outer loop when the need_resched flag is set.

    Reported-and-tested-by: Stuart Hayes
    Signed-off-by: Tony Camuso
    Signed-off-by: Rafael J. Wysocki

    Tony Camuso
     

21 Feb, 2014

1 commit


25 Jan, 2014

1 commit

  • Pull ACPI and power management updates from Rafael Wysocki:
    "As far as the number of commits goes, the top spot belongs to ACPI
    this time with cpufreq in the second position and a handful of PM
    core, PNP and cpuidle updates. They are fixes and cleanups mostly, as
    usual, with a couple of new features in the mix.

    The most visible change is probably that we will create struct
    acpi_device objects (visible in sysfs) for all devices represented in
    the ACPI tables regardless of their status and there will be a new
    sysfs attribute under those objects allowing user space to check that
    status via _STA.

    Consequently, ACPI device eject or generally hot-removal will not
    delete those objects, unless the table containing the corresponding
    namespace nodes is unloaded, which is extremely rare. Also ACPI
    container hotplug will be handled quite a bit differently and cpufreq
    will support CPU boost ("turbo") generically and not only in the
    acpi-cpufreq driver.

    Specifics:

    - ACPI core changes to make it create a struct acpi_device object for
    every device represented in the ACPI tables during all namespace
    scans regardless of the current status of that device. In
    accordance with this, ACPI hotplug operations will not delete those
    objects, unless the underlying ACPI tables go away.

    - On top of the above, new sysfs attribute for ACPI device objects
    allowing user space to check device status by triggering the
    execution of _STA for its ACPI object. From Srinivas Pandruvada.

    - ACPI core hotplug changes reducing code duplication, integrating
    the PCI root hotplug with the core and reworking container hotplug.

    - ACPI core simplifications making it use ACPI_COMPANION() in the
    code "glueing" ACPI device objects to "physical" devices.

    - ACPICA update to upstream version 20131218. This adds support for
    the DBG2 and PCCT tables to ACPICA, fixes some bugs and improves
    debug facilities. From Bob Moore, Lv Zheng and Betty Dall.

    - Init code change to carry out the early ACPI initialization
    earlier. That should allow us to use ACPI during the timekeeping
    initialization and possibly to simplify the EFI initialization too.
    From Chun-Yi Lee.

    - Clenups of the inclusions of ACPI headers in many places all over
    from Lv Zheng and Rashika Kheria (work in progress).

    - New helper for ACPI _DSM execution and rework of the code in
    drivers that uses _DSM to execute it via the new helper. From
    Jiang Liu.

    - New Win8 OSI blacklist entries from Takashi Iwai.

    - Assorted ACPI fixes and cleanups from Al Stone, Emil Goode, Hanjun
    Guo, Lan Tianyu, Masanari Iida, Oliver Neukum, Prarit Bhargava,
    Rashika Kheria, Tang Chen, Zhang Rui.

    - intel_pstate driver updates, including proper Baytrail support,
    from Dirk Brandewie and intel_pstate documentation from Ramkumar
    Ramachandra.

    - Generic CPU boost ("turbo") support for cpufreq from Lukasz
    Majewski.

    - powernow-k6 cpufreq driver fixes from Mikulas Patocka.

    - cpufreq core fixes and cleanups from Viresh Kumar, Jane Li, Mark
    Brown.

    - Assorted cpufreq drivers fixes and cleanups from Anson Huang, John
    Tobias, Paul Bolle, Paul Walmsley, Sachin Kamat, Shawn Guo, Viresh
    Kumar.

    - cpuidle cleanups from Bartlomiej Zolnierkiewicz.

    - Support for hibernation APM events from Bin Shi.

    - Hibernation fix to avoid bringing up nonboot CPUs with ACPI EC
    disabled during thaw transitions from Bjørn Mork.

    - PM core fixes and cleanups from Ben Dooks, Leonardo Potenza, Ulf
    Hansson.

    - PNP subsystem fixes and cleanups from Dmitry Torokhov, Levente
    Kurusa, Rashika Kheria.

    - New tool for profiling system suspend from Todd E Brandt and a
    cpupower tool cleanup from One Thousand Gnomes"

    * tag 'pm+acpi-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (153 commits)
    thermal: exynos: boost: Automatic enable/disable of BOOST feature (at Exynos4412)
    cpufreq: exynos4x12: Change L0 driver data to CPUFREQ_BOOST_FREQ
    Documentation: cpufreq / boost: Update BOOST documentation
    cpufreq: exynos: Extend Exynos cpufreq driver to support boost
    cpufreq / boost: Kconfig: Support for software-managed BOOST
    acpi-cpufreq: Adjust the code to use the common boost attribute
    cpufreq: Add boost frequency support in core
    intel_pstate: Add trace point to report internal state.
    cpufreq: introduce cpufreq_generic_get() routine
    ARM: SA1100: Create dummy clk_get_rate() to avoid build failures
    cpufreq: stats: create sysfs entries when cpufreq_stats is a module
    cpufreq: stats: free table and remove sysfs entry in a single routine
    cpufreq: stats: remove hotplug notifiers
    cpufreq: stats: handle cpufreq_unregister_driver() and suspend/resume properly
    cpufreq: speedstep: remove unused speedstep_get_state
    platform: introduce OF style 'modalias' support for platform bus
    PM / tools: new tool for suspend/resume performance optimization
    ACPI: fix module autoloading for ACPI enumerated devices
    ACPI: add module autoloading support for ACPI enumerated devices
    ACPI: fix create_modalias() return value handling
    ...

    Linus Torvalds
     

20 Dec, 2013

1 commit

  • People seem to delight in writing wrong and broken mwait idle routines;
    collapse the lot.

    This leaves mwait_play_dead() the sole remaining user of __mwait() and
    new __mwait() users are probably doing it wrong.

    Also remove __sti_mwait() as its unused.

    Cc: Arjan van de Ven
    Cc: Jacob Jun Pan
    Cc: Mike Galbraith
    Cc: Len Brown
    Cc: Rui Zhang
    Acked-by: Rafael Wysocki
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20131212141654.616820819@infradead.org
    Signed-off-by: H. Peter Anvin

    Peter Zijlstra
     

07 Dec, 2013

1 commit

  • Replace direct inclusions of , and
    , which are incorrect, with
    inclusions and remove some inclusions of those files that aren't
    necessary.

    First of all, , and
    should not be included directly from any files that are built for
    CONFIG_ACPI unset, because that generally leads to build warnings about
    undefined symbols in !CONFIG_ACPI builds. For CONFIG_ACPI set,
    includes those files and for CONFIG_ACPI unset it
    provides stub ACPI symbols to be used in that case.

    Second, there are ordering dependencies between those files that always
    have to be met. Namely, it is required that be included
    prior to so that the acpi_pci_root declarations the
    latter depends on are always there. And which provides
    basic ACPICA type declarations should always be included prior to any other
    ACPI headers in CONFIG_ACPI builds. That also is taken care of including
    as appropriate.

    Signed-off-by: Lv Zheng
    Cc: Greg Kroah-Hartman
    Cc: Matthew Garrett
    Cc: Tony Luck
    Cc: "H. Peter Anvin"
    Acked-by: Bjorn Helgaas (drivers/pci stuff)
    Acked-by: Konrad Rzeszutek Wilk (Xen stuff)
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     

05 Sep, 2013

1 commit

  • Pull PTR_RET() removal patches from Rusty Russell:
    "PTR_RET() is a weird name, and led to some confusing usage. We ended
    up with PTR_ERR_OR_ZERO(), and replacing or fixing all the usages.

    This has been sitting in linux-next for a whole cycle"

    [ There are still some PTR_RET users scattered about, with some of them
    possibly being new, but most of them existing in Rusty's tree too. We
    have that

    #define PTR_RET(p) PTR_ERR_OR_ZERO(p)

    thing in , so they continue to work for now - Linus ]

    * tag 'PTR_RET-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    GFS2: Replace PTR_RET with PTR_ERR_OR_ZERO
    Btrfs: volume: Replace PTR_RET with PTR_ERR_OR_ZERO
    drm/cma: Replace PTR_RET with PTR_ERR_OR_ZERO
    sh_veu: Replace PTR_RET with PTR_ERR_OR_ZERO
    dma-buf: Replace PTR_RET with PTR_ERR_OR_ZERO
    drivers/rtc: Replace PTR_RET with PTR_ERR_OR_ZERO
    mm/oom_kill: remove weird use of ERR_PTR()/PTR_ERR().
    staging/zcache: don't use PTR_RET().
    remoteproc: don't use PTR_RET().
    pinctrl: don't use PTR_RET().
    acpi: Replace weird use of PTR_RET.
    s390: Replace weird use of PTR_RET.
    PTR_RET is now PTR_ERR_OR_ZERO(): Replace most.
    PTR_RET is now PTR_ERR_OR_ZERO

    Linus Torvalds
     

15 Jul, 2013

2 commits

  • It is quite some time that this one has been deprecated.
    Get rid of it.

    Should some really important user be overseen, it may be reverted and
    the userspace program worked on first, but it is time to do something
    to get rid of this old stuff...

    Signed-off-by: Thomas Renninger
    Acked-by: Matthew Garrett
    Acked-by: Henrique de Moraes Holschuh
    Signed-off-by: Rafael J. Wysocki

    Thomas Renninger
     
  • This functions is really weird. It sets rc to -ENOMEM, then overrides
    it. It was converted to PTR_RET in a1458187 when it should have
    simply been rewritten.

    This version makes it more explicit, with a single IS_ERR() test.

    Cc: Alexandru Gheorghiu
    Signed-off-by: Rusty Russell
    Acked-by: Rafael J. Wysocki

    Rusty Russell
     

25 Mar, 2013

1 commit


26 Jan, 2013

1 commit

  • The second argument of ACPI driver .remove() operation is only used
    by the ACPI processor driver and the value passed to that driver
    through it is always available from the given struct acpi_device
    object's removal_type field. For this reason, the second ACPI driver
    .remove() argument is in fact useless, so drop it.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Jiang Liu
    Acked-by: Toshi Kani
    Acked-by: Yinghai Lu

    Rafael J. Wysocki
     

15 Nov, 2012

1 commit


26 Jul, 2012

1 commit


14 Jul, 2012

1 commit

  • In an effort to be fair to bound processes,
    acpi_pad periodically moves its forced-idle threads.

    The default interval for moving the threads is 10 seconds.
    Measurements show that reducing this to 1 second has no
    power or performance impact, so reduce default to 1 second.

    Signed-off-by: Len Brown

    Len Brown
     

30 Jun, 2012

1 commit

  • The acpi_pad driver can get stuck in destroy_power_saving_task()
    waiting for kthread_stop() to stop a power_saving thread. The problem
    is that the isolated_cpus_lock mutex is owned when
    destroy_power_saving_task() calls kthread_stop(), which waits for a
    power_saving thread to end, and the power_saving thread tries to
    acquire the isolated_cpus_lock when it calls round_robin_cpu(). This
    patch fixes the issue by making round_robin_cpu() use its own mutex.

    https://bugzilla.kernel.org/show_bug.cgi?id=42981

    Cc: stable@vger.kernel.org
    Signed-off-by: Stuart Hayes
    Signed-off-by: Len Brown

    Stuart Hayes
     

14 Jun, 2012

1 commit


23 Mar, 2011

2 commits


22 Oct, 2010

1 commit


30 Sep, 2010

1 commit


18 Sep, 2010

1 commit


27 Jul, 2010

1 commit

  • Now that all arches have been converted over to use generic time via
    clocksources or arch_gettimeoffset(), we can remove the GENERIC_TIME
    config option and simplify the generic code.

    Signed-off-by: John Stultz
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    John Stultz
     

04 Jun, 2010

1 commit


29 May, 2010

2 commits

  • * 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6:
    intel_idle: native hardware cpuidle driver for latest Intel processors
    ACPI: acpi_idle: touch TS_POLLING only in the non-MWAIT case
    acpi_pad: uses MONITOR/MWAIT, so it doesn't need to clear TS_POLLING
    sched: clarify commment for TS_POLLING
    ACPI: allow a native cpuidle driver to displace ACPI
    cpuidle: make cpuidle_curr_driver static
    cpuidle: add cpuidle_unregister_driver() error check
    cpuidle: fail to register if !CONFIG_CPU_IDLE

    Linus Torvalds
     
  • acpi pad driver kind of aggressively marks TSC as unstable at init
    time, on mwait capable and non X86_FEATURE_NONSTOP_TSC systems. This is
    irrespective of whether pad driver is ever going to be used on the
    system or deep C-states are supported/used. This will affect every user
    who just happens to compile in (or get a kernel version which
    compiles in) acpi pad driver.

    Move mark_tsc_unstable() out of init to the actual idle invocation path
    of the pad driver.

    There is also another bug/missing_feature in the code that it does not
    support 'always running apic timer' and switches to broadcast mode
    unconditionally. Shaohua, can you take a look at that please.

    Signed-off-by: Venkatesh Pallipadi
    Signed-off-by: Len Brown

    Venkatesh Pallipadi
     

28 May, 2010

1 commit


06 May, 2010

1 commit

  • cpi_device_class can only be 19 characters and a NULL terminator.

    With the current name we get a buffer overflow in acpi_pad_add()
    strcpy(acpi_device_class(device), ACPI_PROCESSOR_AGGREGATOR_CLASS);

    [akpm@linux-foundation.org: call it acpi_pad, per Shaohua Li]
    Signed-off-by: Dan Carpenter
    Cc: walter harms
    Acked-by: Shaohua Li
    Cc: Len Brown
    Acked-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Dan Carpenter
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

20 Jan, 2010

1 commit