17 Jun, 2009

9 commits

  • Round the slow work queue's cull and OOM timeouts to whole second boundary
    with round_jiffies(). The slow work queue uses a pair of timers to cull
    idle threads and, after OOM, to delay new thread creation.

    This patch also extracts the mod_timer() logic for the cull timer into a
    separate helper function.

    By rounding non-time-critical timers such as these to whole seconds, they
    will be batched up to fire at the same time rather than being spread out.
    This allows the CPU wake up less, which saves power.

    Signed-off-by: Chris Peterson
    Signed-off-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Peterson
     
  • Move supplementary groups implementation to kernel/groups.c .
    kernel/sys.c already accumulated quite a few random stuff.

    Do strictly copy/paste + add required headers to compile. Compile-tested
    on many configs and archs.

    Signed-off-by: Alexey Dobriyan
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Signed-off-by: Robert P. J. Day
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • Currently, nobody wants to turn UNEVICTABLE_LRU off. Thus this
    configurability is unnecessary.

    Signed-off-by: KOSAKI Motohiro
    Cc: Johannes Weiner
    Cc: Andi Kleen
    Acked-by: Minchan Kim
    Cc: David Woodhouse
    Cc: Matt Mackall
    Cc: Rik van Riel
    Cc: Lee Schermerhorn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • Currently, the following scenario appears to be possible in theory:

    * Tasks are frozen for hibernation or suspend.
    * Free pages are almost exhausted.
    * Certain piece of code in the suspend code path attempts to allocate
    some memory using GFP_KERNEL and allocation order less than or
    equal to PAGE_ALLOC_COSTLY_ORDER.
    * __alloc_pages_internal() cannot find a free page so it invokes the
    OOM killer.
    * The OOM killer attempts to kill a task, but the task is frozen, so
    it doesn't die immediately.
    * __alloc_pages_internal() jumps to 'restart', unsuccessfully tries
    to find a free page and invokes the OOM killer.
    * No progress can be made.

    Although it is now hard to trigger during hibernation due to the memory
    shrinking carried out by the hibernation code, it is theoretically
    possible to trigger during suspend after the memory shrinking has been
    removed from that code path. Moreover, since memory allocations are
    going to be used for the hibernation memory shrinking, it will be even
    more likely to happen during hibernation.

    To prevent it from happening, introduce the oom_killer_disabled switch
    that will cause __alloc_pages_internal() to fail in the situations in
    which the OOM killer would have been called and make the freezer set
    this switch after tasks have been successfully frozen.

    [akpm@linux-foundation.org: be nicer to the namespace]
    Signed-off-by: Rafael J. Wysocki
    Cc: Fengguang Wu
    Cc: David Rientjes
    Acked-by: Pavel Machek
    Cc: Mel Gorman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Callers of alloc_pages_node() can optionally specify -1 as a node to mean
    "allocate from the current node". However, a number of the callers in
    fast paths know for a fact their node is valid. To avoid a comparison and
    branch, this patch adds alloc_pages_exact_node() that only checks the nid
    with VM_BUG_ON(). Callers that know their node is valid are then
    converted.

    Signed-off-by: Mel Gorman
    Reviewed-by: Christoph Lameter
    Reviewed-by: KOSAKI Motohiro
    Reviewed-by: Pekka Enberg
    Acked-by: Paul Mundt [for the SLOB NUMA bits]
    Cc: Peter Zijlstra
    Cc: Nick Piggin
    Cc: Dave Hansen
    Cc: Lee Schermerhorn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • Fix allocating page cache/slab object on the unallowed node when memory
    spread is set by updating tasks' mems_allowed after its cpuset's mems is
    changed.

    In order to update tasks' mems_allowed in time, we must modify the code of
    memory policy. Because the memory policy is applied in the process's
    context originally. After applying this patch, one task directly
    manipulates anothers mems_allowed, and we use alloc_lock in the
    task_struct to protect mems_allowed and memory policy of the task.

    But in the fast path, we didn't use lock to protect them, because adding a
    lock may lead to performance regression. But if we don't add a lock,the
    task might see no nodes when changing cpuset's mems_allowed to some
    non-overlapping set. In order to avoid it, we set all new allowed nodes,
    then clear newly disallowed ones.

    [lee.schermerhorn@hp.com:
    The rework of mpol_new() to extract the adjusting of the node mask to
    apply cpuset and mpol flags "context" breaks set_mempolicy() and mbind()
    with MPOL_PREFERRED and a NULL nodemask--i.e., explicit local
    allocation. Fix this by adding the check for MPOL_PREFERRED and empty
    node mask to mpol_new_mpolicy().

    Remove the now unneeded 'nodes = NULL' from mpol_new().

    Note that mpol_new_mempolicy() is always called with a non-NULL
    'nodes' parameter now that it has been removed from mpol_new().
    Therefore, we don't need to test nodes for NULL before testing it for
    'empty'. However, just to be extra paranoid, add a VM_BUG_ON() to
    verify this assumption.]
    [lee.schermerhorn@hp.com:

    I don't think the function name 'mpol_new_mempolicy' is descriptive
    enough to differentiate it from mpol_new().

    This function applies cpuset set context, usually constraining nodes
    to those allowed by the cpuset. However, when the 'RELATIVE_NODES flag
    is set, it also translates the nodes. So I settled on
    'mpol_set_nodemask()', because the comment block for mpol_new() mentions
    that we need to call this function to "set nodes".

    Some additional minor line length, whitespace and typo cleanup.]
    Signed-off-by: Miao Xie
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Christoph Lameter
    Cc: Paul Menage
    Cc: Nick Piggin
    Cc: Yasunori Goto
    Cc: Pekka Enberg
    Cc: David Rientjes
    Signed-off-by: Lee Schermerhorn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miao Xie
     
  • Fix the bug that the kernel didn't spread page cache/slab object evenly
    over all the allowed nodes when spread flags were set by updating tasks'
    page/slab spread flags in time.

    Signed-off-by: Miao Xie
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Christoph Lameter
    Cc: Paul Menage
    Cc: Nick Piggin
    Cc: Yasunori Goto
    Cc: Pekka Enberg
    Cc: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miao Xie
     
  • The kernel still allocates the page caches on old node after modifying its
    cpuset's mems when 'memory_spread_page' was set, or it didn't spread the
    page cache evenly over all the nodes that faulting task is allowed to usr
    after memory_spread_page was set. it is caused by the old mem_allowed and
    flags of the task, the current kernel doesn't updates them unless some
    function invokes cpuset_update_task_memory_state(), it is too late
    sometimes.We must update the mem_allowed and the flags of the tasks in
    time.

    Slab has the same problem.

    The following patches fix this bug by updating tasks' mem_allowed and
    spread flag after its cpuset's mems or spread flag is changed.

    This patch:

    Extract a function from cpuset_update_task_memory_state(). It will be
    used later for update tasks' page/slab spread flags after its cpuset's
    flag is set

    Signed-off-by: Miao Xie
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Christoph Lameter
    Cc: Paul Menage
    Cc: Nick Piggin
    Cc: Yasunori Goto
    Cc: Pekka Enberg
    Cc: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miao Xie
     

