Date: Sun, 15 Apr 2012 11:51:12 +0000 From: Alexander Best <arundel@freebsd.org> To: Alexander Leidinger <Alexander@Leidinger.net> Cc: freebsd-emulation@FreeBSD.org, Jung-uk Kim <jkim@FreeBSD.org> Subject: Re: [PATCH] pipe2 for Linuxulator Message-ID: <20120415115112.GA83717@freebsd.org> In-Reply-To: <20120415134444.000005cc@unknown> References: <201204102027.42344.jkim@FreeBSD.org> <20120413203222.GA80646@freebsd.org> <20120414155427.000056c1@unknown> <20120414203256.GB19712@freebsd.org> <20120414224746.000005fb@unknown> <20120415000246.0000736b@unknown> <20120415000216.GA53624@freebsd.org> <20120415101157.GA67049@freebsd.org> <20120415112308.GA77985@freebsd.org> <20120415134444.000005cc@unknown>
next in thread | previous in thread | raw e-mail | index | archive | help
--huq684BweRXVnRxX Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sun Apr 15 12, Alexander Leidinger wrote: > On Sun, 15 Apr 2012 11:23:08 +0000 Alexander Best <arundel@freebsd.org> > wrote: > > > On Sun Apr 15 12, Alexander Best wrote: > > > On Sun Apr 15 12, Alexander Best wrote: > > > > On Sun Apr 15 12, Alexander Leidinger wrote: > > > > > On Sat, 14 Apr 2012 22:47:46 +0200 Alexander Leidinger > > > > > <Alexander@Leidinger.net> wrote: > > > > > > > > > > > On Sat, 14 Apr 2012 20:32:56 +0000 Alexander Best > > > > > > <arundel@freebsd.org> wrote: > > > > > > > > > > > > > On Sat Apr 14 12, Alexander Leidinger wrote: > > > > > > > > On Fri, 13 Apr 2012 20:32:22 +0000 Alexander Best > > > > > > > > <arundel@freebsd.org> wrote: > > > > > > > > > > > > > > > > > i'm having problems with the patch. beforehand, playing > > > > > > > > > music from www.mixcloud.com worked. now the flash based > > > > > > > > > player is initialising forever. > > > > > > > > > > > > > > > > > just drop me a note with exact instructions and i can > > > > > > > > > give you more verbose information or debugging stats. > > > > > > > > > again: this issue might be futex related and not a > > > > > > > > > result of your patch. > > > > > > > > > > > > > > > > Are you running -current? If yes I Looks try to get some > > > > > > > > time to commit the linuxulator-dtrace probes, now that > > > > > > > > SDT probes can be loaded dynamically there is no risk to > > > > > > > > panic the system when the linuxulator is loaded after > > > > > > > > boot and dtrace is used. This could help looking at > > > > > > > > problems with locks. > > > > > > > > > > > > > > yes i'm running a very recent HEAD on amd64. > > > > > > > > > > > > I'm in the process of merging all the new stuff from HEAD > > > > > > into my SVN branch. With a slow system and a slow line this > > > > > > may take a while. I hope to at least update my branch in SVN > > > > > > (users/netchild/linuxulator-dtrace) today. I don't know if I > > > > > > get the time to merge it to HEAD today. > > > > > > > > > > Hmmm... do I remember correctly that I already gave a dtrace > > > > > patch to you to check for futex problems? I think I changed the > > > > > locking-probes since I gave the patch to you, but I'm not sure. > > > > > Anyway, the patch against a recent -current is available from > > > > > http://www.leidinger.net/FreeBSD/current-patches now. > > > > > > > > yeah you're right. i've applied the patch and compiled and > > > > installed the kernel. i'm not very experienced with dtrace, so > > > > i'll need some instructions on how to proceed. > > > > > > buildkernel suceeded, but i got this error during buildworld: > > > > it seems your patch breaks building world with MODULES_WITH_WORLD > > defined. when modules get buildduring buildkernel, i don't see that > > error. > > opt_kdtrace.h is generated by config. I've never used > MODULES_WITH_WORLD, so I have no idea how this case is handled. ahh ok. i've managed to get some stats via stats_timing.d. this is a snapshot during which a newly loaded tab in chromium was unresponsive for about 5 seconds. without the linux flash plugin running i never experienced such lock ups. i've attached the d-script stats. cheers. alex > > Bye, > Alexander. > > -- > http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 > http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 --huq684BweRXVnRxX Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=lock_up otaku% sudo ./stats_timing.d ^C Number of calls per provider/application/kernel function: linuxulator32 npviewer.bin linux_schedtail 1 linuxulator32 npviewer.bin linux_set_robust_list 1 linuxulator32 npviewer.bin proc_init 1 linuxulator32 npviewer.bin linux_kernver 3 linuxulator32 npviewer.bin linux_get_osname 4 linuxulator32 npviewer.bin linux_get_osrelease 4 linuxulator32 npviewer.bin em_find 7 linuxulator32 npviewer.bin linux_get_prison 11 linuxulator32 npviewer.bin futex_atomic_op 335 linuxulator32 npviewer.bin linux_emul_convpath 372 linuxulator32 npviewer.bin futex_sleep 411 linuxulator32 npviewer.bin futex_wait 411 linuxulator32 npviewer.bin futex_wake 492 linuxulator32 npviewer.bin futex_put 1289 linuxulator32 npviewer.bin linux_sys_futex 1372 linuxulator32 npviewer.bin futex_get 1707 linuxulator32 npviewer.bin futex_get0 1707 linuxulator32 npviewer.bin linux_clock_gettime 10694 linuxulator32 npviewer.bin linux_to_native_clockid 10694 linuxulator32 npviewer.bin native_to_linux_timespec 10694 CPU-timing statistics per provider/application/kernel function (in ns): linuxulator32 npviewer.bin linux_sys_futex value ------------- Distribution ------------- count -131072 | 0 -65536 |@ 21 -32768 |@@@@@ 172 -16384 |@@@@@@ 199 -8192 |@@@@@@@@@@@ 392 -4096 |@@@@ 136 -2048 |@@@@@ 156 -1024 |@@@@@@@@ 289 -512 | 0 linuxulator32 npviewer.bin linux_clock_gettime value ------------- Distribution ------------- count -65536 | 0 -32768 | 1 -16384 | 5 -8192 | 66 -4096 |@ 164 -2048 |@ 315 -1024 |@@ 479 -512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9664 -256 | 0 linuxulator32 npviewer.bin futex_get value ------------- Distribution ------------- count -131072 | 0 -65536 | 5 -32768 |@ 37 -16384 | 14 -8192 |@ 34 -4096 |@@@@ 164 -2048 |@@@@@@@@@@@@@@@@@@@ 822 -1024 |@@@@@@@@@@@ 449 -512 |@@@@ 182 -256 | 0 linuxulator32 npviewer.bin futex_wait value ------------- Distribution ------------- count -65536 | 0 -32768 |@@ 17 -16384 |@@@@@@@@@@@@@@@@@@@@ 201 -8192 |@@@@@@@@ 82 -4096 |@@@@@@@@@@ 104 -2048 | 0 linuxulator32 npviewer.bin futex_sleep value ------------- Distribution ------------- count -65536 | 0 -32768 |@ 13 -16384 |@@@@@@@@@@@@@@@@@@@@ 202 -8192 |@@@@@@@ 72 -4096 |@@@@@@@@@@@ 112 -2048 | 5 -1024 | 0 linuxulator32 npviewer.bin futex_get0 value ------------- Distribution ------------- count -131072 | 0 -65536 | 4 -32768 |@ 38 -16384 | 12 -8192 |@ 24 -4096 |@@@ 119 -2048 |@@@@@@@@@@@ 489 -1024 |@@@@@@@@@@@@@@@@ 691 -512 |@@@@@@@@ 330 -256 | 0 linuxulator32 npviewer.bin linux_emul_convpath value ------------- Distribution ------------- count -131072 | 0 -65536 | 2 -32768 |@@ 14 -16384 |@@@@@ 42 -8192 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 314 -4096 | 0 linuxulator32 npviewer.bin futex_put value ------------- Distribution ------------- count -16384 | 0 -8192 | 8 -4096 |@@ 58 -2048 |@@@@@@@ 222 -1024 |@@@@@@@@@@@@@@@@@ 535 -512 |@@@@@@@@@@@@@@ 466 -256 | 0 linuxulator32 npviewer.bin native_to_linux_timespec value ------------- Distribution ------------- count -65536 | 0 -32768 | 1 -16384 | 0 -8192 | 9 -4096 | 26 -2048 | 9 -1024 | 3 -512 | 13 -256 |@ 213 -128 |@@ 498 -64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9922 -32 | 0 linuxulator32 npviewer.bin linux_to_native_clockid value ------------- Distribution ------------- count -16384 | 0 -8192 | 5 -4096 | 15 -2048 | 6 -1024 | 4 -512 | 20 -256 |@ 309 -128 |@@@@ 1072 -64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 9263 -32 | 0 linuxulator32 npviewer.bin futex_wake value ------------- Distribution ------------- count -16384 | 0 -8192 | 2 -4096 |@ 12 -2048 |@@@@@@@@@@@@@@@@@@@@ 252 -1024 |@@@@@@@@@ 105 -512 | 5 -256 | 1 -128 |@@@@@ 65 -64 |@@@@ 50 -32 | 0 linuxulator32 npviewer.bin futex_atomic_op value ------------- Distribution ------------- count -8192 | 0 -4096 | 2 -2048 | 0 -1024 | 4 -512 |@@@@@@@@@@@@@@@@@@@@@@@@@@ 221 -256 |@@@@@@@@ 63 -128 |@@@@@ 45 -64 | 0 linuxulator32 npviewer.bin linux_get_osname value ------------- Distribution ------------- count -2048 | 0 -1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 3 -512 |@@@@@@@@@@ 1 -256 | 0 linuxulator32 npviewer.bin em_find value ------------- Distribution ------------- count -2048 | 0 -1024 |@@@@@@ 1 -512 |@@@@@@@@@@@ 2 -256 |@@@@@@@@@@@@@@@@@ 3 -128 | 0 -64 |@@@@@@ 1 -32 | 0 linuxulator32 npviewer.bin linux_kernver value ------------- Distribution ------------- count -2048 | 0 -1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2 -512 |@@@@@@@@@@@@@ 1 -256 | 0 linuxulator32 npviewer.bin linux_get_prison value ------------- Distribution ------------- count -1024 | 0 -512 |@@@@ 1 -256 |@@@@@@@@@@@@@@@@@@ 5 -128 |@@@@@@@@@@@@@@@@@@ 5 -64 | 0 linuxulator32 npviewer.bin linux_get_osrelease value ------------- Distribution ------------- count -1024 | 0 -512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 4 -256 | 0 linuxulator32 npviewer.bin linux_schedtail value ------------- Distribution ------------- count -4096 | 0 -2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 -1024 | 0 linuxulator32 npviewer.bin proc_init value ------------- Distribution ------------- count -4096 | 0 -2048 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 -1024 | 0 linuxulator32 npviewer.bin linux_set_robust_list value ------------- Distribution ------------- count -2048 | 0 -1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 1 -512 | 0 Longest running (CPU-time!) functions per provider (in ns): linuxulator32 linux_emul_convpath -11315 linuxulator32 futex_wait -4120 linuxulator32 futex_sleep -3655 linuxulator32 proc_init -3015 linuxulator32 linux_schedtail -2705 linuxulator32 linux_set_robust_list -1550 linuxulator32 linux_sys_futex -1030 linuxulator32 linux_get_osname -1015 linuxulator32 linux_get_osrelease -855 linuxulator32 futex_get -740 linuxulator32 linux_clock_gettime -615 linuxulator32 futex_put -575 linuxulator32 linux_kernver -530 linuxulator32 futex_get0 -520 linuxulator32 linux_get_prison -180 linuxulator32 futex_atomic_op -150 linuxulator32 em_find -125 linuxulator32 futex_wake -100 linuxulator32 linux_to_native_clockid -95 linuxulator32 native_to_linux_timespec -95 Lock CPU-timing statistics: futex_mtx value ------------- Distribution ------------- count -16384 | 0 -8192 | 1 -4096 | 3 -2048 | 5 -1024 |@ 78 -512 |@@@@@ 444 -256 |@@@@@@@@@@@ 1037 -128 |@@@@@@@@@@@@@@@@@@ 1771 -64 |@@@@@ 501 -32 | 0 emul_lock value ------------- Distribution ------------- count -1024 | 0 -512 |@@@@@@@@@@@@@ 1 -256 |@@@@@@@@@@@@@ 1 -128 |@@@@@@@@@@@@@ 1 -64 | 0 emul_shared_wlock value ------------- Distribution ------------- count -256 | 0 -128 |@@@@@@@@@@@@@@@@@@@@ 1 -64 |@@@@@@@@@@@@@@@@@@@@ 1 -32 | 0 Longest running (CPU-time!) locks: emul_lock -250 emul_shared_wlock -120 futex_mtx -95 --huq684BweRXVnRxX--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120415115112.GA83717>