xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Chulmin Kim" <cmkim@core.kaist.ac.kr>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xen.org
Subject: Re: maximum memory size allocated by _xmalloc
Date: Thu, 12 Jul 2012 18:28:12 +0900	[thread overview]
Message-ID: <003601cd6010$a8bd64a0$fa382de0$@core.kaist.ac.kr> (raw)


> 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

OK. I will try alloc_xenheap_pages(). 
But, isn't xmalloc (and its friends) already using alloc_xenheap_pages()? 



I am following up a research work (Dynamic Memory Balncing ~~), and it
maintains  a table which has an entry per page in the machine. 

My machine has large memory (different from that in the research work), so
it needs that amount of memory. 


Thanks!



> 
> --
> Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
> T: +44 (0)1223 225 900, http://www.citrix.com

             reply	other threads:[~2012-07-12  9:28 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-12  9:28 Chulmin Kim [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-07-11  9:13 maximum memory size allocated by _xmalloc Chulmin Kim
2012-07-11  9:48 ` Andrew Cooper
2012-07-12  0:01   ` Chulmin Kim
2012-07-12  9:07     ` Andrew Cooper
2012-08-13  8:08 ` Chulmin Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='003601cd6010$a8bd64a0$fa382de0$@core.kaist.ac.kr' \
    --to=cmkim@core.kaist.ac.kr \
    --cc=andrew.cooper3@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).