14 Nov, 2005

2 commits

  • Remove task_work structure, use the standard thread flags functions and use
    shifts in entry.S to test the thread flags. Add a few local labels to entry.S
    to allow gas to generate short jumps.

    Finally it changes a number of inline functions in thread_info.h to macros to
    delay the current_thread_info() usage, which requires on m68k a structure
    (task_struct) not yet defined at this point.

    Signed-off-by: Roman Zippel
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • a) added embedded thread_info [m68k processor.h]

    b) added missing symbols in asm-offsets.c

    c) task_thread_info() and friends in asm-m68k/thread_info.h

    d) made m68k thread_info.h included by m68k processor.h, not the other way
    round.

    Signed-off-by: Al Viro
    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     

09 Nov, 2005

1 commit

  • Run idle threads with preempt disabled.

    Also corrected a bugs in arm26's cpu_idle (make it actually call schedule()).
    How did it ever work before?

    Might fix the CPU hotplugging hang which Nigel Cunningham noted.

    We think the bug hits if the idle thread is preempted after checking
    need_resched() and before going to sleep, then the CPU offlined.

    After calling stop_machine_run, the CPU eventually returns from preemption and
    into the idle thread and goes to sleep. The CPU will continue executing
    previous idle and have no chance to call play_dead.

    By disabling preemption until we are ready to explicitly schedule, this bug is
    fixed and the idle threads generally become more robust.

    From: alexs

    PPC build fix

    From: Yoichi Yuasa

    MIPS build fix

    Signed-off-by: Nick Piggin
    Signed-off-by: Yoichi Yuasa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     

07 Nov, 2005

2 commits

  • Use schedule_timeout_interruptible() instead of
    set_current_state()/schedule_timeout() to reduce kernel size.

    Signed-off-by: Nishanth Aravamudan
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nishanth Aravamudan
     
  • The sys_ptrace boilerplate code (everything outside the big switch
    statement for the arch-specific requests) is shared by most architectures.
    This patch moves it to kernel/ptrace.c and leaves the arch-specific code as
    arch_ptrace.

    Some architectures have a too different ptrace so we have to exclude them.
    They continue to keep their implementations. For sh64 I had to add a
    sh64_ptrace wrapper because it does some initialization on the first call.
    For um I removed an ifdefed SUBARCH_PTRACE_SPECIAL block, but
    SUBARCH_PTRACE_SPECIAL isn't defined anywhere in the tree.

    Signed-off-by: Christoph Hellwig
    Acked-by: Paul Mackerras
    Acked-by: Ralf Baechle
    Acked-By: David Howells
    Acked-by: Russell King
    Acked-by: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

31 Oct, 2005

2 commits


30 Oct, 2005

