26 Jul, 2007

4 commits


25 Jul, 2007

1 commit


23 Jul, 2007

1 commit

  • Now that the last inlined instances are gone, all that is left to do
    is turning disable_irq_nosync on arm26 and m68k from defines to aliases
    and we are all set - we can make these externs in linux/interrupt.h
    uncoditional and kill remaining instances in asm/irq.h

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

    Al Viro
     

21 Jul, 2007

2 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Prevent people from directly including .
    [IA64] remove time interpolator
    [IA64] Convert to generic timekeeping/clocksource
    [IA64] refresh some config files for 64K pagesize
    [IA64] Delete iosapic_free_rte()
    [IA64] fallocate system call
    [IA64] Enable percpu vector domain for IA64_DIG
    [IA64] Enable percpu vector domain for IA64_GENERIC
    [IA64] Support irq migration across domain
    [IA64] Add support for vector domain
    [IA64] Add mapping table between irq and vector
    [IA64] Check if irq is sharable
    [IA64] Fix invalid irq vector assumption for iosapic
    [IA64] Use dynamic irq for iosapic interrupts
    [IA64] Use per iosapic lock for indirect iosapic register access
    [IA64] Cleanup lock order in iosapic_register_intr
    [IA64] Remove duplicated members in iosapic_rte_info
    [IA64] Remove block structure for locking in iosapic.c

    Linus Torvalds
     
  • Signed-off-by: Robert P. J. Day
    Signed-off-by: Tony Luck

    Robert P. J. Day
     

20 Jul, 2007

