RE: [PATCH 4/5] hv: kvp: use wrappers to propaigate state

From: KY Srinivasan
Date: Mon Sep 21 2015 - 12:31:40 EST




> -----Original Message-----
> From: Olaf Hering [mailto:olaf@xxxxxxxxx]
> Sent: Monday, September 21, 2015 3:18 AM
> To: KY Srinivasan <kys@xxxxxxxxxxxxx>; Greg KH
> <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx;
> apw@xxxxxxxxxxxxx; vkuznets@xxxxxxxxxx; jasowang@xxxxxxxxxx
> Subject: Re: [PATCH 4/5] hv: kvp: use wrappers to propaigate state
>
> On Sun, Sep 20, Greg KH wrote:
>
> > On Tue, Sep 15, 2015 at 05:37:53PM -0700, K. Y. Srinivasan wrote:
> > > @@ -122,8 +125,8 @@ static void kvp_timeout_func(struct work_struct
> *dummy)
>
> > > + if (kvp_get_state() > HVUTIL_READY)
> > > + kvp_set_state(HVUTIL_READY);
>
> > And what if the state changed the line after this? Oops, your code is
> > hosed. See, you need a lock, do this correctly.
>
> KY, can this happen?

No - the state has to be > HVUTIL_READY. Also, if the timeout fires,
it wins since other contexts will attempt to first cancel the timeout before
proceeding further.

K. Y
>
> Olaf
N‹§²æ¸›yú²X¬¶ÇvØ–)Þ{.nlj·¥Š{±‘êX§¶›¡Ü}©ž²ÆzÚj:+v‰¨¾«‘êZ+€Êzf£¢·hšˆ§~†­†Ûÿû®w¥¢¸?™¨è&¢)ßf”ùy§m…á«a¶Úÿ 0¶ìå