2 commits

  • First step in pushing down the page_table_lock. init_mm.page_table_lock has
    been used throughout the architectures (usually for ioremap): not to serialize
    kernel address space allocation (that's usually vmlist_lock), but because
    pud_alloc,pmd_alloc,pte_alloc_kernel expect caller holds it.

    Reverse that: don't lock or unlock init_mm.page_table_lock in any of the
    architectures; instead rely on pud_alloc,pmd_alloc,pte_alloc_kernel to take
    and drop it when allocating a new one, to check lest a racing task already
    did. Similarly no page_table_lock in vmalloc's map_vm_area.

    Some temporary ugliness in __pud_alloc and __pmd_alloc: since they also handle
    user mms, which are converted only by a later patch, for now they have to lock
    differently according to whether or not it's init_mm.

    If sources get muddled, there's a danger that an arch source taking
    init_mm.page_table_lock will be mixed with common source also taking it (or
    neither take it). So break the rules and make another change, which should
    break the build for such a mismatch: remove the redundant mm arg from
    pte_alloc_kernel (ppc64 scrapped its distinct ioremap_mm in 2.6.13).

    Exceptions: arm26 used pte_alloc_kernel on user mm, now pte_alloc_map; ia64
    used pte_alloc_map on init_mm, now pte_alloc_kernel; parisc had bad args to
    pmd_alloc and pte_alloc_kernel in unused USE_HPPA_IOREMAP code; ppc64
    map_io_page forgot to unlock on failure; ppc mmu_mapin_ram and ppc64 im_free
    took page_table_lock for no good reason.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Please, please now delete the Atari CONFIG_STRAM_SWAP code. It may be
    excellent and ingenious code, but its reference to swap_vfsmnt betrays that it
    hasn't been built since 2.5.1 (four years old come December), it's delving
    deep into matters which are the preserve of core mm code, its only purpose is
    to give the more conscientious mm guys an anxiety attack from time to time;
    yet we keep on breaking it more and more.

    If you want to use RAM for swap, then if the MTD driver does not already
    provide just what you need, I'm sure David could be persuaded to add the
    extra. But you'd also like to be able to allocate extents of that swap for
    other use: we can give you a core interface for that if you need. But unbuilt
    for four years suggests to me that there's no need at all.

    I cannot swear the patch below won't break your build, but believe so.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     

10 Sep, 2005

3 commits


08 Sep, 2005

3 commits

  • Sanitized and fixed floppy dependencies: split the messy dependencies for
    BLK_DEV_FD by introducing a new symbol (ARCH_MAY_HAVE_PC_FDC), making
    BLK_DEV_FD depend on that one and taking declarations of ARCH_MAY_HAVE_PC_FDC
    to arch/*/Kconfig. While we are at it, fixed several obvious cases when
    BLK_DEV_FD should have been excluded (architectures lacking asm/floppy.h
    are *not* going to have floppy.c compile, let alone work).

    If you can come up with better name for that ("this architecture might
    have working PC-compatible floppy disk controller"), you are more than
    welcome - just s/ARCH_MAY_HAVE_PC_FDC/your_prefered_name/g in the patch
    below...

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

    viro@ZenIV.linux.org.uk
     
  • This patch cleans up a commonly repeated set of changes to the NTP state
    variables by adding two helper inline functions:

    ntp_clear(): Clears the ntp state variables

    ntp_synced(): Returns 1 if the system is synced with a time server.

    This was compile tested for alpha, arm, i386, x86-64, ppc64, s390, sparc,
    sparc64.

    Signed-off-by: John Stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    john stultz
     
  • this gets rid of the last two explicit initializations in misc.c

    Signed-off-by: Christoph Hellwig
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

05 Sep, 2005

4 commits

  • Use the builtin functions for memset/memclr/memcpy, special optimizations for
    page operations have dedicated functions now. Uninline memmove/memchr and
    move all functions into a single file and clean it up a little.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Move a few cache functions into its own file and fix flush_icache_range() so
    it can handle both kernel and user addresses correctly (assuming context is
    set correctly).

    Turn copy_to_user_page/copy_from_user_page into inline functions and add a
    missing cache flush.

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • - create helper function singlestep_disable()
    - move variable definitions to the top of the function
    - use "out_eio" label as common error destination
    - don't clear failure value for PTRACE_SETREGS/PTRACE_GETREGS

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • This reformats and properly indents sys_ptrace (only whitespace changes).

    Signed-off-by: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     

04 Aug, 2005

1 commit


27 Jul, 2005

1 commit

  • machine_restart, machine_halt and machine_power_off are machine
    specific hooks deep into the reboot logic, that modules
    have no business messing with. Usually code should be calling
    kernel_restart, kernel_halt, kernel_power_off, or
    emergency_restart. So don't export machine_restart,
    machine_halt, and machine_power_off so we can catch buggy users.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     

12 Jul, 2005

1 commit

  • Create a new top-level menu named "Networking" thus moving
    net related options and protocol selection way from the drivers
    menu and up on the top-level where they belong.

    To implement this all architectures has to source "net/Kconfig" before
    drivers/*/Kconfig in their Kconfig file. This change has been
    implemented for all architectures.

    Device drivers for ordinary NIC's are still to be found
    in the Device Drivers section, but Bluetooth, IrDA and ax25
    are located with their corresponding menu entries under the new
    networking menu item.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

24 Jun, 2005

1 commit

  • For all architectures, this just means that you'll see a "Memory Model"
    choice in your architecture menu. For those that implement DISCONTIGMEM,
    you may eventually want to make your ARCH_DISCONTIGMEM_ENABLE a "def_bool
    y" and make your users select DISCONTIGMEM right out of the new choice
    menu. The only disadvantage might be if you have some specific things that
    you need in your help option to explain something about DISCONTIGMEM.

    Signed-off-by: Dave Hansen
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Hansen
     

13 Jun, 2005

2 commits


01 May, 2005

1 commit


19 Apr, 2005

2 commits


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds