25 Oct, 2011

1 commit


25 May, 2011

1 commit


24 May, 2011

1 commit


20 May, 2011

1 commit

  • …git/tip/linux-2.6-tip

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (107 commits)
    perf stat: Add more cache-miss percentage printouts
    perf stat: Add -d -d and -d -d -d options to show more CPU events
    ftrace/kbuild: Add recordmcount files to force full build
    ftrace: Add self-tests for multiple function trace users
    ftrace: Modify ftrace_set_filter/notrace to take ops
    ftrace: Allow dynamically allocated function tracers
    ftrace: Implement separate user function filtering
    ftrace: Free hash with call_rcu_sched()
    ftrace: Have global_ops store the functions that are to be traced
    ftrace: Add ops parameter to ftrace_startup/shutdown functions
    ftrace: Add enabled_functions file
    ftrace: Use counters to enable functions to trace
    ftrace: Separate hash allocation and assignment
    ftrace: Create a global_ops to hold the filter and notrace hashes
    ftrace: Use hash instead for FTRACE_FL_FILTER
    ftrace: Replace FTRACE_FL_NOTRACE flag with a hash of ignored functions
    perf bench, x86: Add alternatives-asm.h wrapper
    x86, 64-bit: Fix copy_[to/from]_user() checks for the userspace address limit
    x86, mem: memset_64.S: Optimize memset by enhanced REP MOVSB/STOSB
    x86, mem: memmove_64.S: Optimize memmove by enhanced REP MOVSB/STOSB
    ...

    Linus Torvalds
     

19 May, 2011

1 commit

  • This patch places every exported symbol in its own section
    (i.e. "___ksymtab+printk"). Thus the linker will use its SORT() directive
    to sort and finally merge all symbol in the right and final section
    (i.e. "__ksymtab").

    The symbol prefixed archs use an underscore as prefix for symbols.
    To avoid collision we use a different character to create the temporary
    section names.

    This work was supported by a hardware donation from the CE Linux Forum.

    Signed-off-by: Alessio Igor Bogani
    Signed-off-by: Rusty Russell (folded in '+' fixup)
    Tested-by: Dirk Behme

    Alessio Igor Bogani
     

27 Apr, 2011

1 commit


05 Apr, 2011

1 commit

  • Introduce:

    static __always_inline bool static_branch(struct jump_label_key *key);

    instead of the old JUMP_LABEL(key, label) macro.

    In this way, jump labels become really easy to use:

    Define:

    struct jump_label_key jump_key;

    Can be used as:

    if (static_branch(&jump_key))
    do unlikely code

    enable/disale via:

    jump_label_inc(&jump_key);
    jump_label_dec(&jump_key);

    that's it!

    For the jump labels disabled case, the static_branch() becomes an
    atomic_read(), and jump_label_inc()/dec() are simply atomic_inc(),
    atomic_dec() operations. We show testing results for this change below.

    Thanks to H. Peter Anvin for suggesting the 'static_branch()' construct.

    Since we now require a 'struct jump_label_key *key', we can store a pointer into
    the jump table addresses. In this way, we can enable/disable jump labels, in
    basically constant time. This change allows us to completely remove the previous
    hashtable scheme. Thanks to Peter Zijlstra for this re-write.

    Testing:

    I ran a series of 'tbench 20' runs 5 times (with reboots) for 3
    configurations, where tracepoints were disabled.

    jump label configured in
    avg: 815.6

    jump label *not* configured in (using atomic reads)
    avg: 800.1

    jump label *not* configured in (regular reads)
    avg: 803.4

    Signed-off-by: Peter Zijlstra
    LKML-Reference:
    Signed-off-by: Jason Baron
    Suggested-by: H. Peter Anvin
    Tested-by: David Daney
    Acked-by: Ralf Baechle
    Acked-by: David S. Miller
    Acked-by: Mathieu Desnoyers
    Signed-off-by: Steven Rostedt

    Jason Baron
     

04 Apr, 2011

