Multithreaded installs
<watch this space>
The callback events impose a serialization constraint on
multithreaded installs that MUST be solved first.
POSIX threads were added lower level package/file state machine transitions
(i.e. each transition created its own thread) in order to check for
any obvious raciness on essentially RO data used for package/file
installation. The --psmthreads/
to any RPM install command to repeat the checks for raciness
(expect breakage: the code hasn't been looked at for years).
But helgrind/valgrind tools are likely a better approach than --psmthreads/
insturmentation.
Parallelizing the transaction loop that installs/erases packages will
be where the biggest performance gains through multithreaded installs.
The major problem there is ensuring that if an install fails, that none
of the --upgrade coupled erasures are performed.
Blueprint information
- Status:
- Started
- Approver:
- Jeff Johnson
- Priority:
- Medium
- Drafter:
- Jeff Johnson
- Direction:
- Approved
- Assignee:
- Jeff Johnson
- Definition:
- Drafting
- Series goal:
- Accepted for 5.4
- Implementation:
- Blocked
- Milestone target:
- None
- Started by
- Jeff Johnson
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Work Items
Dependency tree
* Blueprints in grey have been implemented.