|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] Problem re-alloc'ing after freeing domheap pages
 
I am trying (in Xen) to repeatedly allocate and free
domheap pages belonging to a pv domain.  However,
once a page is freed, it doesn't seem to be
allocatable again.  In pseudo-code:
free_up_some_pages_using_ballooning()
count = 0;
while (1) {
  if ((p = alloc_domheap_pages(d,0,0)) == NULL)
    break;
  /* save p someplace */
  count++;
}
for all saved p's {
  free_domheap_pages(p,0);
}
while (count--) {
  if ((p = alloc_domheap_pages(d,0,0)) == NULL)
    FAIL!!
}
This fails for all alloc's in the second while loop.
Is there something else I need to do when I allocate
or free a non-anonymous domheap page?  (Note this seems
to work fine for anonymous domheap pages.)
Do I maybe need to also do list_del(&p->list)?  Or
get_page()/put_page() or something like that?
Thanks,
Dan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] Problem re-alloc'ing after freeing domheap pages,
Dan Magenheimer <=
 
 
 |  
  
 | 
    | 
  
  
    |   | 
    |