Closed
Bug 836590
Opened 12 years ago
Closed 7 years ago
Make the profiler (or UI) stop reporting PostTask() as sync main-thread disk IO
Categories
(Core :: Gecko Profiler, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: cjones, Unassigned)
References
Details
The profiler UI has a nice annotation for main-thread disk IO, but it's flagging PostTask() as IO because it write()s to a wake-up pipe to notify the thread the task is being posted to. That's equivalent to a futex() call, which doesn't get flagged as disk IO (correctly).
This is particularly annoying because sending IPC's always requires a PostTask(), and those get flagged as main-thread disk IO. (Although, when I'm tracking down significant IPC's, it becomes a blessing in disguise. But we should do that differently.)
I'm not sure which part of the system determines this. How can we make this stop?
Reporter | ||
Comment 1•12 years ago
|
||
(In reply to Chris Jones [:cjones] [:warhammer] from comment #0)
> That's equivalent to a futex() call
(By which I mean, approximately equivalent in the amount of work done in the kernel.)
Comment 2•12 years ago
|
||
Here's a profile showing this problem:
http://people.mozilla.com/~bgirard/cleopatra/#report=0e6042fb2a6121d84a71796bfe27ec4275c1a9db
Comment 3•12 years ago
|
||
Turns out this a problem if we're not unwinding because we don't see the PostTask. We have a few options:
1) Add a sample_label to PostTask().
2) Only remove the annotation if PostTask shows up (stackwalk).
3) Ignore 1 sample long IO calls. This option is not great because it hides other fast IO steps.
Comment 4•12 years ago
|
||
Bug 853363 will let the UI get rid of this false positive.
Comment 5•7 years ago
|
||
perf.html doesn't have any stack-based heuristics for detecting main thread IO, so it doesn't have this bug.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•