[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |