17 Oct, 2007

3 commits

  • Equip IA64 sparsemem with a virtual memmap. This is similar to the existing
    CONFIG_VIRTUAL_MEM_MAP functionality for DISCONTIGMEM. It uses a PAGE_SIZE
    mapping.

    This is provided as a minimally intrusive solution. We split the 128TB
    VMALLOC area into two 64TB areas and use one for the virtual memmap.

    This should replace CONFIG_VIRTUAL_MEM_MAP long term.

    [apw@shadowen.org: convert to new helper based initialisation]
    Signed-off-by: Christoph Lameter
    Signed-off-by: Andy Whitcroft
    Acked-by: Mel Gorman
    Cc: "Luck, Tony"
    Cc: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • x86(-64) are the last architectures still using the page fault notifier
    cruft for the kprobes page fault hook. This patch converts them to the
    proper direct calls, and removes the now unused pagefault notifier bits
    aswell as the cruft in kprobes.c that was related to this mess.

    I know Andi didn't really like this, but all other architecture maintainers
    agreed the direct calls are much better and besides the obvious cruft
    removal a common way of dealing with kprobes across architectures is
    important aswell.

    [akpm@linux-foundation.org: build fix]
    [akpm@linux-foundation.org: fix sparc64]
    Signed-off-by: Christoph Hellwig
    Cc: Andi Kleen
    Cc:
    Cc: Prasanna S Panchamukhi
    Cc: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Convert cpu_sibling_map from a static array sized by NR_CPUS to a per_cpu
    variable. This saves sizeof(cpumask_t) * NR unused cpus. Access is mostly
    from startup and CPU HOTPLUG functions.

    Signed-off-by: Mike Travis
    Cc: Andi Kleen
    Cc: Christoph Lameter
    Cc: "Siddha, Suresh B"
    Cc: "David S. Miller"
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Travis
     

16 Oct, 2007

1 commit


13 Oct, 2007

2 commits

  • Fix the problem that kdump on INIT causes a kernel panic if kdump
    kernel image is not configured. The cause of this problem is
    machine_kexec_on_init() is using printk in INIT context. It should
    use ia64_mca_printk() instead.

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

    Kenji Kaneshige
     
  • SAL_CALL() always calls through the ia64_sal function pointer. I am adding
    new functionality that needs the same conventions as SAL_CALL (FP regs
    saved/restored, sal_lock acquired, etc), but doesn't use the ia64_sal
    function pointer.

    This patch pulls the body of SAL_CALL out into a new "IA64_FW_CALL" that
    takes care of these calling conventions, but allows the caller to specify
    either ia64_sal or some other firmware entry point.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Len Brown
    Signed-off-by: Tony Luck

    Bjorn Helgaas
     

01 Sep, 2007

3 commits

  • After my last patch we have a new header file for HP simulator use.
    Here's code to use it for stuff that used to have `extern' statements
    inline in the code. Functionality should not change with this patch.

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

    Peter Chubb
     
  • This patch cleans up the `enable early console for SKI' patch
    (471e7a44848f467c9b83adc3463d019d2fa8817f), and
    1. potentially allows the gensparse_defconfig to work again.
    (there are other problems running a generic kernel on Ski)
    2. fixes the `console registered twice' problem.
    3. Cleans up the code by moving the `extern hpsim_cons' declaration to
    a new asm/hpsim.h file.

    Thanks to Jes for comments.

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

    Peter Chubb
     
  • Add additional support for CPU disable on SN platforms.
    Correctly setup the smp_affinity mask for I/O error IRQs.
    Restrict the use of the feature to Altix 4000 and 450 systems
    running with a CPU disable capable PROM, and do not allow disabling
    of CPU 0.

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

    John Keller
     

14 Aug, 2007

2 commits


01 Aug, 2007

1 commit

  • Remove unused TIF_NOTIFY_RESUME flag for all processor architectures. The
    flag was not used excecpt on IA-64 where the patch replaces it with
    TIF_PERFMON_WORK.

    Signed-off-by: stephane eranian
    Cc:
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephane Eranian
     

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