Re: [RFC PATCH 02/11] Drivers: hv: vmbus: Don't bind the offer&rescind works to a specific CPU

From: Andrea Parri
Date: Sat Mar 28 2020 - 13:08:43 EST


> 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