From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: maximum memory size allocated by _xmalloc Date: Thu, 12 Jul 2012 10:07:42 +0100 Message-ID: <4FFE93DE.5020608@citrix.com> References: <008601cd5f45$6eff7530$4cfe5f90$@core.kaist.ac.kr> <4FFD4C06.7090403@citrix.com> <001301cd5fc1$818953c0$849bfb40$@core.kaist.ac.kr> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <001301cd5fc1$818953c0$849bfb40$@core.kaist.ac.kr> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Chulmin Kim Cc: "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org On 12/07/12 01:01, Chulmin Kim wrote: >> On 11/07/12 10:13, Chulmin Kim wrote: >>> Hi all, >>> >>> I'm currently inserting my own code to adjust the several existing >>> memory ballooning works. >>> >>> To accomplish it, I manage some kind of statistics in Xen memory area. >>> >>> Using _xmalloc, I've allocated certain size of memory chunk for the >>> data structure. ( I varied it from 10kb to 24 MB.) >>> >>> When the size is equal to 24 MB, xen won't boot anymore. (stuck >>> during the xmalloc, according to my debugging. _xmalloc returns NULL.) >>> There was no problem when the size is below 12MB. >>> >>> Is there any limitation such as max memory size for _xmalloc? >>> >>> I suspected xen heap size, but, it is no longer adjustable. Right? >>> >>> I hope somebody can give me a clue. Thanks. >> _xmalloc will first try to use the size pools for allocation, and failing > that, try to >> allocate full pages. >> >> As it is returning NULL, this probably means you no longer have 24MB of > free >> contiguous RAM to allocate. >> >> ~Andrew >> > Thanks for the reply, Andrew. > > I have to check the contiguity. > > If it is the cause of the problem, then, how can I detour this problem? > > Other xen part calling xmalloc_array does not handle this problem as far as > I know. (only consider it as an error) > > Should I split the data structure into two or more chunks? Personally, I would think that 24M is a stupidly large amount to be trying to allocate with xmalloc and friends. If you are using that much memory, it might be worth using alloc_xenheap_pages() and working with full pages instead. Why do you need so much space for memory statistics? ~Andrew -- Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer T: +44 (0)1223 225 900, http://www.citrix.com