01 Jan, 2006

1 commit


30 Dec, 2005

5 commits

  • Sonny has noticed hotplug CPU on ppc64 is broken in 2.6.15-*. One of the
    problems is that htab_initialize_secondary is called when a cpu is being
    brought up, but it is marked __init.

    Signed-off-by: Anton Blanchard
    Acked-by: Paul Mackerras
    Signed-off-by: Linus Torvalds

    Anton Blanchard
     
  • Currently, we do not pass the correct start_pfn to e820_hole_size, to
    calculate holes. Following patch fixes that.

    The bug results in incorrect number of node_present_pages for each pgdat
    and causes ugly output in /sys and probably VM inbalances.

    Signed-off-by: Alok N Kataria
    Signed-off-by: Ravikiran Thirumalai
    Signed-off-by: Andi Kleen
    Sighed-off-by: Shair Fultheim
    Sighed-off-by: Linus Torvalds

    Ravikiran G Thirumalai
     
  • Fix UML compilation when SKAS mode is disabled. Indeed, we were compiling
    SKAS-only object files, which failed due to some SKAS-only headers being
    excluded from the search path.

    Thanks to the bug report from Pekka J Enberg.

    Acked-by: Pekka J Enberg
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Today, when compiling UML, I got warnings for two used unexported symbols:
    readdir64 and truncate64. Indeed, my glibc headers are aliasing readdir to
    readdir64 and truncate to truncate64 (and so on).

    I'm then adding additional exports. Since I've no idea if the symbols where
    always provided in the supported glibc's, I've added weak definitions too.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • Don't use printk() where "current_thread_info()" is crap.

    Until when we switch to running on init_stack, current_thread_info() evaluates
    to crap. Printk uses "current" at times (in detail, ¤t is evaluated with
    CONFIG_DEBUG_SPINLOCK to check the spinlock owner task).

    And this leads to random segmentation faults.

    Exactly, what happens is that ¤t = *(current_thread_info()), i.e. round
    down $esp and dereference the value. I.e. access the stack below $esp, which
    causes SIGSEGV on a VM_GROWSDOWN vma (see arch/i386/mm/fault.c).

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     

29 Dec, 2005

1 commit


23 Dec, 2005

2 commits

  • It's definition is wrong (-1 means "no limit" not 999),
    only the Sparc SunOS/Solaris compat code uses it, so
    let's just kill it off completely from limits.h and
    all referencing code.

    Noticed by Ulrich Drepper.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Introduce a Kconfig symbol SPARC that is defined on both the sparc and
    sparc64 architectures.

    This symbol makes some dependencies more readable.

    Signed-off-by: Adrian Bunk
    Signed-off-by: David S. Miller

    Adrian Bunk
     

22 Dec, 2005

1 commit

  • It turns out that commit f9bd170a87948a9e077149b70fb192c563770fdf
    broke the cascade from XICS to i8259 on pSeries machines; specifically
    we ended up not ever doing the EOI on the XICS for the cascade. The
    result was that interrupts from the serial ports (and presumably any
    other devices using ISA interrupts) didn't get through. This fixes
    it and also simplifies the code, by doing the EOI on the XICS in the
    xics_get_irq routine after reading and acking the interrupt on the
    i8259.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

21 Dec, 2005

3 commits


20 Dec, 2005

5 commits


19 Dec, 2005

4 commits

  • With Paolo 'Blaisorblade' Giarrusso

    UML skas0 stub has been miscompiling for many people (incidentally not
    the authors), depending on the used GCC versions.

    I think (and testing on some GCC versions shows) this patch avoids the
    fundamental issue which is behind this, namely gcc using the stack when
    we have just replaced it, behind gcc's back. The remapping and storage
    of the return value is hidden in a blob of asm, hopefully giving gcc no
    room for creativity.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • So you may have seen the miniconfig stuff wander by, which means that my
    build script exits if there's a .config error, and we have this:

    fs/Kconfig:1749:warning: 'select' used by config symbol 'CIFS_UPCALL'
    refer to undefined symbol 'CONNECTOR'

    This makes it shut up.

    Signed-off-by: Rob Landley
    [ Verified it makes sense. ]
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • With Paolo 'Blaisorblade' Giarrusso

    The current UML build assumes that on x86-64 systems, /lib is a symlink
    to /lib64, but in some distributions (like PLD and CentOS) they are
    separate directories, so the 64 bit library loader isn't found. This
    patch inserts /lib64 at the start of the rpath on x86-64 UML builds.

    Signed-off-by: Rob Landley
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Linus Torvalds

    Rob Landley
     
  • Duplicated code - the patch adding it was probably applied twice without
    enough care.

    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     

17 Dec, 2005

9 commits

  • Rather than providing more wrappers for 6-arg syscalls, arrange for
    them to be supported as standard. This just means that we always
    store the 6th argument on the stack, rather than in the wrappers.

    This means we eliminate the wrappers for:
    * sys_futex
    * sys_arm_fadvise64_64
    * sys_mbind
    * sys_ipc

    Signed-off-by: Russell King

    Russell King
     
  • Linus Torvalds
     
  • DMA_MODE_{READ,WRITE} are declared in asm-powerpc/dma.h and their
    declarations there match the definitions. Old declarations in
    ppc4xx_dma.h are not right anymore (wrong type, to start with).
    Killed them, added include of asm/dma.h where needed.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Use correct address when referencing mmconfig aperture while checking
    for broken MCFG. This was a typo when porting the code from 64bit to
    32bit. It caused oopses at boot on some ThinkPads.

    Should definitely go into 2.6.15.

    Signed-off-by: Andi Kleen
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • sparc64, i386 and x86_64 have support for a special data section dedicated
    to rarely updated data that is frequently read. The section was created to
    avoid false sharing of those rarely read data with frequently written kernel
    data.

    This patch creates such a data section for ia64 and will group rarely written
    data into this section.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Tony Luck

    Christoph Lameter
     
  • Change the NR_CPUS default for ia64/sn up to 1024.

    Signed-off-by: John Hawkes
    Signed-off-by: John Hesterberg
    Signed-off-by: Tony Luck

    hawkes@sgi.com
     
  • I see why the problem exists only on SN. SN uses a different hardware
    mechanism to purge TLB entries across nodes.

    It looks like there is a bug in the SN TLB flushing code. During context switch,
    kernel threads inherit the mm of the task that was previously running on the
    cpu. This confuses the code in sn2_global_tlb_purge().

    The result is a missed TLB purge for the task that owns the "borrowed" mm.

    (I hit the problem running heavy stress where kswapd was purging code pages of
    a user task that woke kswapd. The user task took a SIGILL fault trying to
    execute code in the page that had been ripped out from underneath it).

    Signed-off-by: Jack Steiner
    Signed-off-by: Tony Luck

    Jack Steiner
     
  • Use raw_smp_processor_id() instead of get_cpu() as we don't need the
    extra features of get_cpu().

    Signed-off-by: Jes Sorensen
    Signed-off-by: Tony Luck

    Jes Sorensen
     
  • The udelay() inline for ia64 uses the ITC. If CONFIG_PREEMPT is enabled
    and the platform has unsynchronized ITCs and the calling task migrates
    to another CPU while doing the udelay loop, then the effective delay may
    be too short or very, very long.

    This patch disables preemption around 100 usec chunks of the overall
    desired udelay time. This minimizes preemption-holdoffs.

    udelay() is now too big to be inline, move it out of line and export it.

    Signed-off-by: John Hawkes
    Signed-off-by: Tony Luck

    John Hawkes
     

16 Dec, 2005

9 commits