Descriptionbase: Allow renderer thread priorities to be changed.
This provides a mechanism for a renderer to change the priority of
its threads and as a result also the cpuset they are assigned to.
A ChildProcessHost IPC message from the renderer is used to request
a thread priority change and have the browser process identify the
renderer thread that is requesting a priority change by checking all
its threads to find a thread with NSpid field in
/proc/[pid]/task/[thread_id]/status that matches the namespace tid
from the renderer.
This is currently limited to Linux and ChromeOS but follow up work
will investigate the possibility and benefits of doing the same on
other platforms.
Note: Thread priorities in the renderer are already adjusted in a
similar way on Android as the sandbox is not strict enough to
prevent this on Android today.
BUG=chrome-os-partner:56550
TEST=
Committed: https://crrev.com/7b97c3240fb3da0826f244f9b592fc1761fb6554
Cr-Commit-Position: refs/heads/master@{#419649}
Patch Set 1 #
Total comments: 2
Patch Set 2 : rebase #Patch Set 3 : base: Set priority of renderer threads. #Patch Set 4 : fix io thread issue #Patch Set 5 : v3 #
Total comments: 8
Patch Set 6 : loops #Patch Set 7 : more ifdefs #Patch Set 8 : allow io #Patch Set 9 : use file thread #
Total comments: 8
Patch Set 10 : rebase and address feedback #
Total comments: 5
Patch Set 11 : address feedback #Patch Set 12 : revert to CHECK_NE #
Messages
Total messages: 40 (22 generated)
|