> In case we believe that OFFER -> RESCINF sequence is always ordered > by the host AND we don't care about other offers in the queue the > suggested locking is OK: we're guaranteed to process RESCIND after we > finished processing OFFER for the same channel. However, waiting for > 'offer_in_progress == 0' looks fishy so I'd suggest we at least add a > comment explaining that the wait is only needed to serialize us with > possible OFFER for the same channel - and nothing else. I'd personally > still slightly prefer the algorythm I suggested as it guarantees we take > channel_mutex with offer_in_progress == 0 -- even if there are no issues > we can think of today (not strongly though). Does it? offer_in_progress is incremented without channel_mutex... IAC, I have no objections to apply the changes you suggested. To avoid misunderstandings: vmbus_bus_suspend() presents a similar usage... Are you suggesting that I apply similar changes there? Alternatively: FWIW, the comment in vmbus_onoffer_rescind() does refer to "The offer msg and the corresponding rescind msg...". I am all ears if you have any concrete suggestions to improve these comments. Thanks, Andrea