From: Andrea Parri <parri.andrea@xxxxxxxxx> Sent: Saturday, March 28, 2020 10:09 AM > > > 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. > Given that waiting for 'offer_in_progress == 0' is the current code, I think there's an argument to made for not changing it if the change isn't strictly necessary. This patch set introduces enough change that *is* necessary. :-) Michael