16 Jun, 2009

3 commits


15 Jun, 2009

2 commits

  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (53 commits)
    .gitignore: ignore *.lzma files
    kbuild: add generic --set-str option to scripts/config
    kbuild: simplify argument loop in scripts/config
    kbuild: handle non-existing options in scripts/config
    kallsyms: generalize text region handling
    kallsyms: support kernel symbols in Blackfin on-chip memory
    documentation: make version fix
    kbuild: fix a compile warning
    gitignore: Add GNU GLOBAL files to top .gitignore
    kbuild: fix delay in setlocalversion on readonly source
    README: fix misleading pointer to the defconf directory
    vmlinux.lds.h update
    kernel-doc: cleanup perl script
    Improve vmlinux.lds.h support for arch specific linker scripts
    kbuild: fix headers_exports with boolean expression
    kbuild/headers_check: refine extern check
    kbuild: fix "Argument list too long" error for "make headers_check",
    ignore *.patch files
    Remove bashisms from scripts
    menu: fix embedded menu presentation
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (31 commits)
    trivial: remove the trivial patch monkey's name from SubmittingPatches
    trivial: Fix a typo in comment of addrconf_dad_start()
    trivial: usb: fix missing space typo in doc
    trivial: pci hotplug: adding __init/__exit macros to sgi_hotplug
    trivial: Remove the hyphen from git commands
    trivial: fix ETIMEOUT -> ETIMEDOUT typos
    trivial: Kconfig: .ko is normally not included in module names
    trivial: SubmittingPatches: fix typo
    trivial: Documentation/dell_rbu.txt: fix typos
    trivial: Fix Pavel's address in MAINTAINERS
    trivial: ftrace:fix description of trace directory
    trivial: unnecessary (void*) cast removal in sound/oss/msnd.c
    trivial: input/misc: Fix typo in Kconfig
    trivial: fix grammo in bus_for_each_dev() kerneldoc
    trivial: rbtree.txt: fix rb_entry() parameters in sample code
    trivial: spelling fix in ppc code comments
    trivial: fix typo in bio_alloc kernel doc
    trivial: Documentation/rbtree.txt: cleanup kerneldoc of rbtree.txt
    trivial: Miscellaneous documentation typo fixes
    trivial: fix typo milisecond/millisecond for documentation and source comments.
    ...

    Linus Torvalds
     

14 Jun, 2009

1 commit

  • * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (80 commits)
    x86, mce: Add boot options for corrected errors
    x86, mce: Fix mce printing
    x86, mce: fix for mce counters
    x86, mce: support action-optional machine checks
    x86, mce: define MCE_VECTOR
    x86, mce: rename mce_notify_user to mce_notify_irq
    x86: fix panic with interrupts off (needed for MCE)
    x86, mce: export MCE severities coverage via debugfs
    x86, mce: implement new status bits
    x86, mce: print header/footer only once for multiple MCEs
    x86, mce: default to panic timeout for machine checks
    x86, mce: improve mce_get_rip
    x86, mce: make non Monarch panic message "Fatal machine check" too
    x86, mce: switch x86 machine check handler to Monarch election.
    x86, mce: implement panic synchronization
    x86, mce: implement bootstrapping for machine check wakeups
    x86, mce: check early in exception handler if panic is needed
    x86, mce: add table driven machine check grading
    x86, mce: remove TSC print heuristic
    x86, mce: log corrected errors when panicing
    ...

    Linus Torvalds
     

13 Jun, 2009

14 commits

  • commit 3f68535adad (clocksource: sanity check sysfs clocksource
    changes) prevents selection of non high resolution capable
    clocksources when high resolution mode is active, but did not take
    into account that the same rules apply for highres=off nohz=on.

    Check the tick device mode instead of hrtimer_hres_active() to verify
    whether the system needs to be protected from a switch to jiffies or
    other non highres capable clock sources.

    Reported-by: Luming Yu
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM: Add empty suspend/resume device irq functions
    PM/Hibernate: Move NVS routines into a seperate file (v2).
    PM/Hibernate: Rename disk.c to hibernate.c
    PM: Separate suspend to RAM functionality from core
    Driver Core: Rework platform suspend/resume, print warning
    PM: Remove device_type suspend()/resume()
    PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2)
    PM/Suspend: Do not shrink memory before suspend
    PM: Remove bus_type suspend_late()/resume_early() V2
    PM core: rename suspend and resume functions
    PM: Rename device_power_down/up()
    PM: Remove unused asm/suspend.h
    x86: unify power/cpu_(32|64).c
    x86: unify power/cpu_(32|64) copyright notes
    x86: unify power/cpu_(32|64) regarding restoring processor state
    x86: unify power/cpu_(32|64) regarding saving processor state
    x86: unify power/cpu_(32|64) global variables
    x86: unify power/cpu_(32|64) headers
    PM: Warn if interrupts are enabled during suspend-resume of sysdevs
    PM/ACPI/x86: Fix sparse warning in arch/x86/kernel/acpi/sleep.c

    Linus Torvalds
     
  • …x/kernel/git/tip/linux-2.6-tip

    * 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf_counter: Start documenting HAVE_PERF_COUNTERS requirements
    perf_counter: Add forward/backward attribute ABI compatibility
    perf record: Explicity program a default counter
    perf_counter: Remove PERF_TYPE_RAW special casing
    perf_counter: PERF_TYPE_HW_CACHE is a hardware counter too
    powerpc, perf_counter: Fix performance counter event types
    perf_counter/x86: Add a quirk for Atom processors
    perf_counter tools: Remove one L1-data alias

    Linus Torvalds
     
  • The *_nvs_* routines in swsusp.c make use of the io*map()
    functions, which are only provided for HAS_IOMEM, thus
    breaking compilation if HAS_IOMEM is not set. Fix this
    by moving the *_nvs_* routines into hibernate_nvs.c, which
    is only compiled if HAS_IOMEM is set.

    [rjw: Change the name of the new file to hibernate_nvs.c, add the
    license line to the header comment.]

    Signed-off-by: Cornelia Huck
    Acked-by: Pavel Machek
    Signed-off-by: Rafael J. Wysocki

    Cornelia Huck
     
  • Change the name of kernel/power/disk.c to kernel/power/hibernate.c
    in analogy with the file names introduced by the changes that
    separated the suspend to RAM and standby funtionality from the
    common PM functions.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek

    Rafael J. Wysocki
     
  • Move the suspend to RAM and standby code from kernel/power/main.c
    to two separate files, kernel/power/suspend.c containing the basic
    functions and kernel/power/suspend_test.c containing the automatic
    suspend test facility based on the RTC clock alarm.

    There are no changes in functionality related to these modifications.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek

    Rafael J. Wysocki
     
  • A future patch is going to modify the memory shrinking code so that
    it will make memory allocations to free memory instead of using an
    artificial memory shrinking mechanism for that. For this purpose it
    is convenient to move swsusp_shrink_memory() from
    kernel/power/swsusp.c to kernel/power/snapshot.c, because the new
    memory-shrinking code is going to use things that are local to
    kernel/power/snapshot.c .

    [rev. 2: Make some functions static and remove their headers from
    kernel/power/power.h]

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Acked-by: Wu Fengguang

    Rafael J. Wysocki
     
  • Remove the shrinking of memory from the suspend-to-RAM code, where
    it is not really necessary.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Nigel Cunningham
    Acked-by: Wu Fengguang

    Rafael J. Wysocki
     
  • This patch (as1241) renames a bunch of functions in the PM core.
    Rather than go through a boring list of name changes, suffice it to
    say that in the end we have a bunch of pairs of functions:

    device_resume_noirq dpm_resume_noirq
    device_resume dpm_resume
    device_complete dpm_complete
    device_suspend_noirq dpm_suspend_noirq
    device_suspend dpm_suspend
    device_prepare dpm_prepare

    in which device_X does the X operation on a single device and dpm_X
    invokes device_X for all devices in the dpm_list.

    In addition, the old dpm_power_up and device_resume_noirq have been
    combined into a single function (dpm_resume_noirq).

    Lastly, dpm_suspend_start and dpm_resume_end are the renamed versions
    of the former top-level device_suspend and device_resume routines.

    Signed-off-by: Alan Stern
    Acked-by: Magnus Damm
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     
  • Rename the functions performing "_noirq" dev_pm_ops
    operations from device_power_down() and device_power_up()
    to device_suspend_noirq() and device_resume_noirq().

    The new function names are chosen to show that the functions
    are responsible for calling the _noirq() versions to finalize
    the suspend/resume operation. The current function names do
    not perform power down/up anymore so the names may be misleading.

    Global function renames:
    - device_power_down() -> device_suspend_noirq()
    - device_power_up() -> device_resume_noirq()

    Static function renames:
    - suspend_device_noirq() -> __device_suspend_noirq()
    - resume_device_noirq() -> __device_resume_noirq()

    Signed-off-by: Magnus Damm
    Acked-by: Greg Kroah-Hartman
    Acked-by: Len Brown
    Signed-off-by: Rafael J. Wysocki

    Magnus Damm
     
  • …nel/git/penberg/slab-2.6

    * 'topic/slab/earlyboot-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
    slab: setup cpu caches later on when interrupts are enabled
    slab,slub: don't enable interrupts during early boot
    slab: fix gfp flag in setup_cpu_cache()
    x86: make zap_low_mapping could be used early
    irq: slab alloc for default irq_affinity
    memcg: fix page_cgroup fatal error in FLATMEM

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest: (31 commits)
    lguest: add support for indirect ring entries
    lguest: suppress notifications in example Launcher
    lguest: try to batch interrupts on network receive
    lguest: avoid sending interrupts to Guest when no activity occurs.
    lguest: implement deferred interrupts in example Launcher
    lguest: remove obsolete LHREQ_BREAK call
    lguest: have example Launcher service all devices in separate threads
    lguest: use eventfds for device notification
    eventfd: export eventfd_signal and eventfd_fget for lguest
    lguest: allow any process to send interrupts
    lguest: PAE fixes
    lguest: PAE support
    lguest: Add support for kvm_hypercall4()
    lguest: replace hypercall name LHCALL_SET_PMD with LHCALL_SET_PGD
    lguest: use native_set_* macros, which properly handle 64-bit entries when PAE is activated
    lguest: map switcher with executable page table entries
    lguest: fix writev returning short on console output
    lguest: clean up length-used value in example launcher
    lguest: Segment selectors are 16-bit long. Fix lg_cpu.ss1 definition.
    lguest: beyond ARRAY_SIZE of cpu->arch.gdt
    ...

    Linus Torvalds
     
  • fix ETIMEOUT -> ETIMEDOUT typos

    Signed-off-by: Jean Delvare
    Signed-off-by: Jiri Kosina

    Jean Delvare
     
  • Fix coding style whitespace fixes. Patch compile tested
    Before :-
    total: 1 errors, 0 warnings, 46 lines checked
    After
    total: 0 errors, 0 warnings, 46 lines checked

    Before :-
    text data bss dec hex filename
    107 48 0 155 9b kernel/power/poweroff.o
    After
    text data bss dec hex filename
    107 48 0 155 9b kernel/power/poweroff.o

    Signed-off-by: Manish Katiyar
    Signed-off-by: Jiri Kosina

    Manish Katiyar
     

