Mir wastes lots of threads and resources on the "frontend thread pool"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Alan Griffiths | ||
Unity System Compositor |
Invalid
|
Medium
|
Daniel van Vugt | ||
mir (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Mir wastes lots of threads and resources on the "frontend thread pool".
It is 10 threads by default, always running and almost always sleeping. As far as I know, this is the set of threads that handles incoming requests. However:
1. A thread always occupies a minimum of 8MB address space for its stack, not to mention other resources.
2. Even when I reduce the number of frontend threads to 1 (--ipc-thread-pool 1), Mir still seems to handle multiple simultaneous clients without missing a beat.
3. unity-system-
So we need to fix two things at least:
(a) Our primary Mir server "unity-
(b) All Mir servers via libmirserver should be more sensible with threads. Only creating them as required, if required.
Related branches
- PS Jenkins bot (community): Approve (continuous-integration)
- Robert Carr (community): Approve
- Alan Griffiths: Abstain
-
Diff: 39 lines (+5/-2)3 files modifiedinclude/server/mir/default_server_configuration.h (+2/-0)
src/server/default_server_configuration.cpp (+1/-1)
src/server/frontend/default_configuration.cpp (+2/-1)
- PS Jenkins bot (community): Approve (continuous-integration)
- Daniel van Vugt: Approve
- kevin gunn (community): Approve
- Kevin DuBois (community): Approve
-
Diff: 12 lines (+1/-1)1 file modifiedinclude/server/mir/default_configuration_options.h (+1/-1)
tags: | added: performance |
Changed in unity-system-compositor: | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
Changed in mir: | |
status: | Fix Committed → Triaged |
Changed in unity-system-compositor: | |
status: | New → Triaged |
Changed in mir: | |
importance: | Undecided → Medium |
Changed in unity-system-compositor: | |
importance: | Undecided → Medium |
Changed in mir: | |
status: | Triaged → In Progress |
assignee: | nobody → Alan Griffiths (alan-griffiths) |
milestone: | none → 0.1.5 |
Changed in mir: | |
milestone: | 0.1.5 → 0.1.6 |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Fix committed into lp:~mir-team/mir/development-branch at revision 1110, scheduled for release in mir, milestone Unknown