Date: Fri, 3 Jan 2014 20:22:39 -0800 From: Adrian Chadd <adrian@freebsd.org> To: "freebsd-arch@freebsd.org" <freebsd-arch@freebsd.org> Subject: profiling hangs - quiesce_cpus() Message-ID: <CAJ-Vmokkr5aPa_8p1UjwHNRfx87RvBJVDjm4RQV1_XdjJ0iqOg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Here's another fun one. If the idle thread on a CPU doesn't run, then quiesce_cpus() (and thus quiesce_all_cpus()) doesn't finish. The td_generation on the idlethread doesn't get bumped as the idlethread doesn't get run. Because of this, things like lock profiling just hangs when trying to get stats or enable it as it does a CPU synchronisation by the above function calls and they don't ever return. Any ideas? It makes it a bit annoying to do fine grained lock contention profiling when I'm doing this. :-) Thanks! -a
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmokkr5aPa_8p1UjwHNRfx87RvBJVDjm4RQV1_XdjJ0iqOg>