Frequent DataStoragePut messages waking idle preallocated content processes
Categories
(Core :: Security: PSM, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox91 | --- | fixed |
People
(Reporter: nika, Assigned: keeler)
References
(Blocks 1 open bug)
Details
(Whiteboard: [psm-backlog])
Attachments
(1 file)
This was discovered when looking into why preallocated content processes were waking up when not in use in bug 1689164. Msg_DataStoragePut
is broadcast to all content processes, including preallocated ones, fairly frequently. This message is called by mozilla::DataStorage
on a regular basis, and broadcasts a message to all content processes to update some state related to our ssl implementation. (https://searchfox.org/mozilla-central/rev/b9384b091e901b3283ce24b6610e80699d79fd06/security/manager/ssl/DataStorage.cpp#786-793)
It would be nice to somehow avoid this frequent message by either avoiding the need for this information in every content process or avoiding sending the message to preallocated content processes until it is necessary to allow them to stay idle.
See bug 1689164 for more details.
![]() |
Assignee | |
Updated•4 years ago
|
![]() |
Assignee | |
Comment 2•4 years ago
|
||
Bug 1215723 introduced a mechanism whereby DataStorage data would be propagated
to content processes to avoid the IPC calls involved in querying if hosts were
HSTS. With a low number of content processes, this was a reasonable approach.
However, with Fission and the proliferation of content processes, propagating
changes in DataStorage data to every content process wakes up unrelated
processes and is inefficient. This patch restores the behavior that
nsISiteSecurityService and DataStorage is not available to content processes.
Additionally, bug 1626076 made it possible to use DataStorage directly from the
socket process. However, as of bug 1650356, this is no longer necessary, so
this patch removes that behavior as well.
Updated•4 years ago
|
Comment 4•4 years ago
|
||
Backed out for causing build bustages on RemoteLazyInputStreamThread.cpp.
![]() |
Assignee | |
Updated•4 years ago
|
Comment 6•4 years ago
|
||
bugherder |
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Description
•