LL perf (Core): Plugin IPC #376

Closed
opened 2026-10-04 14:09:33 +00:00 by sky_line · 0 comments
Owner

From the LL-origin inefficiency audit (finding C8). File/line references are from commit 0229f8872c; re-locate them before working.

Plugin IPC

  • Format: every message is pretty-printed LLSD XML generated and parsed (llpluginmessage.cpp:356-382).
  • Main thread: PluginUseReadThread=0 by default (settings.xml:7155), so it runs on the main thread per plugin per frame (llpluginprocessparent.cpp:331-370).
  • updateMedia() per frame: getBOOL("PluginUseReadThread"), a std::list::sort of all impls, plus a fresh vector and stable_sort (llviewermedia.cpp:681, 721, 733).
  • Latent race: poll() erases from sInstances without sInstancesMutex when the read thread is on (:986-994).
  • Fix: binary LLSD (SLPlugin side too); enable the read thread; vector.
  • Confirmed. M.

Verify the cost (profile or timer) before and after changing it.

From the LL-origin inefficiency audit (finding C8). File/line references are from commit 0229f8872c; re-locate them before working. **Plugin IPC** - **Format:** every message is **pretty-printed LLSD XML** generated and parsed (`llpluginmessage.cpp:356-382`). - **Main thread:** `PluginUseReadThread=0` by default (`settings.xml:7155`), so it runs on the main thread per plugin per frame (`llpluginprocessparent.cpp:331-370`). - **`updateMedia()` per frame:** `getBOOL("PluginUseReadThread")`, a `std::list::sort` of all impls, plus a fresh vector and `stable_sort` (`llviewermedia.cpp:681, 721, 733`). - **Latent race:** `poll()` erases from `sInstances` without `sInstancesMutex` when the read thread is on (`:986-994`). - **Fix:** binary LLSD (SLPlugin side too); enable the read thread; vector. - Confirmed. M. Verify the cost (profile or timer) before and after changing it.
sky_line added this to the Slipstream project 2026-10-06 15:04:14 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#376
No description provided.