зеркало из https://github.com/mozilla/gecko-dev.git
Merge b2g-inbound to m-c. a=merge
This commit is contained in:
Коммит
8e13c8d761
|
@ -728,22 +728,30 @@ pref("hal.processPriorityManager.gonk.BACKGROUND.KillUnderKB", 20480);
|
|||
pref("hal.processPriorityManager.gonk.BACKGROUND.cgroup", "apps/bg_non_interactive");
|
||||
|
||||
// Control group definitions (i.e., CPU priority groups) for B2G processes.
|
||||
//
|
||||
// memory_swappiness - 0 - The kernel will swap only to avoid an out of memory condition
|
||||
// memory_swappiness - 60 - The default value.
|
||||
// memory_swappiness - 100 - The kernel will swap aggressively.
|
||||
|
||||
// Foreground apps
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps.cpu_shares", 1024);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps.cpu_notify_on_migrate", 0);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps.memory_swappiness", 10);
|
||||
|
||||
// Foreground apps with high priority, 16x more CPU than foreground ones
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/critical.cpu_shares", 16384);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/critical.cpu_notify_on_migrate", 0);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/critical.memory_swappiness", 0);
|
||||
|
||||
// Background perceivable apps, ~10x less CPU than foreground ones
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_perceivable.cpu_shares", 103);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_perceivable.cpu_notify_on_migrate", 0);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_perceivable.memory_swappiness", 60);
|
||||
|
||||
// Background apps, ~20x less CPU than foreground ones and ~2x less than perceivable ones
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_non_interactive.cpu_shares", 52);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_non_interactive.cpu_notify_on_migrate", 0);
|
||||
pref("hal.processPriorityManager.gonk.cgroups.apps/bg_non_interactive.memory_swappiness", 100);
|
||||
|
||||
// By default the compositor thread on gonk runs without real-time priority. RT
|
||||
// priority can be enabled by setting this pref to a value between 1 and 99.
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<project name="platform_build" path="build" remote="b2g" revision="e06971db7acf7a35c32eb74d675a4e12e288e6be">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="6afe4606da768aed62d8a200fd24e6a7fa52dc4b"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="94af4b42d2ace6c9f38f31de77240604fac68af1"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9614a9d92d7a2b216500b4dcc38294ba5ee5884b"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="fe5ef8bd2eaf5179d0da29cf8904157575d03d3e"/>
|
||||
<!-- Stock Android things -->
|
||||
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/>
|
||||
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/>
|
||||
|
@ -115,7 +115,7 @@
|
|||
<project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="f7d9bf71cf6693474f3f2a81a4ba62c0fc5646aa"/>
|
||||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="cfcef469537869947abb9aa1d656774cc2678d4c"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5a48c04c4bb5f079bc757e29864a42427378e051"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="23d746289c21673448b00a31dd469cbf0b23b26e"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="798a1844533b05b652674e738a00304dfe786603"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="10e78a05252b3de785f88c2d0b9ea8a428009c50"/>
|
||||
<project name="platform/system/media" path="system/media" revision="7ff72c2ea2496fa50b5e8a915e56e901c3ccd240"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="8fcd25d64f0f67d1a6f7037a4c83ce6d95466770"/>
|
||||
|
@ -128,7 +128,7 @@
|
|||
<!-- Stock Android things -->
|
||||
<project name="platform/external/icu4c" path="external/icu4c" revision="2bb01561780583cc37bc667f0ea79f48a122d8a2"/>
|
||||
<!-- dolphin specific things -->
|
||||
<project name="device/sprd" path="device/sprd" revision="a9120ee7b4e90198d766d922e50f1ec06baf27fe"/>
|
||||
<project name="device/sprd" path="device/sprd" revision="948a43167c0fd046f8720a8ddfd49d88249f5003"/>
|
||||
<project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="4e58336019b5cbcfd134caf55b142236cf986618"/>
|
||||
<project name="platform/frameworks/av" path="frameworks/av" revision="4387fe988e5a1001f29ce05fcfda03ed2d32137b"/>
|
||||
<project name="platform/hardware/akm" path="hardware/akm" revision="6d3be412647b0eab0adff8a2768736cf4eb68039"/>
|
||||
|
|
|
@ -19,13 +19,13 @@
|
|||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="6afe4606da768aed62d8a200fd24e6a7fa52dc4b"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="94af4b42d2ace6c9f38f31de77240604fac68af1"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="eb1795a9002eb142ac58c8d68f8f4ba094af07ca"/>
|
||||
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="2c31ac3a31a340b40ecd9c291df9b9613d3afa72"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9614a9d92d7a2b216500b4dcc38294ba5ee5884b"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="fe5ef8bd2eaf5179d0da29cf8904157575d03d3e"/>
|
||||
<!-- Stock Android things -->
|
||||
<project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
|
||||
<project name="platform_bionic" path="bionic" remote="b2g" revision="e2b3733ba3fa5e3f404e983d2e4142b1f6b1b846"/>
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="6afe4606da768aed62d8a200fd24e6a7fa52dc4b"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="94af4b42d2ace6c9f38f31de77240604fac68af1"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9614a9d92d7a2b216500b4dcc38294ba5ee5884b"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="fe5ef8bd2eaf5179d0da29cf8904157575d03d3e"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<!-- Stock Android things -->
|
||||
|
@ -117,7 +117,7 @@
|
|||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="842e33e43a55ea44833b9e23e4d180fa17c843af"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5db24726f0f42124304195a6bdea129039eeeaeb"/>
|
||||
<project name="platform/system/bluetooth" path="system/bluetooth" revision="930ae098543881f47eac054677726ee4b998b2f8"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="23d746289c21673448b00a31dd469cbf0b23b26e"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="798a1844533b05b652674e738a00304dfe786603"/>
|
||||
<project name="platform_system_core" path="system/core" remote="b2g" revision="542d1f59dc331b472307e5bd043101d14d5a3a3e"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="18c1180e848e7ab8691940481f5c1c8d22c37b3e"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="8fcd25d64f0f67d1a6f7037a4c83ce6d95466770"/>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<project name="platform_build" path="build" remote="b2g" revision="e06971db7acf7a35c32eb74d675a4e12e288e6be">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="6afe4606da768aed62d8a200fd24e6a7fa52dc4b"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="94af4b42d2ace6c9f38f31de77240604fac68af1"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9614a9d92d7a2b216500b4dcc38294ba5ee5884b"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="fe5ef8bd2eaf5179d0da29cf8904157575d03d3e"/>
|
||||
<!-- Stock Android things -->
|
||||
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="f92a936f2aa97526d4593386754bdbf02db07a12"/>
|
||||
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="6e47ff2790f5656b5b074407829ceecf3e6188c4"/>
|
||||
|
@ -115,7 +115,7 @@
|
|||
<project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="f7d9bf71cf6693474f3f2a81a4ba62c0fc5646aa"/>
|
||||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="b562b01c93de9578d5db537b6a602a38e1aaa0ce"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="387f03e815f57d536dd922706db1622bddba8d81"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="23d746289c21673448b00a31dd469cbf0b23b26e"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="798a1844533b05b652674e738a00304dfe786603"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="5356165f67f4a81c2ef28671c13697f1657590df"/>
|
||||
<project name="platform/system/media" path="system/media" revision="be0e2fe59a8043fa5200f75697df9220a99abe9d"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="8fcd25d64f0f67d1a6f7037a4c83ce6d95466770"/>
|
||||
|
|
|
@ -19,13 +19,13 @@
|
|||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="6afe4606da768aed62d8a200fd24e6a7fa52dc4b"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="94af4b42d2ace6c9f38f31de77240604fac68af1"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="eb1795a9002eb142ac58c8d68f8f4ba094af07ca"/>
|
||||
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="2c31ac3a31a340b40ecd9c291df9b9613d3afa72"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9614a9d92d7a2b216500b4dcc38294ba5ee5884b"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="fe5ef8bd2eaf5179d0da29cf8904157575d03d3e"/>
|
||||
<!-- Stock Android things -->
|
||||
<project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
|
||||
<project name="platform_bionic" path="bionic" remote="b2g" revision="e2b3733ba3fa5e3f404e983d2e4142b1f6b1b846"/>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<project name="platform_build" path="build" remote="b2g" revision="e06971db7acf7a35c32eb74d675a4e12e288e6be">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="6afe4606da768aed62d8a200fd24e6a7fa52dc4b"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="94af4b42d2ace6c9f38f31de77240604fac68af1"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9614a9d92d7a2b216500b4dcc38294ba5ee5884b"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="fe5ef8bd2eaf5179d0da29cf8904157575d03d3e"/>
|
||||
<!-- Stock Android things -->
|
||||
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/>
|
||||
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/>
|
||||
|
@ -110,7 +110,7 @@
|
|||
<project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="f7d9bf71cf6693474f3f2a81a4ba62c0fc5646aa"/>
|
||||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="69d524e80cdf3981006627c65ac85f3a871238a3"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5a48c04c4bb5f079bc757e29864a42427378e051"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="23d746289c21673448b00a31dd469cbf0b23b26e"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="798a1844533b05b652674e738a00304dfe786603"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="576f57b6510de59c08568b53c0fb60588be8689e"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="8fcd25d64f0f67d1a6f7037a4c83ce6d95466770"/>
|
||||
<project name="platform/system/netd" path="system/netd" revision="a6531f7befb49b1c81bc0de7e51c5482b308e1c5"/>
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
</project>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="6afe4606da768aed62d8a200fd24e6a7fa52dc4b"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="94af4b42d2ace6c9f38f31de77240604fac68af1"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9614a9d92d7a2b216500b4dcc38294ba5ee5884b"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="fe5ef8bd2eaf5179d0da29cf8904157575d03d3e"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<!-- Stock Android things -->
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"git": {
|
||||
"git_revision": "6afe4606da768aed62d8a200fd24e6a7fa52dc4b",
|
||||
"git_revision": "94af4b42d2ace6c9f38f31de77240604fac68af1",
|
||||
"remote": "https://git.mozilla.org/releases/gaia.git",
|
||||
"branch": ""
|
||||
},
|
||||
"revision": "f2adcd661905e0f45866472840a0bba016cd1b58",
|
||||
"revision": "75ad0f9d0fd8fa16129eb2c5330f330ca0d9ee08",
|
||||
"repo_path": "integration/gaia-central"
|
||||
}
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="6afe4606da768aed62d8a200fd24e6a7fa52dc4b"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="94af4b42d2ace6c9f38f31de77240604fac68af1"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9614a9d92d7a2b216500b4dcc38294ba5ee5884b"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="fe5ef8bd2eaf5179d0da29cf8904157575d03d3e"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<!-- Stock Android things -->
|
||||
|
@ -117,7 +117,7 @@
|
|||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="842e33e43a55ea44833b9e23e4d180fa17c843af"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5db24726f0f42124304195a6bdea129039eeeaeb"/>
|
||||
<project name="platform/system/bluetooth" path="system/bluetooth" revision="930ae098543881f47eac054677726ee4b998b2f8"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="23d746289c21673448b00a31dd469cbf0b23b26e"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="798a1844533b05b652674e738a00304dfe786603"/>
|
||||
<project name="platform_system_core" path="system/core" remote="b2g" revision="542d1f59dc331b472307e5bd043101d14d5a3a3e"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="18c1180e848e7ab8691940481f5c1c8d22c37b3e"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="8fcd25d64f0f67d1a6f7037a4c83ce6d95466770"/>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<project name="platform_build" path="build" remote="b2g" revision="7f2ee9f4cb926684883fc2a2e407045fd9db2199">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="6afe4606da768aed62d8a200fd24e6a7fa52dc4b"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="94af4b42d2ace6c9f38f31de77240604fac68af1"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="9614a9d92d7a2b216500b4dcc38294ba5ee5884b"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="fe5ef8bd2eaf5179d0da29cf8904157575d03d3e"/>
|
||||
<!-- Stock Android things -->
|
||||
<project groups="pdk,linux" name="platform/prebuilts/clang/linux-x86/host/3.5" path="prebuilts/clang/linux-x86/host/3.5" revision="50d1ca4ab8add54523b7bc692860d57e8ee4c0d1"/>
|
||||
<project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" path="prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" revision="fb3845864573857677f9b500040a8f011eaf5078"/>
|
||||
|
@ -126,7 +126,7 @@
|
|||
<project name="platform/prebuilts/qemu-kernel" path="prebuilts/qemu-kernel" revision="530cad9b205442d2db29361e796299dc323ef9ce"/>
|
||||
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="a982f43b7f2d5916dc3a859667a8ba78e50b6202"/>
|
||||
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="6e18b61ee446bdd9880c07ae84197a087490c2e5"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="23d746289c21673448b00a31dd469cbf0b23b26e"/>
|
||||
<project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="798a1844533b05b652674e738a00304dfe786603"/>
|
||||
<project name="platform/system/extras" path="system/extras" revision="18f7c51415917eb0e21b30f220db7bd0be4130a7"/>
|
||||
<project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="8fcd25d64f0f67d1a6f7037a4c83ce6d95466770"/>
|
||||
<project name="platform/system/media" path="system/media" revision="adf8fbacf7395858884690df5e3ce46bc75fa683"/>
|
||||
|
@ -136,7 +136,7 @@
|
|||
<project name="platform_frameworks_av" path="frameworks/av" remote="b2g" revision="ea531874885eed7f68802048218ed86dde927f58"/>
|
||||
<project name="platform_frameworks_base" path="frameworks/base" remote="b2g" revision="df7e0cfbbc7e954ed26c73ac17832a5ff035f046"/>
|
||||
<project name="platform_frameworks_wilhelm" path="frameworks/wilhelm" remote="b2g" revision="73f7e7f12c8c5459f7a39e2fa343f083c942864d"/>
|
||||
<project name="platform_system_core" path="system/core" remote="b2g" revision="016398870d88db771bf64b8fb3167878665fc1de"/>
|
||||
<project name="platform_system_core" path="system/core" remote="b2g" revision="4df51d9abf6cc9a6ec49b965e621699e0e6dc4fb"/>
|
||||
<default remote="caf" revision="refs/tags/android-5.0.0_r6" sync-j="4"/>
|
||||
<!-- Nexus 5 specific things -->
|
||||
<project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="ba62cc8b78c30d36181b8060a2016cc8da166236"/>
|
||||
|
|
|
@ -69,6 +69,18 @@ Convert(int aIn, int16_t& aOut)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
Convert(int aIn, int32_t& aOut)
|
||||
{
|
||||
if (NS_WARN_IF(aIn < std::numeric_limits<int32_t>::min()) ||
|
||||
NS_WARN_IF(aIn > std::numeric_limits<int32_t>::max())) {
|
||||
aOut = 0; // silences compiler warning
|
||||
return NS_ERROR_ILLEGAL_VALUE;
|
||||
}
|
||||
aOut = static_cast<int32_t>(aIn);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
Convert(int32_t aIn, BluetoothDeviceType& aOut)
|
||||
{
|
||||
|
|
|
@ -148,6 +148,9 @@ Convert(int aIn, uint8_t& aOut);
|
|||
nsresult
|
||||
Convert(int aIn, int16_t& aOut);
|
||||
|
||||
nsresult
|
||||
Convert(int aIn, int32_t& aOut);
|
||||
|
||||
nsresult
|
||||
Convert(int32_t aIn, BluetoothDeviceType& aOut);
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ BluetoothDaemonSocketModule::ListenCmd(BluetoothSocketType aType,
|
|||
aType,
|
||||
PackConversion<nsAString, BluetoothServiceName>(aServiceName),
|
||||
PackArray<uint8_t>(aServiceUuid, 16),
|
||||
PackConversion<int, uint16_t>(aChannel),
|
||||
PackConversion<int, int32_t>(aChannel),
|
||||
SocketFlags(aEncrypt, aAuth), *pdu);
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
|
@ -65,7 +65,7 @@ BluetoothDaemonSocketModule::ConnectCmd(const nsAString& aBdAddr,
|
|||
PackConversion<nsAString, BluetoothAddress>(aBdAddr),
|
||||
aType,
|
||||
PackArray<uint8_t>(aUuid, 16),
|
||||
PackConversion<int, int16_t>(aChannel),
|
||||
PackConversion<int, int32_t>(aChannel),
|
||||
SocketFlags(aEncrypt, aAuth), *pdu);
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
|
|
|
@ -97,6 +97,7 @@ if CONFIG['MOZ_B2G_RIL']:
|
|||
EXTRA_JS_MODULES += [
|
||||
'ril_consts.js',
|
||||
'ril_worker.js',
|
||||
'ril_worker_buf_object.js',
|
||||
'RILSystemMessenger.jsm',
|
||||
]
|
||||
|
||||
|
|
|
@ -36,10 +36,13 @@
|
|||
* JavaScript, and that's intended.
|
||||
*/
|
||||
|
||||
/* global BufObject */
|
||||
|
||||
"use strict";
|
||||
|
||||
importScripts("ril_consts.js");
|
||||
importScripts("resource://gre/modules/workers/require.js");
|
||||
importScripts("ril_worker_buf_object.js");
|
||||
|
||||
// set to true in ril_consts.js to see debug messages
|
||||
let DEBUG = DEBUG_WORKER;
|
||||
|
@ -16023,8 +16026,6 @@ function Context(aClientId) {
|
|||
this.clientId = aClientId;
|
||||
|
||||
this.Buf = new BufObject(this);
|
||||
this.Buf.init();
|
||||
|
||||
this.RIL = new RilObject(this);
|
||||
this.RIL.initRILState();
|
||||
}
|
||||
|
|
|
@ -0,0 +1,147 @@
|
|||
/* global require */
|
||||
/* global DEBUG, DEBUG_WORKER */
|
||||
/* global RESPONSE_TYPE_SOLICITED */
|
||||
/* global RESPONSE_TYPE_UNSOLICITED */
|
||||
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* This is a specialized worker buffer for the Parcel protocol.
|
||||
*
|
||||
* NOTE: To prevent including/importing twice, this file should be included
|
||||
* in a file which already includes 'ril_consts.js' and 'require.js'.
|
||||
*/
|
||||
(function(exports) {
|
||||
|
||||
// Set to true in ril_consts.js to see debug messages
|
||||
let DEBUG = DEBUG_WORKER;
|
||||
// Need to inherit it.
|
||||
let Buf = require("resource://gre/modules/workers/worker_buf.js").Buf;
|
||||
|
||||
let BufObject = function(aContext) {
|
||||
this.context = aContext;
|
||||
// This gets incremented each time we send out a parcel.
|
||||
this.mToken = 1;
|
||||
// Maps tokens we send out with requests to the request type, so that
|
||||
// when we get a response parcel back, we know what request it was for.
|
||||
this.mTokenRequestMap = new Map();
|
||||
// This is because the underlying 'Buf' is still using the 'init' pattern, so
|
||||
// this derived one needs to invoke it.
|
||||
// Using 'apply' style to mark it's a parent method calling explicitly.
|
||||
Buf._init.apply(this);
|
||||
};
|
||||
|
||||
/**
|
||||
* "inherit" the basic worker buffer.
|
||||
*/
|
||||
BufObject.prototype = Object.create(Buf);
|
||||
|
||||
/**
|
||||
* Process one parcel.
|
||||
*/
|
||||
BufObject.prototype.processParcel = function() {
|
||||
let responseType = this.readInt32();
|
||||
|
||||
let requestType, options;
|
||||
if (responseType == RESPONSE_TYPE_SOLICITED) {
|
||||
let token = this.readInt32();
|
||||
let error = this.readInt32();
|
||||
|
||||
options = this.mTokenRequestMap.get(token);
|
||||
if (!options) {
|
||||
if (DEBUG) {
|
||||
this.context.debug("Suspicious uninvited request found: " +
|
||||
token + ". Ignored!");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
this.mTokenRequestMap.delete(token);
|
||||
requestType = options.rilRequestType;
|
||||
|
||||
options.rilRequestError = error;
|
||||
if (DEBUG) {
|
||||
this.context.debug("Solicited response for request type " + requestType +
|
||||
", token " + token + ", error " + error);
|
||||
}
|
||||
} else if (responseType == RESPONSE_TYPE_UNSOLICITED) {
|
||||
requestType = this.readInt32();
|
||||
if (DEBUG) {
|
||||
this.context.debug("Unsolicited response for request type " + requestType);
|
||||
}
|
||||
} else {
|
||||
if (DEBUG) {
|
||||
this.context.debug("Unknown response type: " + responseType);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
this.context.RIL.handleParcel(requestType, this.readAvailable, options);
|
||||
};
|
||||
|
||||
/**
|
||||
* Start a new outgoing parcel.
|
||||
*
|
||||
* @param type
|
||||
* Integer specifying the request type.
|
||||
* @param options [optional]
|
||||
* Object containing information about the request, e.g. the
|
||||
* original main thread message object that led to the RIL request.
|
||||
*/
|
||||
BufObject.prototype.newParcel = function(type, options) {
|
||||
if (DEBUG) {
|
||||
this.context.debug("New outgoing parcel of type " + type);
|
||||
}
|
||||
|
||||
// We're going to leave room for the parcel size at the beginning.
|
||||
this.outgoingIndex = this.PARCEL_SIZE_SIZE;
|
||||
this.writeInt32(this._reMapRequestType(type));
|
||||
this.writeInt32(this.mToken);
|
||||
|
||||
if (!options) {
|
||||
options = {};
|
||||
}
|
||||
options.rilRequestType = type;
|
||||
options.rilRequestError = null;
|
||||
this.mTokenRequestMap.set(this.mToken, options);
|
||||
this.mToken++;
|
||||
return this.mToken;
|
||||
};
|
||||
|
||||
BufObject.prototype.simpleRequest = function(type, options) {
|
||||
this.newParcel(type, options);
|
||||
this.sendParcel();
|
||||
};
|
||||
|
||||
BufObject.prototype.onSendParcel = function(parcel) {
|
||||
self.postRILMessage(this.context.clientId, parcel);
|
||||
};
|
||||
|
||||
/**
|
||||
* Remapping the request type to different values based on RIL version.
|
||||
* We only have to do this for SUBSCRIPTION right now, so I just make it
|
||||
* simple. A generic logic or structure could be discussed if we have more
|
||||
* use cases, especially the cases from different partners.
|
||||
*/
|
||||
BufObject.prototype._reMapRequestType = function(type) {
|
||||
let newType = type;
|
||||
switch (type) {
|
||||
case REQUEST_SET_UICC_SUBSCRIPTION:
|
||||
case REQUEST_SET_DATA_SUBSCRIPTION:
|
||||
if (this.context.RIL.version < 9) {
|
||||
// Shift the CAF's proprietary parcels. Please see
|
||||
// https://www.codeaurora.org/cgit/quic/la/platform/hardware/ril/tree/include/telephony/ril.h?h=b2g_jb_3.2
|
||||
newType = type - 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return newType;
|
||||
};
|
||||
|
||||
// Before we make sure to form it as a module would not add extra
|
||||
// overhead of module loading, we need to define it in this way
|
||||
// rather than 'module.exports' it as a module component.
|
||||
exports.BufObject = BufObject;
|
||||
})(self); // in worker self is the global
|
||||
|
|
@ -1351,7 +1351,8 @@ private:
|
|||
ProcessPriority mPriority;
|
||||
int32_t mOomScoreAdj;
|
||||
int32_t mKillUnderKB;
|
||||
int mCGroupProcsFd;
|
||||
int mCpuCGroupProcsFd;
|
||||
int mMemCGroupProcsFd;
|
||||
nsCString mGroup;
|
||||
|
||||
/**
|
||||
|
@ -1368,7 +1369,7 @@ private:
|
|||
/**
|
||||
* Get the full path of the cgroup.procs file associated with the group.
|
||||
*/
|
||||
nsCString CGroupProcsFilename()
|
||||
nsCString CpuCGroupProcsFilename()
|
||||
{
|
||||
nsCString cgroupName = mGroup;
|
||||
|
||||
|
@ -1384,9 +1385,30 @@ private:
|
|||
NS_LITERAL_CSTRING("cgroup.procs");
|
||||
}
|
||||
|
||||
int OpenCGroupProcs()
|
||||
nsCString MemCGroupProcsFilename()
|
||||
{
|
||||
return open(CGroupProcsFilename().get(), O_WRONLY);
|
||||
nsCString cgroupName = mGroup;
|
||||
|
||||
/* If mGroup is empty, our cgroup.procs file is the root procs file,
|
||||
* located at /sys/fs/cgroup/memory/cgroup.procs. Otherwise our procs
|
||||
* file is /sys/fs/cgroup/memory/NAME/cgroup.procs. */
|
||||
|
||||
if (!mGroup.IsEmpty()) {
|
||||
cgroupName.AppendLiteral("/");
|
||||
}
|
||||
|
||||
return NS_LITERAL_CSTRING("/sys/fs/cgroup/memory/") + cgroupName +
|
||||
NS_LITERAL_CSTRING("cgroup.procs");
|
||||
}
|
||||
|
||||
int OpenCpuCGroupProcs()
|
||||
{
|
||||
return open(CpuCGroupProcsFilename().get(), O_WRONLY);
|
||||
}
|
||||
|
||||
int OpenMemCGroupProcs()
|
||||
{
|
||||
return open(MemCGroupProcsFilename().get(), O_WRONLY);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1401,11 +1423,14 @@ private:
|
|||
* exists. Otherwise, return false.
|
||||
*/
|
||||
static bool
|
||||
EnsureCGroupExists(const nsACString &aGroup)
|
||||
EnsureCpuCGroupExists(const nsACString &aGroup)
|
||||
{
|
||||
NS_NAMED_LITERAL_CSTRING(kDevCpuCtl, "/dev/cpuctl/");
|
||||
NS_NAMED_LITERAL_CSTRING(kSlash, "/");
|
||||
|
||||
nsAutoCString groupName(aGroup);
|
||||
HAL_LOG("EnsureCpuCGroupExists for group '%s'", groupName.get());
|
||||
|
||||
nsAutoCString prefPrefix("hal.processPriorityManager.gonk.cgroups.");
|
||||
|
||||
/* If cgroup is not empty, append the cgroup name and a dot to obtain the
|
||||
|
@ -1436,6 +1461,7 @@ EnsureCGroupExists(const nsACString &aGroup)
|
|||
|
||||
offset++;
|
||||
}
|
||||
HAL_LOG("EnsureCpuCGroupExists created group '%s'", groupName.get());
|
||||
|
||||
nsAutoCString pathPrefix(kDevCpuCtl + aGroup + kSlash);
|
||||
nsAutoCString cpuSharesPath(pathPrefix + NS_LITERAL_CSTRING("cpu.shares"));
|
||||
|
@ -1457,11 +1483,61 @@ EnsureCGroupExists(const nsACString &aGroup)
|
|||
return true;
|
||||
}
|
||||
|
||||
static bool
|
||||
EnsureMemCGroupExists(const nsACString &aGroup)
|
||||
{
|
||||
NS_NAMED_LITERAL_CSTRING(kMemCtl, "/sys/fs/cgroup/memory/");
|
||||
NS_NAMED_LITERAL_CSTRING(kSlash, "/");
|
||||
|
||||
nsAutoCString groupName(aGroup);
|
||||
HAL_LOG("EnsureMemCGroupExists for group '%s'", groupName.get());
|
||||
|
||||
nsAutoCString prefPrefix("hal.processPriorityManager.gonk.cgroups.");
|
||||
|
||||
/* If cgroup is not empty, append the cgroup name and a dot to obtain the
|
||||
* group specific preferences. */
|
||||
if (!aGroup.IsEmpty()) {
|
||||
prefPrefix += aGroup + NS_LITERAL_CSTRING(".");
|
||||
}
|
||||
|
||||
nsAutoCString memSwappinessPref(prefPrefix + NS_LITERAL_CSTRING("memory_swappiness"));
|
||||
int memSwappiness = Preferences::GetInt(memSwappinessPref.get());
|
||||
|
||||
// Create mCGroup and its parent directories, as necessary.
|
||||
nsCString cgroupIter = aGroup + kSlash;
|
||||
|
||||
int32_t offset = 0;
|
||||
while ((offset = cgroupIter.FindChar('/', offset)) != -1) {
|
||||
nsAutoCString path = kMemCtl + Substring(cgroupIter, 0, offset);
|
||||
int rv = mkdir(path.get(), 0744);
|
||||
|
||||
if (rv == -1 && errno != EEXIST) {
|
||||
HAL_LOG("Could not create the %s control group.", path.get());
|
||||
return false;
|
||||
}
|
||||
|
||||
offset++;
|
||||
}
|
||||
HAL_LOG("EnsureMemCGroupExists created group '%s'", groupName.get());
|
||||
|
||||
nsAutoCString pathPrefix(kMemCtl + aGroup + kSlash);
|
||||
nsAutoCString memSwappinessPath(pathPrefix + NS_LITERAL_CSTRING("memory.swappiness"));
|
||||
if (!WriteToFile(memSwappinessPath.get(),
|
||||
nsPrintfCString("%d", memSwappiness).get())) {
|
||||
HAL_LOG("Could not set the memory.swappiness for group %s", memSwappinessPath.get());
|
||||
return false;
|
||||
}
|
||||
HAL_LOG("Set memory.swappiness for group %s to %d", memSwappinessPath.get(), memSwappiness);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
PriorityClass::PriorityClass(ProcessPriority aPriority)
|
||||
: mPriority(aPriority)
|
||||
, mOomScoreAdj(0)
|
||||
, mKillUnderKB(0)
|
||||
, mCGroupProcsFd(-1)
|
||||
, mCpuCGroupProcsFd(-1)
|
||||
, mMemCGroupProcsFd(-1)
|
||||
{
|
||||
DebugOnly<nsresult> rv;
|
||||
|
||||
|
@ -1475,14 +1551,18 @@ PriorityClass::PriorityClass(ProcessPriority aPriority)
|
|||
rv = Preferences::GetCString(PriorityPrefName("cgroup").get(), &mGroup);
|
||||
MOZ_ASSERT(NS_SUCCEEDED(rv), "Missing control group preference");
|
||||
|
||||
if (EnsureCGroupExists(mGroup)) {
|
||||
mCGroupProcsFd = OpenCGroupProcs();
|
||||
if (EnsureCpuCGroupExists(mGroup)) {
|
||||
mCpuCGroupProcsFd = OpenCpuCGroupProcs();
|
||||
}
|
||||
if (EnsureMemCGroupExists(mGroup)) {
|
||||
mMemCGroupProcsFd = OpenMemCGroupProcs();
|
||||
}
|
||||
}
|
||||
|
||||
PriorityClass::~PriorityClass()
|
||||
{
|
||||
close(mCGroupProcsFd);
|
||||
close(mCpuCGroupProcsFd);
|
||||
close(mMemCGroupProcsFd);
|
||||
}
|
||||
|
||||
PriorityClass::PriorityClass(const PriorityClass& aOther)
|
||||
|
@ -1491,7 +1571,8 @@ PriorityClass::PriorityClass(const PriorityClass& aOther)
|
|||
, mKillUnderKB(aOther.mKillUnderKB)
|
||||
, mGroup(aOther.mGroup)
|
||||
{
|
||||
mCGroupProcsFd = OpenCGroupProcs();
|
||||
mCpuCGroupProcsFd = OpenCpuCGroupProcs();
|
||||
mMemCGroupProcsFd = OpenMemCGroupProcs();
|
||||
}
|
||||
|
||||
PriorityClass& PriorityClass::operator=(const PriorityClass& aOther)
|
||||
|
@ -1500,20 +1581,26 @@ PriorityClass& PriorityClass::operator=(const PriorityClass& aOther)
|
|||
mOomScoreAdj = aOther.mOomScoreAdj;
|
||||
mKillUnderKB = aOther.mKillUnderKB;
|
||||
mGroup = aOther.mGroup;
|
||||
mCGroupProcsFd = OpenCGroupProcs();
|
||||
mCpuCGroupProcsFd = OpenCpuCGroupProcs();
|
||||
mMemCGroupProcsFd = OpenMemCGroupProcs();
|
||||
return *this;
|
||||
}
|
||||
|
||||
void PriorityClass::AddProcess(int aPid)
|
||||
{
|
||||
if (mCGroupProcsFd < 0) {
|
||||
return;
|
||||
if (mCpuCGroupProcsFd >= 0) {
|
||||
nsPrintfCString str("%d", aPid);
|
||||
|
||||
if (write(mCpuCGroupProcsFd, str.get(), strlen(str.get())) < 0) {
|
||||
HAL_ERR("Couldn't add PID %d to the %s cpu control group", aPid, mGroup.get());
|
||||
}
|
||||
}
|
||||
if (mMemCGroupProcsFd >= 0) {
|
||||
nsPrintfCString str("%d", aPid);
|
||||
|
||||
nsPrintfCString str("%d", aPid);
|
||||
|
||||
if (write(mCGroupProcsFd, str.get(), strlen(str.get())) < 0) {
|
||||
HAL_ERR("Couldn't add PID %d to the %s control group", aPid, mGroup.get());
|
||||
if (write(mMemCGroupProcsFd, str.get(), strlen(str.get())) < 0) {
|
||||
HAL_ERR("Couldn't add PID %d to the %s memory control group", aPid, mGroup.get());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "mozilla/layers/CompositorParent.h"
|
||||
#include "mozilla/layers/LayerTransactionParent.h"
|
||||
#include "nsContentUtils.h"
|
||||
#include "nsFocusManager.h"
|
||||
#include "nsFrameLoader.h"
|
||||
#include "nsIObserver.h"
|
||||
#include "nsSubDocumentFrame.h"
|
||||
|
@ -148,6 +149,7 @@ public:
|
|||
return;
|
||||
}
|
||||
if (mRenderFrame) {
|
||||
mRenderFrame->TakeFocusForClick();
|
||||
TabParent* browser = TabParent::GetFrom(mRenderFrame->Manager());
|
||||
browser->HandleSingleTap(aPoint, aModifiers, aGuid);
|
||||
}
|
||||
|
@ -595,6 +597,25 @@ RenderFrameParent::GetTextureFactoryIdentifier(TextureFactoryIdentifier* aTextur
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
RenderFrameParent::TakeFocusForClick()
|
||||
{
|
||||
nsIFocusManager* fm = nsFocusManager::GetFocusManager();
|
||||
if (!fm) {
|
||||
return;
|
||||
}
|
||||
nsCOMPtr<nsIContent> owner = mFrameLoader->GetOwnerContent();
|
||||
if (!owner) {
|
||||
return;
|
||||
}
|
||||
nsCOMPtr<nsIDOMElement> element = do_QueryInterface(owner);
|
||||
if (!element) {
|
||||
return;
|
||||
}
|
||||
fm->SetFocus(element, nsIFocusManager::FLAG_BYMOUSE |
|
||||
nsIFocusManager::FLAG_NOSCROLL);
|
||||
}
|
||||
|
||||
} // namespace layout
|
||||
} // namespace mozilla
|
||||
|
||||
|
|
|
@ -116,6 +116,9 @@ public:
|
|||
void GetTextureFactoryIdentifier(TextureFactoryIdentifier* aTextureFactoryIdentifier);
|
||||
|
||||
inline uint64_t GetLayersId() { return mLayersId; }
|
||||
|
||||
void TakeFocusForClick();
|
||||
|
||||
protected:
|
||||
void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче