Re: [Xen-devel] [PATCH] xen/gntdev: Don't allocate struct gntdev_copy_batch on stack

From: David Vrabel
Date: Tue Jan 19 2016 - 09:31:17 EST


On 19/01/16 14:26, Boris Ostrovsky wrote:
> On 01/18/2016 06:11 AM, David Vrabel wrote:
>> On 15/01/16 19:43, Boris Ostrovsky wrote:
>>> struct gntdev_copy_batch is over 1300 bytes in size, we shouldn't
>>> put it on stack.
>>>
>>> Some compilers (e.g. 5.2.1) complain:
>>> drivers/xen/gntdev.c: In function âgntdev_ioctl_grant_copy.isra.5â:
>>> drivers/xen/gntdev.c:949:1: warning: the frame size of 1416 bytes
>>> is larger than 1024 bytes [-Wframe-larger-than=]
>> I thought I'd already reduced the size of this enough (from a batch size
>> of 32 to 24) but this obviously isn't enough for 64-bit platforms.
>>
>> In the absence of any performance data on the best approach I would
>> prefer just reducing the batch size to 16.
>
> That would still leave us with over 900 bytes on the stack which I think
> is rather high.

The stack depth to here isn't very deep, so I think even the ~1500 byte
frame was fine.

> Do we expect this ioctl to be on some sort of a hot path?

Yes.

David