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

From: Boris Ostrovsky
Date: Tue Jan 19 2016 - 09:31:25 EST

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.

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