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.
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> > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel-- Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer T: +44 (0)1223 225 900, http://www.citrix.com
> 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 failingthat, try to> allocate full pages. > > As it is returning NULL, this probably means you no longer have 24MB offree> 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?> > > > > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@lists.xen.org > > http://lists.xen.org/xen-devel > > -- > Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer > T: +44 (0)1223 225 900, http://www.citrix.com > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel
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
> 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? > > ~AndrewOK. I will try 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
> 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? > > ~AndrewOK. 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
Though the issue has been written one month ago, I post my own experience on it. Unfortunately, it was not the matter of the requested mem size or xmalloc function. The problem was due to the free memory scrubbing. I set my xmalloc code in the middle of the bootup code of xen after the free memory scrubbing function. But the placement was wrong. After i relocated the code line before the scrubbing function, it worked perfectly. Thanks for your help! 2012-07-11 오후 6:13, Chulmin Kim 쓴 글:> 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. > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel