RPM

Multithreaded installs

Registered by Jeff Johnson

<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/--fsmthreads options can be added
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/--fsmthreads
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

Related branches

Sprints

Whiteboard

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.