[PATCH] UML SMP support

From: Jeff Dike (jdike@karaya.com)
Date: Tue Oct 15 2002 - 15:42:22 EST


Please pull
        http://jdike.stearns.org:5000/smp-2.5

This adds SMP support to UML. All global data owned by UML is now either
locked or is commented as to why no locking is needed. All interrupts
are currently handled by CPU 0. The special handling of the timer interrupt
is now gone.

                                Jeff

 arch/um/config.in | 5 +
 arch/um/drivers/chan_user.c | 2
 arch/um/drivers/harddog_kern.c | 4
 arch/um/drivers/hostaudio_kern.c | 1
 arch/um/drivers/line.c | 22 ++++-
 arch/um/drivers/mconsole_kern.c | 28 +++++-
 arch/um/drivers/mconsole_user.c | 10 +-
 arch/um/drivers/mmapper_kern.c | 3
 arch/um/drivers/net_kern.c | 23 ++++-
 arch/um/drivers/port_kern.c | 13 ++-
 arch/um/drivers/ssl.c | 5 -
 arch/um/drivers/stdio_console.c | 9 ++
 arch/um/drivers/ubd_kern.c | 147 ++++++++++++++++++++++++----------
 arch/um/drivers/ubd_user.c | 4
 arch/um/drivers/xterm.c | 1
 arch/um/include/2_5compat.h | 2
 arch/um/include/irq_user.h | 4
 arch/um/include/kern_util.h | 10 --
 arch/um/include/mconsole.h | 2
 arch/um/include/sigio.h | 2
 arch/um/include/time_user.h | 6 -
 arch/um/kernel/exec_kern.c | 3
 arch/um/kernel/exitcode.c | 3
 arch/um/kernel/frame.c | 4
 arch/um/kernel/helper.c | 1
 arch/um/kernel/initrd_kern.c | 1
 arch/um/kernel/irq.c | 29 ++++++
 arch/um/kernel/irq_user.c | 162 ++++++++++++++++++++++++++-----------
 arch/um/kernel/mem.c | 45 +++++++---
 arch/um/kernel/mem_user.c | 5 -
 arch/um/kernel/process.c | 14 +--
 arch/um/kernel/process_kern.c | 53 +++++++++---
 arch/um/kernel/sigio_kern.c | 13 +++
 arch/um/kernel/sigio_user.c | 59 ++++++++++---
 arch/um/kernel/signal_user.c | 27 +++---
 arch/um/kernel/smp.c | 167 ++++++++++++++++++---------------------
 arch/um/kernel/syscall_kern.c | 15 ++-
 arch/um/kernel/syscall_user.c | 13 ---
 arch/um/kernel/time.c | 44 +++-------
 arch/um/kernel/time_kern.c | 31 ++++++-
 arch/um/kernel/trap_kern.c | 15 ++-
 arch/um/kernel/trap_user.c | 79 +++++++-----------
 arch/um/kernel/tty_log.c | 4
 arch/um/kernel/um_arch.c | 29 +++---
 arch/um/kernel/umid.c | 4
 arch/um/kernel/user_util.c | 1
 arch/um/main.c | 13 ++-
 arch/um/ptproxy/proxy.c | 6 -
 arch/um/sys-i386/bugs.c | 1
 arch/um/sys-i386/ptrace_user.c | 1
 arch/um/sys-ppc/miscthings.c | 3
 arch/um/uml.lds.S | 3
 include/asm-um/cache.h | 3
 include/asm-um/smp.h | 17 +++
 include/asm-um/thread_info.h | 4
 55 files changed, 774 insertions(+), 401 deletions(-)

ChangeSet@1.786, 2002-10-15 11:21:41-04:00, jdike@uml.karaya.com
  Fixed some locking bugs spotted by Oleg Drokin.

ChangeSet@1.785, 2002-10-14 18:51:59-04:00, jdike@uml.karaya.com
  Fixed the non-SMP build.

ChangeSet@1.784, 2002-10-14 11:31:46-04:00, jdike@uml.karaya.com
  config.in now defines CONFIG_NR_CPUS.

ChangeSet@1.783, 2002-10-14 09:53:55-04:00, jdike@uml.karaya.com
  This is the merge of the initial 2.4 SMP support.
  Locking was added where necessary.
  All processors take timer interrupts, but only CPU 0 calls the timer
  IRQ. The others just call update_process_times to keep the
  accounting straight.
  The timer interrupt is blocked along with the other signals.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:57 EST