08 Dec, 2006

20 commits

  • The new shared APM emulation just like its ARM and MIPS predecessors uses
    pm_suspend() which was only exported on SH. Move export to close to it's
    definition where it really should be anyway.

    Signed-off-by: Ralf Baechle
    Cc: Russell King
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • When the UML network driver generates random MACs for its devices, it was
    possible for a number of UMLs to get the same MACs because the ethernet
    initialization was done before the random pool was properly seeded.

    This patch moves the initialization later so that it gets better randomness.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • We were using the wrong symbol to size register files.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Include the proper header to get a definition of PAGE_SHIFT.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • We were not including stddef.h in files that used offsetof.

    One file was also including linux/stddef.h for no perciptible reason.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Replace kmalloc+memset with kzalloc

    Signed-off-by: Yan Burman
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yan Burman
     
  • Make swsusp support i386 systems with PAE or without PSE.

    This is done by creating temporary page tables located in resume-safe page
    frames before the suspend image is restored in the same way as x86_64 does
    it.

    Signed-off-by: Rafael J. Wysocki
    Cc: Andi Kleen
    Cc: Dave Jones
    Cc: Nigel Cunningham
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Move process freezing functions from include/linux/sched.h to freezer.h, so
    that modifications to the freezer or the kernel configuration don't require
    recompiling just about everything.

    [akpm@osdl.org: fix ueagle driver]
    Signed-off-by: Nigel Cunningham
    Cc: "Rafael J. Wysocki"
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nigel Cunningham
     
  • Now that we have pci_get_bus_and_slot we can do the job correctly. Note that
    some of these calls intentionally leak a device - this is because the device
    in question is always needed from boot to reboot.

    Signed-off-by: Alan Cox
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Signed-off-by: Mariusz Kozlowski
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mariusz Kozlowski
     
  • While working on SH kprobes, I noticed that avr32 got the preemption
    handling wrong in the no probe case. The idea is that upon entry of
    kprobe_handler() preemption is disabled outright across the life of the
    kprobe, only to be re-enabled in post_kprobe_handler().

    However, in the event that the probe is never activated, there's never any
    chance of hitting the post probe handler, which allows for the current
    avr32 implementation to disable preemption indefinitely, as it's currently
    missing a re-enable when no probe is activated.

    Signed-off-by: Paul Mundt
    Cc: Haavard Skinnemoen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mundt
     
  • This patch fixes the following compile error with
    -Werror-implicit-function-declaration
    (without -Werror-implicit-function-declaration it's a link error):

    ...
    CC arch/frv/kernel/futex.o
    /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/arch/frv/kernel/futex.c:
    In function 'futex_atomic_op_inuser':
    /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/arch/frv/kernel/futex.c:203:
    error: implicit declaration of function 'pagefault_disable'
    /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/arch/frv/kernel/futex.c:226:
    error: implicit declaration of function 'pagefault_enable'
    make[2]: *** [arch/frv/kernel/futex.o] Error 1
    ...

    Signed-off-by: Adrian Bunk
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Replace all uses of kmem_cache_t with struct kmem_cache.

    The patch was generated using the following script:

    #!/bin/sh
    #
    # Replace one string by another in all the kernel sources.
    #

    set -e

    for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do
    quilt add $file
    sed -e "1,\$s/$1/$2/g" $file >/tmp/$$
    mv /tmp/$$ $file
    quilt refresh
    done

    The script was run like this

    sh replace kmem_cache_t "struct kmem_cache"

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • SLAB_KERNEL is an alias of GFP_KERNEL.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • The patch (as824b) makes percpu_free() ignore NULL arguments, as one would
    expect for a deallocation routine. (Note that free_percpu is #defined as
    percpu_free in include/linux/percpu.h.) A few callers are updated to remove
    now-unneeded tests for NULL. A few other callers already seem to assume
    that passing a NULL pointer to percpu_free() is okay!

    The patch also removes an unnecessary NULL check in percpu_depopulate().

    Signed-off-by: Alan Stern
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Stern
     
  • kunmap_atomic() will call kpte_clear_flush with vaddr/ptep arguments which
    don't correspond if the vaddr is just a normal lowmem address (ie, not in
    the KMAP area). This patch makes sure that the pte is only cleared if kmap
    area was actually used for the mapping.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Rusty Russell
    Cc: Zachary Amsden
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeremy Fitzhardinge
     
  • Introduce pagefault_{disable,enable}() and use these where previously we did
    manual preempt increments/decrements to make the pagefault handler do the
    atomic thing.

    Currently they still rely on the increased preempt count, but do not rely on
    the disabled preemption, this might go away in the future.

    (NOTE: the extra barrier() in pagefault_disable might fix some holes on
    machines which have too many registers for their own good)

    [heiko.carstens@de.ibm.com: s390 fix]
    Signed-off-by: Peter Zijlstra
    Acked-by: Nick Piggin
    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • In light of the recent pagefault and filemap_copy_from_user work I've gone
    through all the arch pagefault handlers to make sure the inc_preempt_count()
    'feature' works as expected.

    Several sections of code (including the new filemap_copy_from_user) rely on
    the fact that faults do not take locks under increased preempt count.

    arch/x86_64 - good
    arch/powerpc - good
    arch/cris - fixed
    arch/i386 - good
    arch/parisc - fixed
    arch/sh - good
    arch/sparc - good
    arch/s390 - good
    arch/m68k - fixed
    arch/ppc - good
    arch/alpha - fixed
    arch/mips - good
    arch/sparc64 - good
    arch/ia64 - good
    arch/arm - fixed
    arch/um - good
    arch/avr32 - good
    arch/h8300 - NA
    arch/m32r - good
    arch/v850 - good
    arch/frv - fixed
    arch/m68knommu - NA
    arch/arm26 - fixed
    arch/sh64 - fixed
    arch/xtensa - good

    Signed-off-by: Peter Zijlstra
    Acked-by: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • Following up with the work on shared page table done by Dave McCracken. This
    set of patch target shared page table for hugetlb memory only.

    The shared page table is particular useful in the situation of large number of
    independent processes sharing large shared memory segments. In the normal
    page case, the amount of memory saved from process' page table is quite
    significant. For hugetlb, the saving on page table memory is not the primary
    objective (as hugetlb itself already cuts down page table overhead
    significantly), instead, the purpose of using shared page table on hugetlb is
    to allow faster TLB refill and smaller cache pollution upon TLB miss.

    With PT sharing, pte entries are shared among hundreds of processes, the cache
    consumption used by all the page table is smaller and in return, application
    gets much higher cache hit ratio. One other effect is that cache hit ratio
    with hardware page walker hitting on pte in cache will be higher and this
    helps to reduce tlb miss latency. These two effects contribute to higher
    application performance.

    Signed-off-by: Ken Chen
    Acked-by: Hugh Dickins
    Cc: Dave McCracken
    Cc: William Lee Irwin III
    Cc: "Luck, Tony"
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: David Gibson
    Cc: Adam Litke
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chen, Kenneth W
     
  • arch/um/drivers/chan_kern.c:643: error: conflicting types for 'chan_interrupt'
    arch/um/include/chan_kern.h:31: error: previous declaration of 'chan_interrupt'

    Cc: David Howells
    Cc: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

07 Dec, 2006

9 commits

  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] Import updates from i386's i8259.c
    [MIPS] *-berr: Header inclusions for DEC bus error handlers
    [MIPS] Compile __do_IRQ() when really needed
    [MIPS] genirq: use name instead of typename
    [MIPS] Do not use handle_level_irq for ioasic_dma_irq_type.
    [MIPS] pte_offset(dir,addr): parenthesis fix

    Linus Torvalds
     
  • The recent change to convert the is_enabled flag in the PCI device to an
    atomic count broke the IA64 compilation.

    As pcibios_disable_device is only ever called if the reference count
    is zero, convert the if to a BUG_ON.

    Signed-off-by: Peter Chubb
    Signed-off-by: Tony Luck

    Peter Chubb
     
  • Import many updates from i386's i8259.c, especially genirq transitions.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • A fixup to add missing header inclusions for bus error handlers for
    DECstation system after the recent switch to get_irq_regs().

    Signed-off-by: Maciej W. Rozycki
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     
  • __do_IRQ() is needed only by irq handlers that can't use
    default handlers defined in kernel/irq/chip.c.

    For others platforms there's no need to compile this function
    since it won't be used. For those platforms this patch defines
    GENERIC_HARDIRQS_NO__DO_IRQ symbol which is used exactly for
    this purpose.

    Futhermore for platforms which do not use __do_IRQ(), end()
    method which is part of the 'irq_chip' structure is not used.
    This patch simply removes this method in this case.

    Signed-off-by: Franck Bui-Huu
    Signed-off-by: Ralf Baechle

    Franck Bui-Huu
     
  • The "typename" field was obsoleted by the "name" field.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (43 commits)
    sh: sh775x/titan fixes for irq header changes.
    sh: update r7780rp defconfig.
    sh: compile fixes for header cleanup.
    sh: Fixup pte_mkhuge() build failure.
    sh: set KBUILD_IMAGE to something sensible.
    sh: show held locks in stack trace with lockdep.
    sh: platform_pata support for R7780RP
    sh: stacktrace/lockdep/irqflags tracing support.
    sh: Fixup movli.l/movco.l atomic ops for gcc4.
    sh: dyntick infrastructure.
    sh: Clock framework tidying.
    sh: Turn off IRQs around get_timer_offset() calls.
    sh: Get the PGD right in oops case with 64-bit PTEs.
    sh: Fix store queue bitmap end.
    sh: More flexible + SH7780 earlyprintk SCIF support.
    sh: Fixup various PAGE_SIZE == 4096 assumptions.
    sh: Fixup 4K irq stacks.
    sh: dma-api channel capability extensions.
    sh: Drop name overload in dma-sh.
    sh: Make dma-isa depend on ISA_DMA_API.
    ...

    Linus Torvalds
     
  • * git://git.infradead.org/users/dhowells/workq-2.6:
    Actually update the fixed up compile failures.
    WorkQueue: Fix up arch-specific work items where possible
    WorkStruct: make allyesconfig
    WorkStruct: Pass the work_struct pointer instead of context data
    WorkStruct: Merge the pending bit into the wq_data pointer
    WorkStruct: Typedef the work function prototype
    WorkStruct: Separate delayable and non-delayable events.

    Linus Torvalds
     

06 Dec, 2006

11 commits