09 Nov, 2005

26 commits

  • The folllowing modules require screen_info but don't depend
    on CONFIG_VT:
    - vga16fb.ko
    - intelfb.ko

    Signed-off-by: Adrian Bunk
    Acked-by: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Delete leftovers of the FB_E1356 and anything that did depend on it.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • Make some changes to the NEED_RESCHED and POLLING_NRFLAG to reduce
    confusion, and make their semantics rigid. Improves efficiency of
    resched_task and some cpu_idle routines.

    * In resched_task:
    - TIF_NEED_RESCHED is only cleared with the task's runqueue lock held,
    and as we hold it during resched_task, then there is no need for an
    atomic test and set there. The only other time this should be set is
    when the task's quantum expires, in the timer interrupt - this is
    protected against because the rq lock is irq-safe.

    - If TIF_NEED_RESCHED is set, then we don't need to do anything. It
    won't get unset until the task get's schedule()d off.

    - If we are running on the same CPU as the task we resched, then set
    TIF_NEED_RESCHED and no further action is required.

    - If we are running on another CPU, and TIF_POLLING_NRFLAG is *not* set
    after TIF_NEED_RESCHED has been set, then we need to send an IPI.

    Using these rules, we are able to remove the test and set operation in
    resched_task, and make clear the previously vague semantics of
    POLLING_NRFLAG.

    * In idle routines:
    - Enter cpu_idle with preempt disabled. When the need_resched() condition
    becomes true, explicitly call schedule(). This makes things a bit clearer
    (IMO), but haven't updated all architectures yet.

    - Many do a test and clear of TIF_NEED_RESCHED for some reason. According
    to the resched_task rules, this isn't needed (and actually breaks the
    assumption that TIF_NEED_RESCHED is only cleared with the runqueue lock
    held). So remove that. Generally one less locked memory op when switching
    to the idle thread.

    - Many idle routines clear TIF_POLLING_NRFLAG, and only set it in the inner
    most polling idle loops. The above resched_task semantics allow it to be
    set until before the last time need_resched() is checked before going into
    a halt requiring interrupt wakeup.

    Many idle routines simply never enter such a halt, and so POLLING_NRFLAG
    can be always left set, completely eliminating resched IPIs when rescheduling
    the idle task.

    POLLING_NRFLAG width can be increased, to reduce the chance of resched IPIs.

    Signed-off-by: Nick Piggin
    Cc: Ingo Molnar
    Cc: Con Kolivas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • 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
     
  • Signed-off-by: Christoph Hellwig
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Some architectures define and use this type in their compat_ioctl code, but
    all of them can easily use the identical ioctl_trans_handler_t type that is
    defined in common code.

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

    Christoph Hellwig
     
  • This patch removes almost all inclusions of linux/version.h. The 3
    #defines are unused in most of the touched files.

    A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is
    unfortunatly in linux/version.h.

    There are also lots of #ifdef for long obsolete kernels, this was not
    touched. In a few places, the linux/version.h include was move to where
    the LINUX_VERSION_CODE was used.

    quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'`

    search pattern:
    /UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).h

    Signed-off-by: Olaf Hering
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Hering
     
  • "extern inline" -> "static inline"

    Signed-off-by: Adrian Bunk
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Fixes e500 build and cleans up traps.c by moving perf_irq extern to
    pmc.h.

    Signed-off-by: Matt Porter
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Porter
     
  • MPC834x uses the gianfar network driver which now uses the new phylib. We
    need to update the platform code to create a gianfar platform MDIO bus and
    pass the right intializations to the gianfar driver to make things work
    again.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • A non-broken udev would autoload also the drivers for devices on the
    pseries vio bus, like ibmveth, ibmvscsic and hvsc. This is similar to pci,
    usb and ieee1394:

    /lib/modules/`uname -r`/modules.alias
    alias vio:TvscsiSIBM,v-scsi* ibmvscsic
    alias vio:TnetworkSIBM,l-lan* ibmveth
    alias vio:Tserial-serverShvterm2* hvcs

    /events/debug.00004.pci.add.1394:MODALIAS='pci:v00001014d00000188sv00000000sd00000000bc06sc04i0f'
    /events/debug.00005.pci.add.1509:MODALIAS='pci:v00008086d00001229sv00001014sd000001FFbc02sc00i00'
    /events/debug.00026.vio.add.1519:MODALIAS='vio:TserialShvterm1'
    /events/debug.00027.vio.add.1446:MODALIAS='vio:TvscsiSIBM,v-scsi'
    /events/debug.00028.vio.add.1451:MODALIAS='vio:TnetworkSIBM,l-lan'

    modprobe -v vio:TnetworkSIBM,l-lan
    insmod /lib/modules/2.6.14-20051030_vio-ppc64/kernel/drivers/net/ibmveth.ko

    Signed-off-by: Olaf Hering
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Hering
     
  • Add missing include file to fix STx GP3 build.

    Signed-off-by: Matt Porter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Porter
     
  • Fixes mismerged Makefile that prevented the ppc85xx rapidio support from being
    built.

    Signed-off-by: Matt Porter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Porter
     
  • You could open the /proc/sys/net/ipv4/conf// file, then
    wait for interface to go away, try to grab as much memory as possible in
    hope to hit the (kfreed) ctl_table. Then fill it with pointers to your
    function. Then do read from file you've opened and if you are lucky,
    you'll get it called as ->proc_handler() in kernel mode.

    So this is at least an Oops and possibly more. It does depend on an
    interface going away though, so less of a security risk than it would
    otherwise be.

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

    Al Viro
     
  • Linus Torvalds
     
  • Russell King
     
  • Patch from Nicolas Pitre

    Make it completely deterministic and leave nothing to chance
    (even if it had at worst 0.001% probability of failing).

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Russell King

    Nicolas Pitre
     
  • Patch from Nicolas Pitre

    Noticed by Woody Suwalski .

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Russell King

    Nicolas Pitre
     
  • Patch from Ben Dooks

    Force a watchdog reset if the system fails to
    decompress properly.

    Signed-off-by: Ben Dooks
    Signed-off-by: Russell King

    Ben Dooks
     
  • Patch from Dirk Opfer

    This patch updates the tosa machine to use the new SharpSL PCMCIA layer introduced with Patch #3093/1

    Depends on #3093/1

    Signed-off-by: Dirk Opfer
    Signed-off-by: Richard Purdie
    Signed-off-by: Russell King

    Dirk Opfer
     
  • Patch from Richard Purdie

    The Sharp SL-Cxx00 models have a combined power control for the SD
    and CF slot 0. This patch adds hooks to the scoop driver to allow
    machines to provide a custom control function for this and such a
    function is added for spitz/akita/borzoi.

    It also moves the gpio init code into the machine files as this
    is machine dependent and differs between some models. A couple of
    warnings when compiling for collie are also fixed.

    Signed-off-by: Richard Purdie
    Signed-off-by: Russell King

    Richard Purdie
     
  • Patch from Ben Dooks

    Fix the map_desc entries to use the new .pfn
    initialiser for the Simtec BAST machine support.

    Signed-off-by: Ben Dooks
    Signed-off-by: Russell King

    Ben Dooks
     
  • Patch from Ben Dooks

    Fix the initialisation of the map_desc fields
    in the Thorcom VR1000 machine support to use
    the new .pfn initialiser.

    Signed-off-by: Ben Dooks
    Signed-off-by: Russell King

    Ben Dooks
     
  • Patch from Dirk Opfer

    This patch adds MMC, IRDA and UDC support to the Sharp SL-6000x device. Also it adds a platform device for the keyboard driver.

    Signed-off-by: Dirk Opfer
    Signed-off-by: Richard Purdie
    Signed-off-by: Russell King

    Dirk Opfer
     
  • Add infrastructure for supporting per-cpu local timers to update
    the profiling information and update system time accounting.

    Signed-off-by: Russell King

    Russell King
     
  • Update comment on get_user_insn to the more general "pte lock", which may
    or may not be the page_table_lock. Note vmtruncate handled like kswapd.

    Signed-off-by: Hugh Dickins
    Signed-off-by: David S. Miller

    Hugh Dickins
     

08 Nov, 2005

14 commits