Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 74995369 authored by Isaac J. Manjarres's avatar Isaac J. Manjarres
Browse files

soc: qcom: service-notifier: Use ordered workqueue for PDR



Currently, a global multi-threaded workqueue is used for
handling acks sent to the root PD for a subsystem during PDR.

Since the new EARLY_PD_DOWN indication does not require an ack,
the remote PD can continue with the PD teardown sequence,
and send a PD_DOWN indication, before we have handled the
EARLY_DOWN indication. Since the workqueue is multi-threaded,
the worker threads handling both of these indications can race
against each other, resulting in non-deterministic behavior with
respect to the order in which the EARLY_PD_DOWN and PD_DOWN
indications are processed.

Use an ordered workqueue to ensure that indications are
processed in the order in which they arrive, and migrate
from using a global workqueue for handling acks, to
per-service workqueues, to maintain parallelism between PDRs
for two distinct PDs.

Change-Id: I4e95524a927bbccc079eaf6481a254fda808b85c
Signed-off-by: default avatarIsaac J. Manjarres <isaacm@codeaurora.org>
parent 8b16ad0e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment