On Mon, Dec 13, 2010 at 07:31:42PM +0000, Hank Janssen wrote: > > > > -----Original Message----- > > From: Greg KH [mailto:greg@xxxxxxxxx] > > Sent: Monday, December 13, 2010 10:35 AM > > > --- > > > drivers/staging/hv/hv_utils.c | 68 +++++++++++++++++++------------------ > > --- > > > 1 files changed, 32 insertions(+), 36 deletions(-) > > > > > > diff --git a/drivers/staging/hv/hv_utils.c > > > b/drivers/staging/hv/hv_utils.c index 53e1e29..4ed4ab8 100644 > > > --- a/drivers/staging/hv/hv_utils.c > > > +++ b/drivers/staging/hv/hv_utils.c > > > @@ -38,12 +38,15 @@ > > > #include "vmbus_api.h" > > > #include "utils.h" > > > > > > +/* > > > + * Buffer used to receive packets from Hyper-V */ static u8 > > > +*chan_buf; > > > > One buffer is nicer, yes, but what's controlling access to this buffer? > > You use it in multiple functions, and what's to say those functions can't be > > called at the same time on different cpus? So, shouldn't you either have > > some locking for access to the buffer, or have a per-function buffer instead? > > > > And if you have a per-function buffer, again, you might need to control > > access to it as the functions could be called multiple times at the same time, > > right? > > > > The current versions of Hyper-V support interrupt handling on CPU0 only. > I can make multiple buffers per channel, but because of Hyper-V implementation > It does not really make a difference. Then put a big fat note in there saying this, and that it will have to change if the hyperv channel ever changes. Hm, how will you handle things if the hyperv core changes and an old kernel is running this code where things were "assumed" about the reentrancy happening here? thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel