[PATCH 1/1] staging: hv: Fix race condition on IC channel initialization (modified)
haiyangz at microsoft.com
Wed May 26 15:52:36 PDT 2010
> From: Greg KH [mailto:gregkh at suse.de]
> How about a lock!
> What's so scary about a pretty little semaphore? They are all cute and
> cuddley and don't bite anyone. You should not be afraid to use them,
> they are here to do your bidding.
No problem, we will add a lock here.
> > The VmbusChannelProcessOffer() is called from interrupt context, and
> > initialize the channels, wake up vmbus_init when all channels are
> > ready. If using local variable only, how to pass the channel ready
> > info to vmbus_init() which is in a different context?
> No, I mean move the logic you added here, into the vmbus_init() call.
Do you mean:
Move the event creat/wait/free, which is currently in vmbus_init(), into vmbus_bus_init() function. hv_channle_ready will still be a global variable. And, the wakeup call -- osd_WaitEventSet() --remains in VmbusChannelProcessOffer() ?
More information about the devel