Re: [RFC 09/11] HID: hyperv: Make ringbuffer at least take two pages

From: boqun . feng
Date: Wed Jul 22 2020 - 21:28:22 EST


On Wed, Jul 22, 2020 at 11:36:15PM +0000, Michael Kelley wrote:
> From: Boqun Feng <boqun.feng@xxxxxxxxx> Sent: Monday, July 20, 2020 6:42 PM
> >
> > When PAGE_SIZE > HV_HYP_PAGE_SIZE, we need the ringbuffer size to be at
> > least 2 * PAGE_SIZE: one page for the header and at least one page of
> > the data part (because of the alignment requirement for double mapping).
> >
> > So make sure the ringbuffer sizes to be at least 2 * PAGE_SIZE when
> > using vmbus_open() to establish the vmbus connection.
> >
> > Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx>
> > ---
> > drivers/hid/hid-hyperv.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/hid/hid-hyperv.c b/drivers/hid/hid-hyperv.c
> > index 0b6ee1dee625..36c5e157c691 100644
> > --- a/drivers/hid/hid-hyperv.c
> > +++ b/drivers/hid/hid-hyperv.c
> > @@ -104,8 +104,8 @@ struct synthhid_input_report {
> >
> > #pragma pack(pop)
> >
> > -#define INPUTVSC_SEND_RING_BUFFER_SIZE (40 * 1024)
> > -#define INPUTVSC_RECV_RING_BUFFER_SIZE (40 * 1024)
> > +#define INPUTVSC_SEND_RING_BUFFER_SIZE (128 * 1024)
> > +#define INPUTVSC_RECV_RING_BUFFER_SIZE (128 * 1024)
>
> Use max(40 * 1024, 2 * PAGE_SIZE) like in patch 8 of the series?
>

Sure! Will change it in next version.

Regards,
Boqun

> >
> >
> > enum pipe_prot_msg_type {
> > --
> > 2.27.0
>