06 May, 2009

1 commit


22 Apr, 2009

3 commits

  • Reorder locking as down_read() may return with local interrupts enabled,
    which means we could go into vti_vcpu_run() with interrupts enabled.

    This caused random crashes on the Altix as the timer interrupt tried
    to read a memory mapped clock source, for which the TLB had not yet been
    reinstated in the exit, before ipsr was retored.

    Signed-off-by: Jes Sorensen
    Acked-by: Xiantao Zhang
    Signed-off-by: Avi Kivity

    Jes Sorensen
     
  • In non-SMP mode, the variable section attribute specified by DECLARE_PER_CPU()
    does not agree with that specified by DEFINE_PER_CPU(). This means that
    architectures that have a small data section references relative to a base
    register may throw up linkage errors due to too great a displacement between
    where the base register points and the per-CPU variable.

    On FRV, the .h declaration says that the variable is in the .sdata section, but
    the .c definition says it's actually in the .data section. The linker throws
    up the following errors:

    kernel/built-in.o: In function `release_task':
    kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o
    kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o

    To fix this, DECLARE_PER_CPU() should simply apply the same section attribute
    as does DEFINE_PER_CPU(). However, this is made slightly more complex by
    virtue of the fact that there are several variants on DEFINE, so these need to
    be matched by variants on DECLARE.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • Pass clocksource pointer to the read() callback for clocksources. This
    allows us to share the callback between multiple instances.

    [hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
    [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Magnus Damm
    Acked-by: John Stultz
    Cc: Thomas Gleixner
    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     

21 Apr, 2009

1 commit

  • This patch fixes the following compilation error caused by recursive
    inclusion of kernel.h which defines BUILD_BUG_ON().
    In this case, the case it catches will be caught by the case
    CONFIG_PARAVIRT=n, so removing it would not hurt compile time check
    very much. So fix the breakage by removing it.

    CC arch/ia64/kernel/asm-offsets.s
    In file included from include/linux/bitops.h:17,
    from include/linux/kernel.h:15,
    from include/linux/sched.h:52,
    from arch/ia64/kernel/asm-offsets.c:9:
    arch/ia64/include/asm/bitops.h: In function 'set_bit':
    arch/ia64/include/asm/bitops.h:47: error: implicit declaration of function 'BUILD_BUG_ON'

    Signed-off-by: Isaku Yamahata
    Signed-off-by: Tony Luck

    Isaku Yamahata
     

17 Apr, 2009

2 commits


14 Apr, 2009

1 commit

  • This is the second go through of the old DMA_nBIT_MASK macro,and there're not
    so many of them left,so I put them into one patch.I hope this is the last round.
    After this the definition of the old DMA_nBIT_MASK macro could be removed.

    Signed-off-by: Yang Hongyang
    Cc: Russell King
    Cc: Tony Lindgren
    Cc: "David S. Miller"
    Cc: James Bottomley
    Cc: Greg KH
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yang Hongyang
     

09 Apr, 2009

1 commit


07 Apr, 2009

4 commits


06 Apr, 2009

1 commit

  • * 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits)
    tracing, net: fix net tree and tracing tree merge interaction
    tracing, powerpc: fix powerpc tree and tracing tree interaction
    ring-buffer: do not remove reader page from list on ring buffer free
    function-graph: allow unregistering twice
    trace: make argument 'mem' of trace_seq_putmem() const
    tracing: add missing 'extern' keywords to trace_output.h
    tracing: provide trace_seq_reserve()
    blktrace: print out BLK_TN_MESSAGE properly
    blktrace: extract duplidate code
    blktrace: fix memory leak when freeing struct blk_io_trace
    blktrace: fix blk_probes_ref chaos
    blktrace: make classic output more classic
    blktrace: fix off-by-one bug
    blktrace: fix the original blktrace
    blktrace: fix a race when creating blk_tree_root in debugfs
    blktrace: fix timestamp in binary output
    tracing, Text Edit Lock: cleanup
    tracing: filter fix for TRACE_EVENT_FORMAT events
    ftrace: Using FTRACE_WARN_ON() to check "freed record" in ftrace_release()
    x86: kretprobe-booster interrupt emulation code fix
    ...

    Fix up trivial conflicts in
    arch/parisc/include/asm/ftrace.h
    include/linux/memory.h
    kernel/extable.c
    kernel/module.c

    Linus Torvalds
     

03 Apr, 2009

6 commits

  • Implement __raw_read_lock_flags and __raw_write_lock_flags for the ia64
    architecture.

    [kosaki.motohiro@jp.fujitsu.com: typo fix]
    Signed-off-by: Petr Tesarik
    Signed-off-by: Robin Holt
    Cc:
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Acked-by: Tony Luck
    Signed-off-by: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     
  • Pass the original flags to rwlock arch-code, so that it can re-enable
    interrupts if implemented for that architecture.

    Initially, make __raw_read_lock_flags and __raw_write_lock_flags stubs
    which just do the same thing as non-flags variants.

    Signed-off-by: Petr Tesarik
    Signed-off-by: Robin Holt
    Acked-by: Peter Zijlstra
    Cc:
    Acked-by: Ingo Molnar
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     
  • Some current configs turn on GRU for ia64. The GRU code does not
    correctly load on boot on ia64 (GRU does continue to work for x86-64), so
    changing the IA64 Kconfig to not select GRU on ia64 configs for now until
    we have time to fix.

    Signed-off-by: Robin Holt
    Acked-by: Jack Steiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robin Holt
     
  • Add macros for using the UV hub to send interrupts. Change the IPI code
    to use these macros. These macros will also be used in additional patches
    that will follow.

    Signed-off-by: Jack Steiner
    Cc: "Luck, Tony"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • Add definitions for IA64 GRU MMRs.

    Signed-off-by: Jack Steiner
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     
  • First argument unused since 2.3.11.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Alexey Dobriyan
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

02 Apr, 2009

4 commits

  • Conflicts:
    include/linux/slub_def.h
    lib/Kconfig.debug
    mm/slob.c
    mm/slub.c

    Ingo Molnar
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: (29 commits)
    [IA64] BUG to BUG_ON changes
    [IA64] Fix typo/thinko in arch/ia64/sn/kernel/sn2/sn2_smp.c
    ia64: remove some warnings.
    ia64/xen: fix the link error.
    ia64/pv_ops/bp/xen: implemented binary patchable pv_cpu_ops.
    ia64/pv_ops/binary patch: define paravirt_dv_serialize_data() and suppress false positive warning.
    ia64/pv_ops/bp/module: support binary patching for kernel module.
    ia64/pv_ops: implement binary patching optimization for native.
    ia64/pv_op/binarypatch: add helper functions to support binary patching for paravirt_ops.
    ia64/pv_ops/xen/gate.S: xen gate page paravirtualization
    ia64/pv_ops: paravirtualize gate.S.
    ia64/pv_ops: move down __kernel_syscall_via_epc.
    ia64/pv_ops/xen: define xen specific gate page.
    ia64/pv_ops: gate page paravirtualization.
    ia64/pv_ops/xen/pv_time_ops: implement sched_clock.
    ia64/pv_ops/pv_time_ops: add sched_clock hook.
    ia64/pv_ops/xen: paravirtualize read/write ar.itc and ar.itm
    ia64/pv_ops: paravirtualize mov = ar.itc.
    ia64/pv_ops/pvchecker: support mov = ar.itc paravirtualization
    ia64/pv_ops: paravirtualize fsys.S.
    ...

    Linus Torvalds
     
  • Replace:

    if (test)
    BUG();

    with
    BUG_ON(test);

    Signed-off-by: Stoyan Gaydarov
    Signed-off-by: Tony Luck

    Stoyan Gaydarov
     
  • sn2_ptc_init() has what looks like a cut-n-paste error. Fix it.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Tony Luck

    Randy Dunlap
     

01 Apr, 2009

4 commits


31 Mar, 2009

3 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask:
    oprofile: Thou shalt not call __exit functions from __init functions
    cpumask: remove the now-obsoleted pcibus_to_cpumask(): generic
    cpumask: remove cpumask_t from core
    cpumask: convert rcutorture.c
    cpumask: use new cpumask_ functions in core code.
    cpumask: remove references to struct irqaction's mask field.
    cpumask: use mm_cpumask() wrapper: kernel/fork.c
    cpumask: use set_cpu_active in init/main.c
    cpumask: remove node_to_first_cpu
    cpumask: fix seq_bitmap_*() functions.
    cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL

    Linus Torvalds
     
  • * 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc:
    Revert "proc: revert /proc/uptime to ->read_proc hook"
    proc 2/2: remove struct proc_dir_entry::owner
    proc 1/2: do PDE usecounting even for ->read_proc, ->write_proc
    proc: fix sparse warnings in pagemap_read()
    proc: move fs/proc/inode-alloc.txt comment into a source file

    Linus Torvalds
     
  • Setting ->owner as done currently (pde->owner = THIS_MODULE) is racy
    as correctly noted at bug #12454. Someone can lookup entry with NULL
    ->owner, thus not pinning enything, and release it later resulting
    in module refcount underflow.

    We can keep ->owner and supply it at registration time like ->proc_fops
    and ->data.

    But this leaves ->owner as easy-manipulative field (just one C assignment)
    and somebody will forget to unpin previous/pin current module when
    switching ->owner. ->proc_fops is declared as "const" which should give
    some thoughts.

    ->read_proc/->write_proc were just fixed to not require ->owner for
    protection.

    rmmod'ed directories will be empty and return "." and ".." -- no harm.
    And directories with tricky enough readdir and lookup shouldn't be modular.
    We definitely don't want such modular code.

    Removing ->owner will also make PDE smaller.

    So, let's nuke it.

    Kudos to Jeff Layton for reminding about this, let's say, oversight.

    http://bugzilla.kernel.org/show_bug.cgi?id=12454

    Signed-off-by: Alexey Dobriyan

    Alexey Dobriyan
     

30 Mar, 2009

1 commit


29 Mar, 2009

3 commits

  • Conflicts:
    arch/x86/Kconfig

    Ingo Molnar
     
  • …nux/kernel/git/tip/linux-2.6-tip

    * 'percpu-cpumask-x86-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (682 commits)
    percpu: fix spurious alignment WARN in legacy SMP percpu allocator
    percpu: generalize embedding first chunk setup helper
    percpu: more flexibility for @dyn_size of pcpu_setup_first_chunk()
    percpu: make x86 addr <-> pcpu ptr conversion macros generic
    linker script: define __per_cpu_load on all SMP capable archs
    x86: UV: remove uv_flush_tlb_others() WARN_ON
    percpu: finer grained locking to break deadlock and allow atomic free
    percpu: move fully free chunk reclamation into a work
    percpu: move chunk area map extension out of area allocation
    percpu: replace pcpu_realloc() with pcpu_mem_alloc() and pcpu_mem_free()
    x86, percpu: setup reserved percpu area for x86_64
    percpu, module: implement reserved allocation and use it for module percpu variables
    percpu: add an indirection ptr for chunk page map access
    x86: make embedding percpu allocator return excessive free space
    percpu: use negative for auto for pcpu_setup_first_chunk() arguments
    percpu: improve first chunk initial area map handling
    percpu: cosmetic renames in pcpu_setup_first_chunk()
    percpu: clean up percpu constants
    x86: un-__init fill_pud/pmd/pte
    x86: remove vestigial fix_ioremap prototypes
    ...

    Manually merge conflicts in arch/ia64/kernel/irq_ia64.c

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Fix kstat_this_cpu build breakage

    Linus Torvalds
     

28 Mar, 2009

5 commits

  • Conflicts:
    arch/sparc/kernel/time_64.c
    drivers/gpu/drm/drm_proc.c

    Manual merge to resolve build warning due to phys_addr_t type change
    on x86:

    drivers/gpu/drm/drm_info.c

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (37 commits)
    fs: avoid I_NEW inodes
    Merge code for single and multiple-instance mounts
    Remove get_init_pts_sb()
    Move common mknod_ptmx() calls into caller
    Parse mount options just once and copy them to super block
    Unroll essentials of do_remount_sb() into devpts
    vfs: simple_set_mnt() should return void
    fs: move bdev code out of buffer.c
    constify dentry_operations: rest
    constify dentry_operations: configfs
    constify dentry_operations: sysfs
    constify dentry_operations: JFS
    constify dentry_operations: OCFS2
    constify dentry_operations: GFS2
    constify dentry_operations: FAT
    constify dentry_operations: FUSE
    constify dentry_operations: procfs
    constify dentry_operations: ecryptfs
    constify dentry_operations: CIFS
    constify dentry_operations: AFS
    ...

    Linus Torvalds
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Due to a different size of ino_t ustat needs a compat handler, but
    currently only x86 and mips provide one. Add a generic compat_sys_ustat
    and switch all architectures over to it. Instead of doing various
    user copy hacks compat_sys_ustat just reimplements sys_ustat as
    it's trivial. This was suggested by Arnd Bergmann.

    Found by Eric Sandeen when running xfstests/017 on ppc64, which causes
    stack smashing warnings on RHEL/Fedora due to the too large amount of
    data writen by the syscall.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • This patch removes the following warnings and related ones.
    Plus some cosmetics.

    arch/ia64/kernel/patch.c:112: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast
    arch/ia64/kernel/patch.c:135: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast
    arch/ia64/kernel/patch.c:166: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast
    arch/ia64/kernel/patch.c:202: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast
    arch/ia64/kernel/patch.c:220: warning: passing argument 1 of 'paravirt_fc' makes integer from pointer without a cast

    Signed-off-by: Isaku Yamahata
    Signed-off-by: Tony Luck

    Isaku Yamahata