20 Jul, 2007

2 commits

  • per cpu data section contains two types of data. One set which is
    exclusively accessed by the local cpu and the other set which is per cpu,
    but also shared by remote cpus. In the current kernel, these two sets are
    not clearely separated out. This can potentially cause the same data
    cacheline shared between the two sets of data, which will result in
    unnecessary bouncing of the cacheline between cpus.

    One way to fix the problem is to cacheline align the remotely accessed per
    cpu data, both at the beginning and at the end. Because of the padding at
    both ends, this will likely cause some memory wastage and also the
    interface to achieve this is not clean.

    This patch:

    Moves the remotely accessed per cpu data (which is currently marked
    as ____cacheline_aligned_in_smp) into a different section, where all the data
    elements are cacheline aligned. And as such, this differentiates the local
    only data and remotely accessed data cleanly.

    Signed-off-by: Fenghua Yu
    Acked-by: Suresh Siddha
    Cc: Rusty Russell
    Cc: Christoph Lameter
    Cc:
    Cc: "Luck, Tony"
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Fenghua Yu
     
  • This patch completes Linus's wish that the fault return codes be made into
    bit flags, which I agree makes everything nicer. This requires requires
    all handle_mm_fault callers to be modified (possibly the modifications
    should go further and do things like fault accounting in handle_mm_fault --
    however that would be for another patch).

    [akpm@linux-foundation.org: fix alpha build]
    [akpm@linux-foundation.org: fix s390 build]
    [akpm@linux-foundation.org: fix sparc build]
    [akpm@linux-foundation.org: fix sparc64 build]
    [akpm@linux-foundation.org: fix ia64 build]
    Signed-off-by: Nick Piggin
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Russell King
    Cc: Ian Molton
    Cc: Bryan Wu
    Cc: Mikael Starvik
    Cc: David Howells
    Cc: Yoshinori Sato
    Cc: "Luck, Tony"
    Cc: Hirokazu Takata
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc: Greg Ungerer
    Cc: Matthew Wilcox
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: Kazumoto Kojima
    Cc: Richard Curnow
    Cc: William Lee Irwin III
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Cc: Miles Bader
    Cc: Chris Zankel
    Acked-by: Kyle McMartin
    Acked-by: Haavard Skinnemoen
    Acked-by: Ralf Baechle
    Acked-by: Andi Kleen
    Signed-off-by: Andrew Morton
    [ Still apparently needs some ARM and PPC loving - Linus ]
    Signed-off-by: Linus Torvalds

    Nick Piggin
     

18 Jul, 2007

3 commits

  • Identical implementations of PTRACE_POKEDATA go into generic_ptrace_pokedata()
    function.

    AFAICS, fix bug on xtensa where successful PTRACE_POKEDATA will nevertheless
    return EPERM.

    Signed-off-by: Alexey Dobriyan
    Cc: Christoph Hellwig
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Identical implementations of PTRACE_PEEKDATA go into generic_ptrace_peekdata()
    function.

    Signed-off-by: Alexey Dobriyan
    Cc: Christoph Hellwig
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • If the kernel OOPSed or BUGed then it probably should be considered as
    tainted. Thus, all subsequent OOPSes and SysRq dumps will report the
    tainted kernel. This saves a lot of time explaining oddities in the
    calltraces.

    Signed-off-by: Pavel Emelianov
    Acked-by: Randy Dunlap
    Cc:
    Signed-off-by: Andrew Morton
    [ Added parisc patch from Matthew Wilson -Linus ]
    Signed-off-by: Linus Torvalds

    Pavel Emelianov
     

17 Jul, 2007