12 Jun, 2009

11 commits

  • lguest needs kick_process: wake_up_process() does nothing if a process
    is running, which isn't sufficient (we need it in the kernel).

    And lguest support is usually modular.

    Signed-off-by: Rusty Russell
    Cc: Ingo Molnar

    Rusty Russell
     
  • Provide for means of extending the perf_counter_attr in a 'natural' way.

    We allow growing the structure by appending fields at the end by specifying
    the full structure size inside it.

    When a new kernel sees a smaller (old) structure, it will 0 pad the tail.
    When an old kernel sees a larger (new) structure, it will verify the tail
    consists of 0s, otherwise fail.

    If we fail due to a size-mismatch, we return -E2BIG and write the kernel's
    native attribe size back into the provided structure.

    Furthermore, add some attribute verification, so that we'll fail counter
    creation when unknown bits are present (PERF_SAMPLE, PERF_FORMAT, or in
    the __reserved fields).

    (This ABI detail is introduced while keeping the existing syscall ABI.)

    Signed-off-by: Peter Zijlstra
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Arnaldo Carvalho de Melo
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • The PERF_TYPE_RAW special case seems superfluous these days. Remove
    it and add it to the switch() stmt like the others.

    [ Impact: cleanup ]

    Signed-off-by: Peter Zijlstra
    Cc: Mike Galbraith
    Cc: Paul Mackerras
    Cc: Arnaldo Carvalho de Melo
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • It's theoretically possible that there are exception table entries
    which point into the (freed) init text of modules. These could cause
    future problems if other modules get loaded into that memory and cause
    an exception as we'd see the wrong fixup. The only case I know of is
    kvm-intel.ko (when CONFIG_CC_OPTIMIZE_FOR_SIZE=n).

    Amerigo fixed this long-standing FIXME in the x86 version, but this
    patch is more general.

    This implements trim_init_extable(); most archs are simple since they
    use the standard lib/extable.c sort code. Alpha and IA64 use relative
    addresses in their fixups, so thier trimming is a slight variation.

    Sparc32 is unique; it doesn't seem to define ARCH_HAS_SORT_EXTABLE,
    yet it defines its own sort_extable() which overrides the one in lib.
    It doesn't sort, so we have to mark deleted entries instead of
    actually trimming them.

    Inspired-by: Amerigo Wang
    Signed-off-by: Rusty Russell
    Cc: linux-alpha@vger.kernel.org
    Cc: sparclinux@vger.kernel.org
    Cc: linux-ia64@vger.kernel.org

    Rusty Russell
     
  • Impact: API cleanup

    For historical reasons, 'bool' parameters must be an int, not a bool.
    But there are around 600 users, so a conversion seems like useless churn.

    So we use __same_type() to distinguish, and handle both cases.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Impact: cleanup

    Rather than hack KPARAM_KMALLOCED into the perm field, separate it out.
    Since the perm field was 32 bits and only needs 16, we don't add bloat.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • It takes an 'int' for historical reasons, and there are only two
    users: simply switch it over to bool.

    The other user (uvesafb.c) will get a (harmless-on-x86) warning until
    the next patch is applied.

    Cc: Brad Douglas
    Cc: Michal Januszewski
    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Ingo had

    [ 0.000000] ------------[ cut here ]------------
    [ 0.000000] WARNING: at mm/bootmem.c:537 alloc_arch_preferred_bootmem+0x2b/0x71()
    [ 0.000000] Hardware name: System Product Name
    [ 0.000000] Modules linked in:
    [ 0.000000] Pid: 0, comm: swapper Tainted: G W 2.6.30-tip-03087-g0bb2618-dirty #52506
    [ 0.000000] Call Trace:
    [ 0.000000] [] warn_slowpath_common+0x60/0x90
    [ 0.000000] [] warn_slowpath_null+0xd/0x10
    [ 0.000000] [] alloc_arch_preferred_bootmem+0x2b/0x71
    [ 0.000000] [] ___alloc_bootmem_nopanic+0x2b/0x9a
    [ 0.000000] [] ? lock_release+0xac/0xb2
    [ 0.000000] [] ___alloc_bootmem+0xe/0x2d
    [ 0.000000] [] __alloc_bootmem+0xa/0xc
    [ 0.000000] [] alloc_bootmem_cpumask_var+0x21/0x26
    [ 0.000000] [] early_irq_init+0x15/0x10d
    [ 0.000000] [] start_kernel+0x167/0x326
    [ 0.000000] [] __init_begin+0x6b/0x70
    [ 0.000000] ---[ end trace 4eaa2a86a8e2da23 ]---
    [ 0.000000] NR_IRQS:2304 nr_irqs:424
    [ 0.000000] CPU 0 irqstacks, hard=821e6000 soft=821e7000

    we need to update init_irq_default_affinity

    Signed-off-by: Yinghai Lu
    Signed-off-by: Pekka Enberg

    Yinghai Lu
     
  • [xfs, btrfs, capifs, shmem don't need BKL, exempt]

    Signed-off-by: Alessio Igor Bogani
    Signed-off-by: Al Viro

    Alessio Igor Bogani
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Conflicts:
    arch/x86/kernel/cpu/mcheck/mce_64.c
    arch/x86/kernel/irq.c

    Merge reason: Resolve the conflicts above.

    Signed-off-by: Ingo Molnar

    Ingo Molnar