RE: [PATCH 1/1] hv: Use only one receive buffer and kmalloc oninitialize

From: Hank Janssen
Date: Mon Dec 13 2010 - 14:31:59 EST




> -----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.

Hank.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/