2 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (68 commits)
    sh: sh-rtc support for SH7709.
    sh: Revert __xdiv64_32 size change.
    sh: Update r7785rp defconfig.
    sh: Export div symbols for GCC 4.2 and ST GCC.
    sh: fix race in parallel out-of-tree build
    sh: Kill off dead mach.c for hp6xx.
    sh: hd64461.h cleanup and added comments.
    sh: Update the alignment when 4K stacks are used.
    sh: Add a .bss.page_aligned section for 4K stacks.
    sh: Don't let SH-4A clobber SH-4 CFLAGS.
    sh: Add parport stub for SuperIO ports.
    sh: Drop -Wa,-dsp for DSP tuning.
    sh: Update dreamcast defconfig.
    fb: pvr2fb: A few more __devinit annotations for PCI.
    fb: pvr2fb: Fix up section mismatch warnings.
    sh: Select IPR-IRQ for SH7091.
    sh: Correct __xdiv64_32/div64_32 return value size.
    sh: Fix timer-tmu build for SH-3.
    sh: Add cpu and mach links to CLEAN_FILES.
    sh: Preliminary support for the SH-X3 CPU.
    ...

    Linus Torvalds
     
  • The current generic bug implementation has a call to dump_stack() in case a
    WARN_ON(whatever) gets hit. Since report_bug(), which calls dump_stack(),
    gets called from an exception handler we can do better: just pass the
    pt_regs structure to report_bug() and pass it to show_regs() in case of a
    warning. This will give more debug informations like register contents,
    etc... In addition this avoids some pointless lines that dump_stack()
    emits, since it includes a stack backtrace of the exception handler which
    is of no interest in case of a warning. E.g. on s390 the following lines
    are currently always present in a stack backtrace if dump_stack() gets
    called from report_bug():

    [] show_trace+0x92/0xe8)
    [] show_stack+0xa0/0xd0
    [] dump_stack+0x2e/0x3c
    [] report_bug+0x98/0xf8
    [] illegal_op+0x1fc/0x21c
    [] sysc_return+0x0/0x10

    Acked-by: Jeremy Fitzhardinge
    Acked-by: Haavard Skinnemoen
    Cc: Andi Kleen
    Cc: Kyle McMartin
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     

16 Jul, 2007

1 commit


13 Jul, 2007

3 commits


12 Jul, 2007

5 commits


07 Jul, 2007

3 commits


06 Jul, 2007

2 commits


20 Jun, 2007

5 commits


19 Jun, 2007

1 commit

  • The current implementation only handles -ERESTARTNOHAND, whereas we
    also need to handle -ERESTART_RESTARTBLOCK in the handle_signal()
    case for restartable system calls.

    As noted by Carl:

    This fixes the LTP test nanosleep03 - the current kernel causes
    -ERESTART_RESTARTBLOCK to reach user space rather than the correct
    -EINTR.

    Reported-by: Carl Shaw
    Signed-off-by: Paul Mundt

    Paul Mundt
     

18 Jun, 2007

3 commits

  • Only print out pgd/pte data in the oops path if oops_may_print()
    holds true. Follows the i386 implementation.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • As Russell helpfully pointed out on linux-arch:

    http://marc.info/?l=linux-arch&m=118208089204630&w=2

    We were missing the oops_enter/exit() in the sh die() implementation.
    As we do support lockdep, it's beneficial to add these calls so lockdep
    properly disables itself in the die() case.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • We use R0 as the 5th argument of syscall. When the syscall restarts
    after signal handling, we should restore the old value of R0.
    The attached patch does it. Without this patch, I've experienced random
    failures in the situation which signals are issued frequently.

    Signed-off-by: Kaz Kojima
    Signed-off-by: Paul Mundt

    Kaz Kojima
     

15 Jun, 2007

4 commits

  • Signed-off-by: Paul Mundt

    Paul Mundt
     
  • This patch reworks the ipr code by grouping the offset array together
    with the ipr_data structure in a new data structure called ipr_desc.
    This new structure also contains the name of the controller in struct
    irq_chip. The idea behind putting struct irq_chip in there is that we
    can use offsetof() to locate the base addresses in the irq_chip
    callbacks. This strategy has much in common with the recently merged
    intc2 code.

    One logic change has been made - the original ipr code enabled the
    interrupts by default but with this patch they are all disabled by
    default.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • We don't have a PMB for SH-X2 or later, so only enable it for
    the few CPUs that support it. Fixes up the boot for SH4AL-DSP.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • The shared intc2 code currently contains cpu-specific #ifdefs.
    This is a tad unclean and it prevents us from using the shared code
    to drive board-specific irqs on the se7780 board.

    This patch reworks the intc2 code by moving the base addresses of
    the intc2 registers into struct intc2_desc. This new structure also
    contains the name of the controller in struct irq_chip. The idea
    behind putting struct irq_chip in there is that we can use offsetof()
    to locate the base addresses in the irq_chip callbacks.

    One logic change has been made - the original shared intc2 code
    enabled the interrupts by default but with this patch they are all
    disabled by default.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     

11 Jun, 2007

5 commits


08 Jun, 2007

1 commit

  • This was added during 2.5.x, but was never moved along. This
    can easily be resurrected if someone has one they wish to work
    with, but it's not worth keeping around in its current form.

    Signed-off-by: Paul Mundt

    Paul Mundt