RE: [PATCH v2 4/5] HID: hv: Remove dependencies on PAGE_SIZE for ring buffer

From: Vitaly Kuznetsov
Date: Fri Jun 14 2019 - 03:58:00 EST


Michael Kelley <mikelley@xxxxxxxxxxxxx> writes:

> From: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Sent: Wednesday, June 12, 2019 3:40 AM
>> Maya Nakamura <m.maya.nakamura@xxxxxxxxx> writes:
>>
>> > Define the ring buffer size as a constant expression because it should
>> > not depend on the guest page size.
>> >
>> > Signed-off-by: Maya Nakamura <m.maya.nakamura@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 d3311d714d35..e8b154fa38e2 100644
>> > --- a/drivers/hid/hid-hyperv.c
>> > +++ b/drivers/hid/hid-hyperv.c
>> > @@ -112,8 +112,8 @@ struct synthhid_input_report {
>> >
>> > #pragma pack(pop)
>> >
>> > -#define INPUTVSC_SEND_RING_BUFFER_SIZE (10*PAGE_SIZE)
>> > -#define INPUTVSC_RECV_RING_BUFFER_SIZE (10*PAGE_SIZE)
>> > +#define INPUTVSC_SEND_RING_BUFFER_SIZE (40 * 1024)
>> > +#define INPUTVSC_RECV_RING_BUFFER_SIZE (40 * 1024)
>> >
>>
>> My understanding is that this size is pretty arbitrary and as I see you
>> use it for hyperv-keyboard.c as well. It may make sense to have a
>> define, something like HYPERV_STD_RINGBUFFER_SIZE.
>
> Yes, the size is pretty arbitrary because it hasn't been important enough
> from a memory consumption or performance standpoint to run experiments
> to see if a smaller value could be used. That said, I would not want to
> link these two devices (keyboard and mouse) by using a shared ring buffer
> size definition. Logically, the ring buffer sizes are independent of each other,
> and using a common #define implies that they are somehow linked.

Ok, makes sense, let's keep them separate.

--
Vitaly