From: Robin L. P. <rlp...@di...> - 2005-10-02 21:26:02
|
Looked at the mailing list, found the following tips: 1. Set TMP/TEMP/TMPDIR to a tmpfs mounted place. Did that. I see no sign that UML is using it. 2. Don't use synchronous UBD on anything older than 2.6.9 2.6.13.2 That's all I can remember. Are there others? Still a fair bit slower than I'd like. Unfortunately, my primary use (mooix) involves a lot of process creation. I gather that's expensive in UML. -Robin -- http://www.digitalkingdom.org/~rlpowell/ *** http://www.lojban.org/ Reason #237 To Learn Lojban: "Homonyms: Their Grate!" Proud Supporter of the Singularity Institute - http://singinst.org/ |
From: Brock, A. - N. <Ant...@or...> - 2005-10-02 23:18:05
|
Robin, =20 You can verify the use of tmpfs with the 'lsof' command. For example, = assuming that tmpfs is mounted at /dev/shm, you might see: =20 # lsof |egrep 'PID|/shm' COMMAND PID USER FD TYPE DEVICE SIZE NODE = NAME linux-2.6 3817 umowned DEL REG 0,12 5461 = /dev/shm/vm_file-0yTQhm linux-2.6 3817 umowned 3u REG 0,12 67108865 5461 = /dev/shm/vm_file-0yTQhm (deleted) linux-2.6 3821 umowned DEL REG 0,12 5461 = /dev/shm/vm_file-0yTQhm linux-2.6 3821 umowned 3u REG 0,12 67108865 5461 = /dev/shm/vm_file-0yTQhm (deleted) linux-2.6 3825 umowned DEL REG 0,12 5461 = /dev/shm/vm_file-0yTQhm linux-2.6 3825 umowned 3u REG 0,12 67108865 5461 = /dev/shm/vm_file-0yTQhm (deleted) linux-2.6 3826 umowned DEL REG 0,12 5461 = /dev/shm/vm_file-0yTQhm linux-2.6 3826 umowned 3u REG 0,12 67108865 5461 = /dev/shm/vm_file-0yTQhm (deleted) #=20 =20 Note that the file has been deleted. Because of this, you can't see it = in a directory listing. =20 Tony ________________________________ From: use...@li... on behalf of = Robin Lee Powell Sent: Fri 9/30/2005 10:47 PM To: use...@li... Subject: [uml-user] Increasing perfomance Looked at the mailing list, found the following tips: 1. Set TMP/TEMP/TMPDIR to a tmpfs mounted place. Did that. I see no sign that UML is using it. 2. Don't use synchronous UBD on anything older than 2.6.9 2.6.13.2 That's all I can remember. Are there others? Still a fair bit slower than I'd like. Unfortunately, my primary use (mooix) involves a lot of process creation. I gather that's expensive in UML. -Robin -- http://www.digitalkingdom.org/~rlpowell/ *** http://www.lojban.org/ Reason #237 To Learn Lojban: "Homonyms: Their Grate!" Proud Supporter of the Singularity Institute - http://singinst.org/ ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, = discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ User-mode-linux-user mailing list Use...@li... https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user |
From: Jeff D. <jd...@ad...> - 2005-10-03 01:54:19
|
On Fri, Sep 30, 2005 at 10:47:17PM -0700, Robin Lee Powell wrote: > Looked at the mailing list, found the following tips: > > 1. Set TMP/TEMP/TMPDIR to a tmpfs mounted place. > > Did that. I see no sign that UML is using it. > > 2. Don't use synchronous UBD on anything older than 2.6.9 > > 2.6.13.2 3. Use something closer to 2.6.14, there have been some noticable performance improvements during the 2.6.14 series. 4. Patch the host with skas3 - as nice as skas0 is, it isn't as fast as skas3. 5. sysemu too - patch that into the host, or use current -linus or -mm, which has it already. Jeff |
From: Robin L. P. <rlp...@di...> - 2005-10-03 04:12:34
|
On Sun, Oct 02, 2005 at 09:11:18PM -0400, Jeff Dike wrote: > On Fri, Sep 30, 2005 at 10:47:17PM -0700, Robin Lee Powell wrote: > > Looked at the mailing list, found the following tips: > > > > 1. Set TMP/TEMP/TMPDIR to a tmpfs mounted place. > > > > Did that. I see no sign that UML is using it. > > > > 2. Don't use synchronous UBD on anything older than 2.6.9 > > > > 2.6.13.2 > > 3. Use something closer to 2.6.14, there have been some noticable > performance improvements during the 2.6.14 series. How noticeable, and how much does it affect fork()? My app does many forks per operation. > 4. Patch the host with skas3 - as nice as skas0 is, it isn't as > fast as skas3. That's what I was running. > 5. sysemu too - patch that into the host, or use current -linus or > -mm, which has it already. Again, how much difference will that make to fork() ? -Robin -- http://www.digitalkingdom.org/~rlpowell/ *** http://www.lojban.org/ Reason #237 To Learn Lojban: "Homonyms: Their Grate!" Proud Supporter of the Singularity Institute - http://singinst.org/ |
From: Jeff D. <jd...@ad...> - 2005-10-03 13:17:19
|
On Mon, Oct 03, 2005 at 09:28:04AM +0100, Chris Lightfoot wrote: > At the cost that lots of programs in the guest simply > won't work (strace, make, java, ime). Or has there been > work fixing this? What are you talking about? sysemu breaks nothing inside the guest. Jeff |
From: Blaisorblade <bla...@ya...> - 2005-10-03 19:00:12
|
On Monday 03 October 2005 14:39, Jeff Dike wrote: > On Mon, Oct 03, 2005 at 09:28:04AM +0100, Chris Lightfoot wrote: > > At the cost that lots of programs in the guest simply > > won't work (strace, make, java, ime). Or has there been > > work fixing this? > > What are you talking about? sysemu breaks nothing inside the guest. It did once upon a time, it broke strace, around the time of 2.6.9 or such (I remember that distinctly), but IIRC it was fixed later, mainly by Bodo Stroesser. Make/java were never broken - Jeff recently fixed some Java breakage, but that was totally independent from SYSEMU - it had to do with semantics of mmap(PROT_NONE). -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it |
From: Chris L. <ch...@ex...> - 2005-10-04 10:09:22
|
On Mon, Oct 03, 2005 at 08:59:54PM +0200, Blaisorblade wrote: > On Monday 03 October 2005 14:39, Jeff Dike wrote: > > On Mon, Oct 03, 2005 at 09:28:04AM +0100, Chris Lightfoot wrote: > > > At the cost that lots of programs in the guest simply > > > won't work (strace, make, java, ime). Or has there been > > > work fixing this? > > > > What are you talking about? sysemu breaks nothing inside the guest. > It did once upon a time, it broke strace, around the time of 2.6.9 or such (I > remember that distinctly), but IIRC it was fixed later, mainly by Bodo > Stroesser. hmmm. Still broken sfaict (see my earlier email). > Make/java were never broken - Jeff recently fixed some Java breakage, but that > was totally independent from SYSEMU - it had to do with semantics of > mmap(PROT_NONE). Never investigated the java one in detail, but the make one was observed building, http://search-dev.develooper.com/CPAN/authors/id/M/MI/MIYAGAWA/PHP-Session-0.22.tar.gz and resulted in make aborting with, make: *** wait: No child processes. Stop. make: *** Waiting for unfinished jobs.... make: *** wait: No child processes. Stop. without having done any work. Unfortunately my notes don't record the kernel which this occurred with (and it may have been a 2.4 series one). I can't reproduce it on 2.6.12.5, so presumably it's either fixed, or is sensitive to timing / machine configuration / .... -- ``Eden may have invaded Egypt, but one can't be too censorious, everybody gets a bit silly when they're stoned.'' (Jeremy Scott, from `Fast and Louche') |
From: Chris L. <ch...@ex...> - 2005-10-04 10:09:25
|
On Mon, Oct 03, 2005 at 08:39:46AM -0400, Jeff Dike wrote: > On Mon, Oct 03, 2005 at 09:28:04AM +0100, Chris Lightfoot wrote: > > At the cost that lots of programs in the guest simply > > won't work (strace, make, java, ime). Or has there been > > work fixing this? > > What are you talking about? sysemu breaks nothing inside the guest. Using 2.6.12.5, on a host running 2.4.27 with the sysemu patch, within the guest we get: root@(none):/# strace /bin/echo execve("/bin/echo", ["/bin/echo"], [/* 5 vars */]) = 0 root@(none):/# -- i.e., misleading/incorrect/incomplete output. Running the kernel with the nosysemu command-line option, we get: root@(none):/# strace /bin/echo execve("/bin/echo", ["/bin/echo"], [/* 5 vars */]) = 0 uname({sys="Linux", node="(none)", ...}) = 0 brk(0) = 0x804d000 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=12362, ...}) = 0 old_mmap(NULL, 12362, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tls/i586/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/i586", 0xbf807d48) = -1 ENOENT (No such file or directory) open("/lib/tls/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls", {st_mode=S_IFDIR, st_size=1024, ...}) = 0 open("/lib/i586/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i586", 0xbf807d48) = -1 ENOENT (No such file or directory) open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360^\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1244688, ...}) = 0 old_mmap(NULL, 1254852, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001c000 old_mmap(0x40144000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x127000) = 0x40144000 old_mmap(0x4014c000, 9668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4014c000 close(3) = 0 munmap(0x40018000, 12362) = 0 brk(0) = 0x804d000 brk(0x806e000) = 0x806e000 brk(0) = 0x806e000 fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(5, 1), ...}) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40018000 write(1, "\n", 1 ) = 1 munmap(0x40018000, 4096) = 0 exit_group(0) = ? root@(none):/# -- i.e., correct output. I haven't been able to properly characterise the problems with the other programs I name, but since they go away when sysemu support is removed/disabled, I presume that they are related. -- ``Avoid all needle drugs. The only dope worth shooting is Richard Nixon.'' (Abbie Hoffman) |
From: Blaisorblade <bla...@ya...> - 2005-10-06 19:07:57
|
On Monday 03 October 2005 15:46, Chris Lightfoot wrote: > On Mon, Oct 03, 2005 at 08:39:46AM -0400, Jeff Dike wrote: > > On Mon, Oct 03, 2005 at 09:28:04AM +0100, Chris Lightfoot wrote: > > > At the cost that lots of programs in the guest simply > > > won't work (strace, make, java, ime). Or has there been > > > work fixing this? > > What are you talking about? sysemu breaks nothing inside the guest. > Using 2.6.12.5, on a host running 2.4.27 with the sysemu > patch, within the guest we get: > root@(none):/# strace /bin/echo > execve("/bin/echo", ["/bin/echo"], [/* 5 vars */]) = 0 > > root@(none):/# > -- i.e., misleading/incorrect/incomplete output. Ok, this is exactly what I saw time ago. I tested it now (it was fixed and broke again once) but it works... the biggest difference is that you're using a 2.4 host, while here I'm under a 2.6 one. It probably means the problem is the 2.4 patch, which is perfectly reasonable. I can't recommend against 2.4 host (there are reasonable reasons against 2.6), but given that sysemu can be disabled, I don't think I'll have the time to fix this. (Note: 2.4.27 has probably some security bugs - upgrading to 2.4.31, or to the latest -hf (hotfixes) tree, is recommended). > I haven't been able to properly characterise the problems > with the other programs I name, but since they go away > when sysemu support is removed/disabled, I presume that > they are related. Hmm, that's strange, but still may be possible. However, in your other mail you say you either can't characterize them, or that some of those errors could have been with 2.4 guests. Finally, I also recall (don't know from where) there may be problems with Perl and timing tests - nanosleep() on UML isn't sufficiently precise, and doesn't pass testing with LinuxTestProject. -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it |
From: Blaisorblade <bla...@ya...> - 2005-10-03 19:07:11
|
On Saturday 01 October 2005 07:47, Robin Lee Powell wrote: > Looked at the mailing list, found the following tips: > 2. Don't use synchronous UBD on anything older than 2.6.9 > > 2.6.13.2 > > > That's all I can remember. Are there others? > > Still a fair bit slower than I'd like. > > Unfortunately, my primary use (mooix) involves a lot of process > creation. I gather that's expensive in UML. Yes, unfortunately it is, currently. Especially exec(), to my knowledge. The 2.6.14 improvements about fork() is for big shared memory segments (if that's what I know about). > -Robin -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade ___________________________________ Yahoo! Messenger: chiamate gratuite in tutto il mondo http://it.messenger.yahoo.com |
From: Chris L. <ch...@ex...> - 2005-10-04 10:09:22
|
On Sun, Oct 02, 2005 at 09:11:18PM -0400, Jeff Dike wrote: [...] > 5. sysemu too - patch that into the host, or use current -linus or -mm, which > has it already. At the cost that lots of programs in the guest simply won't work (strace, make, java, ime). Or has there been work fixing this? -- ``Every revolution evaporates and leaves behind only the slime of a new bureaucracy.'' (Kafka) |