1 commit

  • The two percpu helper macros have the section names duplicated. So create
    a new define to merge the two. This also allows arches who need to link
    things more directly themselves to avoid duplicating the input sections in
    their linker script.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Tejun Heo

    Mike Frysinger
     

31 Mar, 2011

1 commit


25 Mar, 2011

1 commit

  • Percpu allocator honors alignment request upto PAGE_SIZE and both the
    percpu addresses in the percpu address space and the translated kernel
    addresses should be aligned accordingly. The calculation of the
    former depends on the alignment of percpu output section in the kernel
    image.

    The linker script macros PERCPU_VADDR() and PERCPU() are used to
    define this output section and the latter takes @align parameter.
    Several architectures are using @align smaller than PAGE_SIZE breaking
    percpu memory alignment.

    This patch removes @align parameter from PERCPU(), renames it to
    PERCPU_SECTION() and makes it always align to PAGE_SIZE. While at it,
    add PCPU_SETUP_BUG_ON() checks such that alignment problems are
    reliably detected and remove percpu alignment comment recently added
    in workqueue.c as the condition would trigger BUG way before reaching
    there.

    For um, this patch raises the alignment of percpu area. As the area
    is in .init, there shouldn't be any noticeable difference.

    This problem was discovered by David Howells while debugging boot
    failure on mn10300.

    Signed-off-by: Tejun Heo
    Acked-by: Mike Frysinger
    Cc: uclinux-dist-devel@blackfin.uclinux.org
    Cc: David Howells
    Cc: Jeff Dike
    Cc: user-mode-linux-devel@lists.sourceforge.net

    Tejun Heo
     

16 Mar, 2011

1 commit

  • * 'for-2.6.39' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu, x86: Add arch-specific this_cpu_cmpxchg_double() support
    percpu: Generic support for this_cpu_cmpxchg_double()
    alpha: use L1_CACHE_BYTES for cacheline size in the linker script
    percpu: align percpu readmostly subsection to cacheline

    Fix up trivial conflict in arch/x86/kernel/vmlinux.lds.S due to the
    percpu alignment having changed ("x86: Reduce back the alignment of the
    per-CPU data section")

    Linus Torvalds
     

09 Mar, 2011

1 commit

  • Put x86 entry code into a separate link section: .entry.text.

    Separating the entry text section seems to have performance
    benefits - caused by more efficient instruction cache usage.

    Running hackbench with perf stat --repeat showed that the change
    compresses the icache footprint. The icache load miss rate went
    down by about 15%:

    before patch:
    19417627 L1-icache-load-misses ( +- 0.147% )

    after patch:
    16490788 L1-icache-load-misses ( +- 0.180% )

    The motivation of the patch was to fix a particular kprobes
    bug that relates to the entry text section, the performance
    advantage was discovered accidentally.

    Whole perf output follows:

    - results for current tip tree:

    Performance counter stats for './hackbench/hackbench 10' (500 runs):

    19417627 L1-icache-load-misses ( +- 0.147% )
    2676914223 instructions # 0.497 IPC ( +- 0.079% )
    5389516026 cycles ( +- 0.144% )

    0.206267711 seconds time elapsed ( +- 0.138% )

    - results for current tip tree with the patch applied:

    Performance counter stats for './hackbench/hackbench 10' (500 runs):

    16490788 L1-icache-load-misses ( +- 0.180% )
    2717734941 instructions # 0.502 IPC ( +- 0.079% )
    5414756975 cycles ( +- 0.148% )

    0.206747566 seconds time elapsed ( +- 0.137% )

    Signed-off-by: Jiri Olsa
    Cc: Arnaldo Carvalho de Melo
    Cc: Frederic Weisbecker
    Cc: Peter Zijlstra
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Cc: Nick Piggin
    Cc: Eric Dumazet
    Cc: masami.hiramatsu.pt@hitachi.com
    Cc: ananth@in.ibm.com
    Cc: davem@davemloft.net
    Cc: 2nddept-manager@sdl.hitachi.co.jp
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Jiri Olsa
     

03 Feb, 2011

3 commits

  • Currently the syscall_meta structures for the syscall tracepoints are
    placed in the __syscall_metadata section, and at link time, the linker
    makes one large array of all these syscall metadata structures. On boot
    up, this array is read (much like the initcall sections) and the syscall
    data is processed.

    The problem is that there is no guarantee that gcc will place complex
    structures nicely together in an array format. Two structures in the
    same file may be placed awkwardly, because gcc has no clue that they
    are suppose to be in an array.

    A hack was used previous to force the alignment to 4, to pack the
    structures together. But this caused alignment issues with other
    architectures (sparc).

    Instead of packing the structures into an array, the structures' addresses
    are now put into the __syscall_metadata section. As pointers are always the
    natural alignment, gcc should always pack them tightly together
    (otherwise initcall, extable, etc would also fail).

    By having the pointers to the structures in the section, we can still
    iterate the trace_events without causing unnecessary alignment problems
    with other architectures, or depending on the current behaviour of
    gcc that will likely change in the future just to tick us kernel developers
    off a little more.

    The __syscall_metadata section is also moved into the .init.data section
    as it is now only needed at boot up.

    Suggested-by: David Miller
    Acked-by: David S. Miller
    Cc: Mathieu Desnoyers
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Make the tracepoints more robust, making them solid enough to handle compiler
    changes by not relying on anything based on compiler-specific behavior with
    respect to structure alignment. Implement an approach proposed by David Miller:
    use an array of const pointers to refer to the individual structures, and export
    this pointer array through the linker script rather than the structures per se.
    It will consume 32 extra bytes per tracepoint (24 for structure padding and 8
    for the pointers), but are less likely to break due to compiler changes.

    History:

    commit 7e066fb8 tracepoints: add DECLARE_TRACE() and DEFINE_TRACE()
    added the aligned(32) type and variable attribute to the tracepoint structures
    to deal with gcc happily aligning statically defined structures on 32-byte
    multiples.

    One attempt was to use a 8-byte alignment for tracepoint structures by applying
    both the variable and type attribute to tracepoint structures definitions and
    declarations. It worked fine with gcc 4.5.1, but broke with gcc 4.4.4 and 4.4.5.

    The reason is that the "aligned" attribute only specify the _minimum_ alignment
    for a structure, leaving both the compiler and the linker free to align on
    larger multiples. Because tracepoint.c expects the structures to be placed as an
    array within each section, up-alignment cause NULL-pointer exceptions due to the
    extra unexpected padding.

    (this patch applies on top of -tip)

    Signed-off-by: Mathieu Desnoyers
    Acked-by: David S. Miller
    LKML-Reference:
    CC: Frederic Weisbecker
    CC: Ingo Molnar
    CC: Thomas Gleixner
    CC: Andrew Morton
    CC: Peter Zijlstra
    CC: Rusty Russell
    Signed-off-by: Steven Rostedt

    Mathieu Desnoyers
     
  • Currently the trace_event structures are placed in the _ftrace_events
    section, and at link time, the linker makes one large array of all
    the trace_event structures. On boot up, this array is read (much like
    the initcall sections) and the events are processed.

    The problem is that there is no guarantee that gcc will place complex
    structures nicely together in an array format. Two structures in the
    same file may be placed awkwardly, because gcc has no clue that they
    are suppose to be in an array.

    A hack was used previous to force the alignment to 4, to pack the
    structures together. But this caused alignment issues with other
    architectures (sparc).

    Instead of packing the structures into an array, the structures' addresses
    are now put into the _ftrace_event section. As pointers are always the
    natural alignment, gcc should always pack them tightly together
    (otherwise initcall, extable, etc would also fail).

    By having the pointers to the structures in the section, we can still
    iterate the trace_events without causing unnecessary alignment problems
    with other architectures, or depending on the current behaviour of
    gcc that will likely change in the future just to tick us kernel developers
    off a little more.

    The _ftrace_event section is also moved into the .init.data section
    as it is now only needed at boot up.

    Suggested-by: David Miller
    Cc: Mathieu Desnoyers
    Acked-by: David S. Miller
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

25 Jan, 2011

1 commit

  • Currently percpu readmostly subsection may share cachelines with other
    percpu subsections which may result in unnecessary cacheline bounce
    and performance degradation.

    This patch adds @cacheline parameter to PERCPU() and PERCPU_VADDR()
    linker macros, makes each arch linker scripts specify its cacheline
    size and use it to align percpu subsections.

    This is based on Shaohua's x86 only patch.

    Signed-off-by: Tejun Heo
    Cc: Shaohua Li

    Tejun Heo
     

24 Jan, 2011

1 commit

  • Currently only drivers that are built as modules have their versions
    shown in /sys/module//version, but this information might
    also be useful for built-in drivers as well. This especially important
    for drivers that do not define any parameters - such drivers, if
    built-in, are completely invisible from userspace.

    This patch changes MODULE_VERSION() macro so that in case when we are
    compiling built-in module, version information is stored in a separate
    section. Kernel then uses this data to create 'version' sysfs attribute
    in the same fashion it creates attributes for module parameters.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Rusty Russell

    Dmitry Torokhov
     

14 Jan, 2011

1 commit

  • The readmostly section should end at a cacheline aligned address,
    otherwise the last several data might share cachline with other data and
    make the readmostly data still have cache bounce.

    For example, in ia64, secpath_cachep is the last readmostly data, and it
    shares cacheline with init_uts_ns.

    a000000100e80480 d secpath_cachep
    a000000100e80488 D init_uts_ns

    Signed-off-by: Shaohua Li
    Cc: "H. Peter Anvin"
    Cc: Eric Dumazet
    Acked-by: Tejun Heo
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shaohua Li
     

24 Dec, 2010

1 commit

  • This patch adds support for linking device tree blob(s) into
    vmlinux. Modifies asm-generic/vmlinux.lds.h to add linking
    .dtb sections into vmlinux. To maintain compatiblity with the of/fdt
    driver code platforms MUST copy the blob to a non-init memory location
    before the kernel frees the .init.* sections in the image.

    Modifies scripts/Makefile.lib to add a kbuild command to
    compile DTS files to device tree blobs and a rule to create objects to
    wrap the blobs for linking.

    STRUCT_ALIGNMENT is defined in vmlinux.lds.h for use in the rule to
    create wrapper objects for the dtb in Makefile.lib. The
    STRUCT_ALIGN() macro in vmlinux.lds.h is modified to use the
    STRUCT_ALIGNMENT definition.

    The DTB's are placed on 32 byte boundries to allow parsing the blob
    with driver/of/fdt.c during early boot without having to copy the blob
    to get the structure alignment GCC expects.

    A DTB is linked in by adding the DTB object to the list of objects to
    be linked into vmlinux in the archtecture specific Makefile using
    obj-y += foo.dtb.o

    Signed-off-by: Dirk Brandewie
    Acked-by: Michal Marek
    [grant.likely@secretlab.ca: cleaned up whitespace inconsistencies]
    Signed-off-by: Grant Likely

    Dirk Brandewie
     

29 Oct, 2010

1 commit

  • * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
    initramfs: Fix build break on symbol-prefixed archs
    initramfs: fix initramfs size calculation
    initramfs: generalize initramfs_data.xxx.S variants
    scripts/kallsyms: Enable error messages while hush up unnecessary warnings
    scripts/setlocalversion: update comment
    kbuild: Use a single clean rule for kernel and external modules
    kbuild: Do not run make clean in $(srctree)
    scripts/mod/modpost.c: fix commentary accordingly to last changes
    kbuild: Really don't clean bounds.h and asm-offsets.h

    Linus Torvalds
     

27 Oct, 2010

2 commits

  • The new init ramfs format (cpio based) requires an alignment of 4 (per the
    documentation and per the source files themselves). As for compressed
    sources, the decompressors can all deal with unaligned buffers.

    The cpio source is also found in the __init sections of the kernel, so
    once they are read and expanded into a tmpfs, the source is freed. That
    means there is no need to force page alignment here either.

    This has been used on Blackfin systems for many releases without issue.

    Signed-off-by: Mike Frysinger
    Cc: Al Viro
    Cc: Sam Ravnborg
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • With the recent change "net: remove time limit in process_backlog()", the
    softnet_data variable changed from "DEFINE_PER_CPU()" to
    "DEFINE_PER_CPU_ALIGNED()" which moved it from the .data section to the
    .data.shared_align section. I'm not saying this patch is wrong, just that
    is what caused me to notice this larger problem. No one else in the
    kernel is using this aligned macro variant, so I imagine that's why no one
    has noticed yet.

    Since .data..shared_align isn't declared in any vmlinux files that I can
    see, the linker just places it last. This "just works" for most people,
    but when building a ROM kernel on Blackfin systems, it causes section
    overlap errors:

    bfin-uclinux-ld.real:
    section .init.data [00000000202e06b8 -> 00000000202e48b7] overlaps
    section .data.shared_aligned [00000000202e06b8 -> 00000000202e0723]

    I imagine other arches which support the ROM config option and thus do
    funky placement would see similar issues ...

    On x86, it is stuck in a dedicated section at the end:
    [8] .data PROGBITS ffffffff810ec000 2ec0000303a8 00 WA 0 0 4096
    [9] .data.shared_alig PROGBITS ffffffff8111c3c0 31c3c00000c8 00 WA 0 0 64

    So make sure we include this section in the DATA_DATA macro so that it is
    placed in the right location.

    Signed-off-by: Mike Frysinger
    Cc: Sam Ravnborg
    Cc: Jeremy Fitzhardinge
    Cc: Rusty Russell
    Cc: Alan Jenkins
    Cc: Greg Ungerer
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     

22 Oct, 2010

1 commit

  • * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86-32, percpu: Correct the ordering of the percpu readmostly section
    x86, mm: Enable ARCH_DMA_ADDR_T_64BIT with X86_64 || HIGHMEM64G
    x86: Spread tlb flush vector between nodes
    percpu: Introduce a read-mostly percpu API
    x86, mm: Fix incorrect data type in vmalloc_sync_all()
    x86, mm: Hold mm->page_table_lock while doing vmalloc_sync
    x86, mm: Fix bogus whitespace in sync_global_pgds()
    x86-32: Fix sparse warning for the __PHYSICAL_MASK calculation
    x86, mm: Add RESERVE_BRK_ARRAY() helper
    mm, x86: Saving vmcore with non-lazy freeing of vmas
    x86, kdump: Change copy_oldmem_page() to use cached addressing
    x86, mm: fix uninitialized addr in kernel_physical_mapping_init()
    x86, kmemcheck: Remove double test
    x86, mm: Make spurious_fault check explicitly check the PRESENT bit
    x86-64, mem: Update all PGDs for direct mapping and vmemmap mapping changes
    x86, mm: Separate x86_64 vmalloc_sync_all() into separate functions
    x86, mm: Avoid unnecessary TLB flush

    Linus Torvalds
     

21 Oct, 2010

2 commits

  • Checkin c957ef2c59e952803766ddc22e89981ab534606f had inconsistent
    ordering of .data..percpu..page_aligned and .data..percpu..readmostly;
    the still-broken version affected x86-32 at least.

    The page aligned version really must be page aligned...

    Signed-off-by: H. Peter Anvin
    LKML-Reference:
    Cc: Shaohua Li
    Cc: Eric Dumazet

    H. Peter Anvin
     
  • Add a new readmostly percpu section and API. This can be used to
    avoid dirtying data lines which are generally not written to, which is
    especially important for data which may be accessed by processors
    other than the one for which the percpu area belongs to.

    [ hpa: moved it *after* the page-aligned section, for obvious
    reasons. ]

    Signed-off-by: Shaohua Li
    LKML-Reference:
    Cc: Eric Dumazet
    Signed-off-by: H. Peter Anvin

    Shaohua Li
     

29 Sep, 2010

1 commit

  • The size of a built-in initramfs is calculated in init/initramfs.c by
    "__initramfs_end - __initramfs_start". Those symbols are defined in the
    linker script include/asm-generic/vmlinux.lds.h:

    #define INIT_RAM_FS \
    . = ALIGN(PAGE_SIZE); \
    VMLINUX_SYMBOL(__initramfs_start) = .; \
    *(.init.ramfs) \
    VMLINUX_SYMBOL(__initramfs_end) = .;

    If the initramfs file has an odd number of bytes, the "__initramfs_end"
    symbol points to an odd address, for example, the symbols in the
    System.map might look like:

    0000000000572000 T __initramfs_start
    00000000005bcd05 T __initramfs_end :
    540a9c: eb cf f0 78 00 24 stmg %r12,%r15,120(%r15),
    540aa2: c0 10 00 01 8a af larl %r1,572000
    540aa8: c0 c0 00 03 e1 2e larl %r12,5bcd04
    (Instead of 5bcd05)
    ...
    540abe: 1b c1 sr %r12,%r1

    To fix the problem, this patch introduces the global variable
    __initramfs_size, which is calculated in the "usr/initramfs_data.S" file.
    The populate_rootfs() function can then use the start marker of the
    .init.ramfs section and the value of __initramfs_size for loading the
    initramfs. Because the start marker and size is sufficient, the
    __initramfs_end symbol is no longer needed and is removed.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Hendrik Brueckner
    Reviewed-by: WANG Cong
    Acked-by: Michal Marek
    Acked-by: "H. Peter Anvin"
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    Hendrik Brueckner
     

23 Sep, 2010

1 commit

  • base patch to implement 'jump labeling'. Based on a new 'asm goto' inline
    assembly gcc mechanism, we can now branch to labels from an 'asm goto'
    statment. This allows us to create a 'no-op' fastpath, which can subsequently
    be patched with a jump to the slowpath code. This is useful for code which
    might be rarely used, but which we'd like to be able to call, if needed.
    Tracepoints are the current usecase that these are being implemented for.

    Acked-by: David S. Miller
    Signed-off-by: Jason Baron
    LKML-Reference:

    [ cleaned up some formating ]

    Signed-off-by: Steven Rostedt

    Jason Baron
     

07 Aug, 2010

1 commit

  • …git/tip/linux-2.6-tip

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (162 commits)
    tracing/kprobes: unregister_trace_probe needs to be called under mutex
    perf: expose event__process function
    perf events: Fix mmap offset determination
    perf, powerpc: fsl_emb: Restore setting perf_sample_data.period
    perf, powerpc: Convert the FSL driver to use local64_t
    perf tools: Don't keep unreferenced maps when unmaps are detected
    perf session: Invalidate last_match when removing threads from rb_tree
    perf session: Free the ref_reloc_sym memory at the right place
    x86,mmiotrace: Add support for tracing STOS instruction
    perf, sched migration: Librarize task states and event headers helpers
    perf, sched migration: Librarize the GUI class
    perf, sched migration: Make the GUI class client agnostic
    perf, sched migration: Make it vertically scrollable
    perf, sched migration: Parameterize cpu height and spacing
    perf, sched migration: Fix key bindings
    perf, sched migration: Ignore unhandled task states
    perf, sched migration: Handle ignored migrate out events
    perf: New migration tool overview
    tracing: Drop cpparg() macro
    perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call
    ...

    Fix up trivial conflicts in Makefile and drivers/cpufreq/cpufreq.c

    Linus Torvalds
     

05 Aug, 2010

1 commit

  • * upstream/pvhvm:
    Introduce CONFIG_XEN_PVHVM compile option
    blkfront: do not create a PV cdrom device if xen_hvm_guest
    support multiple .discard.* sections to avoid section type conflicts
    xen/pvhvm: fix build problem when !CONFIG_XEN
    xenfs: enable for HVM domains too
    x86: Call HVMOP_pagetable_dying on exit_mmap.
    x86: Unplug emulated disks and nics.
    x86: Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock.
    xen: Fix find_unbound_irq in presence of ioapic irqs.
    xen: Add suspend/resume support for PV on HVM guests.
    xen: Xen PCI platform device driver.
    x86/xen: event channels delivery on HVM.
    x86: early PV on HVM features initialization.
    xen: Add support for HVM hypercalls.

    Conflicts:
    arch/x86/xen/enlighten.c
    arch/x86/xen/time.c

    Jeremy Fitzhardinge
     

02 Aug, 2010

1 commit


28 Jul, 2010

1 commit


24 Jul, 2010

1 commit

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    vmlinux.lds: fix .data..init_task output section (fix popwerpc boot)
    powerpc: Fix erroneous lmb->memblock conversions
    powerpc/mm: Add some debug output when hash insertion fails
    powerpc/mm: Fix bugs in huge page hashing
    powerpc/mm: Move around testing of _PAGE_PRESENT in hash code
    powerpc/mm: Handle hypervisor pte insert failure in __hash_page_huge
    powerpc/kexec: Fix boundary case for book-e kexec memory limits

    Linus Torvalds
     

23 Jul, 2010

1 commit

  • The .data..init_task output section was missing
    a load offset causing a popwerpc target to fail to boot.

    Sean MacLennan tracked it down to the definition of
    INIT_TASK_DATA_SECTION().

    There are only two users of INIT_TASK_DATA_SECTION()
    in the kernel today: cris and popwerpc.
    cris do not support relocatable kernels and is thus not
    impacted by this change.

    Fix INIT_TASK_DATA_SECTION() to specify load offset like
    all other output sections.

    Reported-by: Sean MacLennan
    Signed-off-by: Sam Ravnborg
    Signed-off-by: Benjamin Herrenschmidt

    Sam Ravnborg
     

21 Jul, 2010

1 commit

  • We define a number of symbols in the linker scipt like this:

    __start_syscalls_metadata = .;
    *(__syscalls_metadata)

    But we do not know the alignment of "." when we assign
    the __start_syscalls_metadata symbol.
    gcc started to uses bigger alignment for structs (32 bytes),
    so we saw situations where the linker due to alignment
    constraints increased the value of "." after the symbol assignment.

    This resulted in boot fails.

    Fix this by forcing a 32 byte alignment of "." before the
    assignment.

    This patch introduces the forced alignment for
    ftrace_events and syscalls_metadata.
    It may be required in more places.

    Reported-by: Zeev Tarantov
    Signed-off-by: Sam Ravnborg
    LKML-Reference:
    Cc: Frederic Weisbecker
    Signed-off-by: Steven Rostedt

    Sam Ravnborg
     

16 Jul, 2010

1 commit


01 Jun, 2010

1 commit

  • * 'for-35' of git://repo.or.cz/linux-kbuild: (81 commits)
    kbuild: Revert part of e8d400a to resolve a conflict
    kbuild: Fix checking of scm-identifier variable
    gconfig: add support to show hidden options that have prompts
    menuconfig: add support to show hidden options which have prompts
    gconfig: remove show_debug option
    gconfig: remove dbg_print_ptype() and dbg_print_stype()
    kconfig: fix zconfdump()
    kconfig: some small fixes
    add random binaries to .gitignore
    kbuild: Include gen_initramfs_list.sh and the file list in the .d file
    kconfig: recalc symbol value before showing search results
    .gitignore: ignore *.lzo files
    headerdep: perlcritic warning
    scripts/Makefile.lib: Align the output of LZO
    kbuild: Generate modules.builtin in make modules_install
    Revert "kbuild: specify absolute paths for cscope"
    kbuild: Do not unnecessarily regenerate modules.builtin
    headers_install: use local file handles
    headers_check: fix perl warnings
    export_report: fix perl warnings
    ...

    Linus Torvalds
     

28 May, 2010

2 commits


03 Mar, 2010

2 commits