[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <MW2PR2101MB1052A2E44557B29C191F557DD7CA0@MW2PR2101MB1052.namprd21.prod.outlook.com>
Date: Sun, 29 Mar 2020 03:43:26 +0000
From: Michael Kelley <mikelley@...rosoft.com>
To: Andrea Parri <parri.andrea@...il.com>,
vkuznets <vkuznets@...hat.com>
CC: Dexuan Cui <decui@...rosoft.com>,
KY Srinivasan <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Wei Liu <wei.liu@...nel.org>,
"linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
Boqun Feng <boqun.feng@...il.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [RFC PATCH 02/11] Drivers: hv: vmbus: Don't bind the
offer&rescind works to a specific CPU
From: Andrea Parri <parri.andrea@...il.com> 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
Powered by blists - more mailing lists