[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xen/pvh linux: Use ballooning to allocate grant table pages



On Fri, Feb 08, 2013 at 03:50:43PM -0800, Mukesh Rathor wrote:
> On Thu, 7 Feb 2013 13:54:25 +0300
> Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> 
> > Hello Mukesh Rathor,
> > 
> > The patch 40f633eb0def: "xen/pvh linux: Use ballooning to allocate
> > grant table pages" from Jan 31, 2013, leads to the following Sparse
> > warning: "drivers/xen/grant-table.c:1095:28: error: bad constant
> >     expression"
> > 
> > drivers/xen/grant-table.c
> >   1092  static int xlated_setup_gnttab_pages(int numpages, void
> > **addr) 1093  {
> >   1094          int i, rc;
> >   1095          unsigned long pfns[numpages];
> >   1096          struct page *pages[numpages];
> >                                    ^^^^^^^^
> > Because the kernel uses an 8k stack if this is over 500 it will cause
> > a kernel crash.  It will crash before we reach 500 actually.  It looks
> > like typical values for this are around 4 so we're probably safe, but
> > it's still a bit nasty.
> > 
> >   1097  
> >   1098          rc = alloc_xenballooned_pages(numpages, pages, 0);
> >   1099          if (rc != 0) {
> >   1100                  pr_warn("%s Could not balloon alloc %d pfns
> > rc:%d\n", __func__,
> > 
> > regards,
> > dan carpenter
> 
> Hi Dan,
> 
> Yeah, I know. Currently, there is a hard max on num of grant pages to
> 32, but on average are lot less. So I think it should be OK. Konrad, do
> you still want me to change it to kmalloc?

If there is a hard limit then it should be ok.

The place where dynamically allocated arrays are forbiden is inside
loops.  On some arches the stack memory isn't freed until the end of
the function.

regards,
dan carpenter

> 
> Thanks
> Mukesh

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.