Mir

Code review comment for lp:~alan-griffiths/mir/SwitchingBundle-controls-completion-of-client_acquire-without-blocking

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

One concerning aspect of the changes I realized while reviewing this MP (but not introduced by this MP) is that we moved work from the client thread to the compositor thread. That is, compositor_release() calls complete_client_acquire() which:

1. May block if a snapshot is taking place.
2. Calls the externally provided completion function which may take some time to finish.
3. The provided completion function is called under lock, which needs care.

The compositor's interaction with the SwitchingBundle is supposed to be super-fast and non-blocking, and the changes break these assumptions.

I am OK with this MP per se, so approving, but I think we need to re-evaluate our approach, in light of the points above (I am not saying they are a problem necessarily, but we certainly need to investigate/discuss further).

review: Approve

« Back to merge proposal