linux-um archives
 help / color / mirror / Atom feed
* [uml-devel] making uml work with smp
@ 2004-06-10 11:21 Vincent Guffens
  2004-06-14 18:09 ` BlaisorBlade
  0 siblings, 1 reply; 2+ messages in thread
From: Vincent Guffens @ 2004-06-10 11:21 UTC (permalink / raw)
  To: user-mode-linux-devel

Hi,

I've tried UML+SMP with linux-2.4.24-um1. According to the project list 
on the uml site, this feature is ready but needs to be debugged.

I report here my attempt to start UML with smp with no success. However, 
as the code is already there, it would be very nice to have it work.

Would it be possible to have useful pointers toward architecture details 
that would help in understanding how to make it work. Useful techniques 
on how to debug uml+smp would also be very interesting as it looks like 
it is not going to be the trivial task of the day ...


The only changes that have to be made to compile with SMP is

*add the folowing to  arch/um/config.in

  define_bool CONFIG_SMP $CONFIG_UML_SMP
+int 'Number of CPUs' CONFIG_NR_CPUS 1

*change this line in arch/um/kernel/um_arch.c
-int ncpus = 1;
+int ncpus = 4;

*turn it on in the kernel config

When booting the machine, you can see the processors starting :
./linux-smp ubd0=cow0 umid=test devfs=nomount mode=tt
[...]
Starting up other processors:
         #1 - idle thread pid = 18502.. online
         #2 - idle thread pid = 18504.. online
         #3 - idle thread pid = 18506.. online
All CPUs are go!
Waiting on wait_init_idle (map = 0xe)
All processors have done init_idle
[..]

As expected problems occur when booting the UML machine,

1) a crash :
INIT: version 2.84 booting
Kernel panic: Kernel mode fault at addr 0x115, ip 0xa00c9066
  <6>Stopping all CPUs...CPU#0 stopping

but gdb gives the following:

Couldn't get registers: No such process.
(gdb) bt
Couldn't get registers: No such process.

but with only one processor, you can have gdb to tell you that the 
problem is in tty_open

2) sometimes there is a hang with the following backtrace

[...]
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
[hang here]

#0  0xa0181eb1 in nanosleep ()
#1  0xa00bc516 in idle_sleep (secs=10) at time.c:160
#2  0xa00b8161 in cpu_idle () at process_kern.c:210
#3  0xa000d542 in rest_init () at init/main.c:346
#4  0xa00025f9 in start_kernel () at init/main.c:440
#5  0xa00bf1ed in start_kernel_proc (unused=0x0) at process_kern.c:437
#6  0xa00c030f in signal_tramp (arg=0xa00bf1a4) at tracer.c:120









-- 
				Vincent Guffens
				PhD Student UCL/CESAME
				tel:   +32 10 47 80 30
Value your freedom, or you will lose it, teaches history.
"Don't bother us with politics," respond those who don't want to learn.
	      	-- Richard M. Stallman



-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-06-14 23:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-10 11:21 [uml-devel] making uml work with smp Vincent Guffens
2004-06-14 18:09 ` BlaisorBlade

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox