DescriptionMac: Other approach for IPCing child task_ts.
Also move mach_ipc_mac to base, where it's now used.
Based on http://www.foldr.org/~michaelw/log/2009/03/13/ , but uses a named connection instead. Do the IPC right after fork-time, so that the sandbox is not yet in effect.
See the codereview comments for a benchmark that proves that this shouldn't be expensive, and for pros and cons for using a named connection vs temporarily switching out the bootstrap port.
Works for worker processes too and seems more reliable in general.
Measured perf impact in http://src.chromium.org/viewvc/chrome?view=rev&revision=35888 , it's negligible.
BUG=13156
TEST=(requires that one enables the task manager in browser.cc)
1.) Open one tab that plays a youtube video
2.) Open a second and visit http://www.whatwg.org/demos/workers/primes/page.html
3.) Install e.g. the gmail checker extension
4.) Open the task manager
It should report metrics for
* one browser process
* two renderer processes
* one plugin process
* one worker process
* one extension process
Check that %cpu etc more or less match what Activity Monitor displays if you filter for "Chromium".
Also choose "Open all bookmarks" on the bookmarks bar with the task manager open and check that metrics for all tabs appear immediately.
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=35977
Patch Set 1 #Patch Set 2 : rebase #Patch Set 3 : compile #Patch Set 4 : why must everything always suck so much #Patch Set 5 : '' #Patch Set 6 : '' #Patch Set 7 : FFFFFFFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUUUU #Patch Set 8 : '' #Patch Set 9 : minor cleanup 1 #Patch Set 10 : mutex #Patch Set 11 : ready for review #Patch Set 12 : deallocate ports #Patch Set 13 : '' #Patch Set 14 : rebase #Patch Set 15 : compile linux #Patch Set 16 : better error logging #Patch Set 17 : '' #Patch Set 18 : '' #
Total comments: 1
Patch Set 19 : name-based #Patch Set 20 : playing with it #
Total comments: 38
Patch Set 21 : comments #
Total comments: 4
Patch Set 22 : linux #Patch Set 23 : '' #
Messages
Total messages: 12 (0 generated)
|