Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Apr 2012 13:03:06 +0000
From:      Alexander Best <arundel@freebsd.org>
To:        Alexander Leidinger <Alexander@Leidinger.net>
Cc:        freebsd-emulation@freebsd.org
Subject:   Re: [PATCH] pipe2 for Linuxulator
Message-ID:  <20120415130306.GA95208@freebsd.org>
In-Reply-To: <20120415143441.00000948@unknown>
References:  <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> <20120415115112.GA83717@freebsd.org> <20120415143441.00000948@unknown>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun Apr 15 12, Alexander Leidinger wrote:
> On Sun, 15 Apr 2012 11:51:12 +0000 Alexander Best <arundel@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@.
> 
> Bye,
> Alexander.
> 
> -- 
> http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
> http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120415130306.GA95208>