Closed Bug 1592442 Opened 2 years ago Closed 1 year ago

Fission - bring `max` for preference access in line with non-fission in browser_preferences_usage.js

Categories

(Core :: DOM: Core & HTML, task)

task
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla73
Fission Milestone M5
Tracking Status
firefox73 --- fixed

People

(Reporter: Gijs, Assigned: Gijs)

References

(Depends on 4 open bugs, Blocks 1 open bug)

Details

(Whiteboard: [fxperf:p2])

Attachments

(1 file)

In bug 1585727 we've enabled this test in Fission. There's a few prefs we access really a lot, which I'm fixing in bug 1585732. However, the general limit was also increased from 40 to 50. This bug is to investigate that further.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=a73f4186f71520c6da9f2bd822ace3d41ade3716 shows (sorting mine):

 dom.ipc.content.nice should not be accessed more than 40 times. - 50 <= 40 - 
 dom.ipc.cpow.timeout should not be accessed more than 40 times. - 50 <= 40 - 
 dom.ipc.processCount.webIsolated should not be accessed more than 40 times. - 50 <= 40 - 
 dom.ipc.processHangMonitor should not be accessed more than 40 times. - 50 <= 40 - 
 dom.ipc.reportProcessHangs should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.canvas2d.acceleration should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.d3d11.keyed.mutex should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.direct2d should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.direct3d11angle should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.dx.interop2 should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.dx.nv12 should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.dx.p010 should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.dx.p016 should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.gl.swizzle should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.gpu.process should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.hardwarevideodecoding should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.layers.advanced should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.layers.direct3d10 should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.layers.direct3d10-1 should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.layers.direct3d11 should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.layers.direct3d9 should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.layers.opengl should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.stagefright should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.webgl.angle should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.webgl.msaa should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.webgl.opengl should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.webgl2 should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.webrender should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.webrtc.hw.acceleration.decode should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.webrtc.hw.acceleration.encode should not be accessed more than 40 times. - 50 <= 40 - 
 gfx.blacklist.webrtc.hw.acceleration.h264 should not be accessed more than 40 times. - 50 <= 40 - 
 plugin.state.flash should not be accessed more than 40 times. - 50 <= 40 - 
 security.sandbox.content.force-namespace should not be accessed more than 40 times. - 50 <= 40 - 
 security.sandbox.content.read_path_whitelist should not be accessed more than 40 times. - 50 <= 40 - 
 security.sandbox.content.write_path_whitelist should not be accessed more than 40 times. - 50 <= 40 - 

I'll probably split this up into some more bugs when I figure out where these are all coming from. The gfx stuff looks like it's courtesy of https://searchfox.org/mozilla-central/rev/9df2ccc256fe54c314b34e52920471a0d04b283e/dom/ipc/ContentParent.cpp#2483-2495 . It should be possible to do some caching there. Not entirely sure if we even support runtime updates to those feature prefs...

The plugin item is due to https://searchfox.org/mozilla-central/rev/9df2ccc256fe54c314b34e52920471a0d04b283e/dom/plugins/base/nsPluginTags.cpp#520-521 - that might go away as a consequence of bug 1545123, I'd need to check.

In general, all of this is a consequence of how many content processes we end up starting under fission, and the number of accesses presumably scales linearly with the number of tabs (with different domains) opened. Though tbf, there's only 4 domains, so I would expect some process reuse...

Depends on: 1593725
Depends on: 1595831
Depends on: 1596090

Tentatively moving all bugs whose summaries mention "Fission" (or other Fission-related keywords) but are not assigned to a Fission Milestone to the "?" triage milestone.

This will generate a lot of bugmail, so you can filter your bugmail for the following UUID and delete them en masse:

0ee3c76a-bc79-4eb2-8d12-05dc0b68e732

Fission Milestone: --- → ?
Depends on: 1600189
Depends on: 1600195
Depends on: 1600266
Pushed by gijskruitbosch@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/247cce31bc38
remove 'max' exceptions for browser_preferences_usage.js for fission, r=florian
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla73

fixed in M5

Fission Milestone: ? → M5
Depends on: 1639494
Depends on: 1639497
You need to log in before you can comment on or make changes to this bug.