[PATCH] pipe2 for Linuxulator
Alexander Best
arundel at freebsd.org
Sun Apr 15 13:03:06 UTC 2012
On Sun Apr 15 12, Alexander Leidinger wrote:
> On Sun, 15 Apr 2012 11:51:12 +0000 Alexander Best <arundel at freebsd.org>
> wrote:
>
> > 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.
>
> What about the trace_futexes script and the two check_* scripts? The
> stats show that there is a lot of work spend in the futexes.
i'm having problems with those scripts. they have a negative impact on the
linux processes. when i have the player at www.mixcloud.com running and run
those scripts the music stops and the flash graphics get all distorted. here's
some output from the trace_futexes.d script:
otaku% sudo ./trace_futexes.d
dtrace: 808 dynamic variable drops with non-empty dirty list
dtrace: 833 failed speculations (available buffer(s) still busy)
Stacktrace of last lock operation of the futex_mtx:
kernel`linux_sys_futex+0xd34
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
Stacktrace of last lock operation of the futex_mtx:
kernel`linux_sys_futex+0xd57
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
Stacktrace of last lock operation of the futex_mtx:
kernel`linux_sys_futex+0xd57
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
ERROR: missing_access_check in linuxulator32:futex:futex_atomic_op
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
dtrace: ERROR: open failed: No such file or directory
`0x287b6533
Fatal error 'mutex is on list' at line 424 in file /usr/github-freebsd-head/lib/libthr/thread/thr_mutex.c (errno = 0)
this is from the check_error.d script:
otaku% sudo ./check_error.d
ERROR: sleep_error in linuxulator32:futex:futex_sleep
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x2a12800029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_wait
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x2a12800029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_sleep
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x2e94900029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_wait
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x2e94900029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_sleep
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x30c4f00029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_wait
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x30c4f00029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_sleep
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x2e94900029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_wait
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x2e94900029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_sleep
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x2a12800029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_wait
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x2a12800029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_sleep
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x30c4f00029d5fa5c
ERROR: sleep_error in linuxulator32:futex:futex_wait
kernel`ia32_syscall+0x299
kernel`0xffffffff805b05e5
0x287b6278
0x30c4f00029d5fa5c
the check_internal_locks.d scripts seems to work fine. i think we talked about
the failed-speculation-warnings beforehand and that they aren't critical:
otaku% sudo ./check_internal_locks.d
^C
Number of locks per type:
otaku% sudo ./check_internal_locks.d
dtrace: 42 failed speculations (available buffer(s) still busy)
dtrace: 61 failed speculations (available buffer(s) still busy)
dtrace: 183 failed speculations (available buffer(s) still busy)
dtrace: 830 failed speculations (available buffer(s) still busy)
dtrace: 893 failed speculations (available buffer(s) still busy)
dtrace: 1489 failed speculations (available buffer(s) still busy)
dtrace: 1546 failed speculations (available buffer(s) still busy)
dtrace: 1208 failed speculations (available buffer(s) still busy)
dtrace: 1418 failed speculations (available buffer(s) still busy)
dtrace: 1219 failed speculations (available buffer(s) still busy)
dtrace: 249 failed speculations (available buffer(s) still busy)
dtrace: 248 failed speculations (available buffer(s) still busy)
dtrace: 1487 failed speculations (available buffer(s) still busy)
dtrace: 443 failed speculations (available buffer(s) still busy)
dtrace: 684 failed speculations (available buffer(s) still busy)
dtrace: 726 failed speculations (available buffer(s) still busy)
dtrace: 745 failed speculations (available buffer(s) still busy)
dtrace: 800 failed speculations (available buffer(s) still busy)
dtrace: 1033 failed speculations (available buffer(s) still busy)
dtrace: 1693 failed speculations (available buffer(s) still busy)
dtrace: 3461 failed speculations (available buffer(s) still busy)
dtrace: 4746 failed speculations (available buffer(s) still busy)
dtrace: 2645 failed speculations (available buffer(s) still busy)
dtrace: 965 failed speculations (available buffer(s) still busy)
^C
dtrace: 1394 failed speculations (available buffer(s) still busy)
Number of locks per type:
emul_shared_rlock 3
emul_shared_wlock 37
emul_lock 55
futex_mtx 31179
cheers.
alex
ps: i added freebsd-emulation@ back to the CC list.
>
> We don't have emulation@ in CC anymore, but I think the output of the
> stats and the output of the other scripts could be interesting for
> people on emulation at .
>
> Bye,
> Alexander.
>
> --
> http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
> http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
More information about the freebsd-emulation
mailing list