7 commits

  • Tony Luck
     
  • sys_fallocate for ia64. This uses an empty slot #1303 erroneously
    marked as reserved for move_pages (which had already been allocated
    as syscall #1276)

    Signed-Off-By: Dave Chinner
    Signed-off-by: Tony Luck

    David Chinner
     
  • Since Ingo's recent scheduler rewrite which was merged as commit
    0437e109e1841607f2988891eaa36c531c6aa6ac sched_cacheflush is unused.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Ingo Molnar

    Ralf Baechle
     
  • This patch changes mm_struct.dumpable to a pair of bit flags.

    set_dumpable() converts three-value dumpable to two flags and stores it into
    lower two bits of mm_struct.flags instead of mm_struct.dumpable.
    get_dumpable() behaves in the opposite way.

    [akpm@linux-foundation.org: export set_dumpable]
    Signed-off-by: Hidehiro Kawai
    Cc: Alan Cox
    Cc: David Howells
    Cc: Hugh Dickins
    Cc: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kawai, Hidehiro
     
  • New arch macro STACK_TOP_MAX it gives the larges valid stack address for the
    architecture in question.

    It differs from STACK_TOP in that it will not distinguish between
    personalities but will always return the largest possible address.

    This is used to create the initial stack on execve, which we will move down to
    the proper location once the binfmt code has figured out where that is.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Ollie Wild
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • 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
     
  • AFAICT now that jprobe.entry is a void *, JPROBE_ENTRY doesn't do anything
    useful - so remove it ..

    I've left a do-nothing version so that out-of-tree jprobes code will still
    compile without modifications.

    Signed-off-by: Michael Ellerman
    Cc: Prasanna S Panchamukhi
    Acked-by: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Cc: David S. Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Ellerman
     

18 Jul, 2007

10 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Clean away some code inside some non-existent CONFIG ifdefs
    [IA64] ar.itc access must really be after xtime_lock.sequence has been read
    [IA64] correctly count CPU objects in the ia64/sn hwperf interface
    [IA64] arbitary speed tty ioctl support
    [IA64] use machvec=dig on hpzx1 platforms

    Linus Torvalds
     
  • Add function helper, fb_is_primary_device(). Given struct fb_info, it will
    return a nonzero value if the device is the primary display.

    Currently, only the i386 is supported where the function checks for the
    IORESOURCE_ROM_SHADOW flag.

    Signed-off-by: Antonino Daplas
    Cc: David Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Move arch-specific bits of fb_mmap() to their respective subdirectories

    [bob.picco@hp.com: efi_range_is_wc is referenced but not declared]
    [bunk@stusta.de: fix include/asm-m68k/fb.h]
    Signed-off-by: Antonino Daplas
    Acked-by: David S. Miller
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • It is often known at allocation time whether a page may be migrated or not.
    This patch adds a flag called __GFP_MOVABLE and a new mask called
    GFP_HIGH_MOVABLE. Allocations using the __GFP_MOVABLE can be either migrated
    using the page migration mechanism or reclaimed by syncing with backing
    storage and discarding.

    An API function very similar to alloc_zeroed_user_highpage() is added for
    __GFP_MOVABLE allocations called alloc_zeroed_user_highpage_movable(). The
    flags used by alloc_zeroed_user_highpage() are not changed because it would
    change the semantics of an existing API. After this patch is applied there
    are no in-kernel users of alloc_zeroed_user_highpage() so it probably should
    be marked deprecated if this patch is merged.

    Note that this patch includes a minor cleanup to the use of __GFP_ZERO in
    shmem.c to keep all flag modifications to inode->mapping in the
    shmem_dir_alloc() helper function. This clean-up suggestion is courtesy of
    Hugh Dickens.

    Additional credit goes to Christoph Lameter and Linus Torvalds for shaping the
    concept. Credit to Hugh Dickens for catching issues with shmem swap vector
    and ramfs allocations.

    [akpm@linux-foundation.org: build fix]
    [hugh@veritas.com: __GFP_ZERO cleanup]
    Signed-off-by: Mel Gorman
    Cc: Andy Whitcroft
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • Nobody is using ptep_test_and_clear_dirty and ptep_clear_flush_dirty. Remove
    the functions from all architectures.

    Signed-off-by: Martin Schwidefsky
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     
  • The last user of ptep_establish in mm/ is long gone. Remove the architecture
    primitive as well.

    Signed-off-by: Martin Schwidefsky
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     
  • Add support for IRQ migration across vector domain.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Yasuaki Ishimatsu
    Signed-off-by: Tony Luck

    Yasuaki Ishimatsu
     
  • Add fundamental support for multiple vector domain. There still exists
    only one vector domain even with this patch. IRQ migration across
    domain is not supported yet by this patch.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Yasuaki Ishimatsu
    Signed-off-by: Tony Luck

    Yasuaki Ishimatsu
     
  • Add mapping tables between irqs and vectors, and its management code.
    This is necessary for supporting multiple vector domain because 1:1
    mapping between irq and vector will be changed to n:1.

    The irq == vector relationship between irqs and vectors is explicitly
    remained for percpu interrupts, platform interrupts, isa IRQs and
    vectors assigned using assign_irq_vector() because some programs might
    depend on it.

    And I should consider the following problem.

    When pci drivers enabled/disabled devices dynamically, its irq number
    is changed to the different one. Therefore, suspend/resume code may
    happen problem.

    To fix this problem, I bound gsi to irq.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Yasuaki Ishimatsu
    Signed-off-by: Tony Luck

    Yasuaki Ishimatsu
     
  • Use per-iosapic lock for indirect iosapic register access. It reduces
    lock contention.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Yasuaki Ishimatsu
    Signed-off-by: Tony Luck

    Yasuaki Ishimatsu
     

17 Jul, 2007

2 commits

  • One common problem with 32 bit system call and ioctl emulation is the
    different alignment rules between i386 and 64 bit machines. A number of
    drivers work around this by marking the compat structures as
    'attribute((packed))', which is not the right solution because it breaks
    all the non-x86 architectures that want to use the same compat code.

    Hopefully, this patch improves the situation, it introduces two new types,
    compat_u64 and compat_s64. These are defined on all architectures to have
    the same size and alignment as the 32 bit version of u64 and s64.

    Signed-off-by: Arnd Bergmann
    Acked-by: David S. Miller
    Cc: David Woodhouse
    Cc: Andi Kleen
    Cc: Benjamin Herrenschmidt
    Cc: Vasily Tarasov
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • Kill pte_rdprotect(), pte_exprotect(), pte_mkread(), pte_mkexec(), pte_read(),
    pte_exec(), and pte_user() except where arch-specific code is making use of
    them.

    Signed-off-by: Jan Beulich
    Cc: Andi Kleen
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     

14 Jul, 2007

1 commit


13 Jul, 2007

2 commits

  • Commit 91a6902958f052358899f58683d44e36228d85c2 added an extra
    argument to pci_read_legacy_io() and pci_write_legacy_io(). But
    the prototypes in include/asm-ia64/pci.h were not updated.

    Signed-off-by: Tony Luck

    Tony Luck
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Support multiple CPUs going through OS_MCA
    [IA64] silence GCC ia64 unused variable warnings
    [IA64] prevent MCA when performing MMIO mmap to PCI config space
    [IA64] add sn_register_pmi_handler oemcall
    [IA64] Stop bit for brl instruction
    [IA64] SN: Correct ROM resource length for BIOS copy
    [IA64] Don't set psr.ic and psr.i simultaneously

    Linus Torvalds
     

12 Jul, 2007

4 commits

  • Based on replies to a respective query, remove the pci_dac_dma_...() APIs
    (except for pci_dac_dma_supported() on Alpha, where this function is used
    in non-DAC PCI DMA code).

    Signed-off-by: Jan Beulich
    Cc: Andi Kleen
    Cc: Jesse Barnes
    Cc: Christoph Hellwig
    Acked-by: David Miller
    Cc: Jeff Garzik
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Jan Beulich
     
  • I'm not sure if this is going to fly, weak symbols work on the compilers I'm
    using, but whether they work for all of the affected architectures I can't say.
    I've cc'ed as many arch maintainers/lists as I could find.

    But assuming they do, we can use a weak empty definition of
    pcibios_add_platform_entries() to avoid having an empty definition on every
    arch.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Greg Kroah-Hartman

    Michael Ellerman
     
  • Linux does not gracefully deal with multiple processors going
    through OS_MCA aa part of the same MCA event. The first cpu
    into OS_MCA grabs the ia64_mca_serialize lock. Subsequent
    cpus wait for that lock, preventing them from reporting in as
    rendezvoused. The first cpu waits 5 seconds then complains
    that all the cpus have not rendezvoused. The first cpu then
    handles its MCA and frees up all the rendezvoused cpus and
    releases the ia64_mca_serialize lock. One of the subsequent
    cpus going thought OS_MCA then gets the ia64_mca_serialize
    lock, waits another 5 seconds and then complains that none of
    the other cpus have rendezvoused.

    This patch allows multiple CPUs to gracefully go through OS_MCA.

    The first CPU into ia64_mca_handler() grabs a mca_count lock.
    Subsequent CPUs into ia64_mca_handler() are added to a list of cpus
    that need to go through OS_MCA (a bit set in mca_cpu), and report
    in as rendezvoused, and but spin waiting their turn.

    The first CPU sees everyone rendezvous, handles his MCA, wakes up
    one of the other CPUs waiting to process their MCA (by clearing
    one mca_cpu bit), and then waits for the other cpus to complete
    their MCA handling. The next CPU handles his MCA and the process
    repeats until all the CPUs have handled their MCA. When the last
    CPU has handled it's MCA, it sets monarch_cpu to -1, releasing all
    the CPUs.

    In testing this works more reliably and faster.

    Thanks to Keith Owens for suggesting numerous improvements
    to this code.

    Signed-off-by: Russ Anderson
    Signed-off-by: Tony Luck

    Russ Anderson
     
  • Add wrapper function to make SN_SAL_REGISTER_PMI_HANDLER ia64_sal_oemcall.

    Signed-off-by: Dean Nelson
    Signed-off-by: Tony Luck

    Dean Nelson
     

11 Jul, 2007

1 commit

  • Add the termios2 structure ready for enabling on most platforms. One or
    two like Sparc are plain weird so have been left alone. Most can use the
    same structure as ktermios for termios2 (ie the newer ioctl uses the
    structure matching the current kernel structure)

    Signed-off-by: Alan Cox
    Cc: Bryan Wu
    Cc: Ian Molton
    Cc: Haavard Skinnemoen
    Cc: Yoshinori Sato
    Cc: Mikael Starvik
    Cc: David Howells
    Cc: "Luck, Tony"
    Cc: Hirokazu Takata
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc: Ralf Baechle
    Cc: Kyle McMartin
    Cc: Matthew Wilcox
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: Kazumoto Kojima
    Cc: Richard Curnow
    Cc: Miles Bader
    Cc: Chris Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     

27 Jun, 2007

1 commit


17 Jun, 2007

1 commit

  • Some changes done a while ago to avoid pounding on ptep_set_access_flags and
    update_mmu_cache in some race situations break sun4c which requires
    update_mmu_cache() to always be called on minor faults.

    This patch reworks ptep_set_access_flags() semantics, implementations and
    callers so that it's now responsible for returning whether an update is
    necessary or not (basically whether the PTE actually changed). This allow
    fixing the sparc implementation to always return 1 on sun4c.

    [akpm@linux-foundation.org: fixes, cleanups]
    Signed-off-by: Benjamin Herrenschmidt
    Cc: Hugh Dickins
    Cc: David Miller
    Cc: Mark Fortescue
    Acked-by: William Lee Irwin III
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

25 May, 2007

1 commit


19 May, 2007

1 commit


17 May, 2007

1 commit