1 /****************************************************************************** 2 * Xen balloon functionality 3 */ 4 5 #define RETRY_UNLIMITED 0 6 7 struct balloon_stats { 8 /* We aim for 'current allocation' == 'target allocation'. */ 9 unsigned long current_pages; 10 unsigned long target_pages; 11 /* Number of pages in high- and low-memory balloons. */ 12 unsigned long balloon_low; 13 unsigned long balloon_high; 14 unsigned long schedule_delay; 15 unsigned long max_schedule_delay; 16 unsigned long retry_count; 17 unsigned long max_retry_count; 18 }; 19 20 extern struct balloon_stats balloon_stats; 21 22 void balloon_set_new_target(unsigned long target); 23 24 int alloc_xenballooned_pages(int nr_pages, struct page** pages); 25 void free_xenballooned_pages(int nr_pages, struct page** pages); 26 27 struct sys_device; 28 #ifdef CONFIG_XEN_SELFBALLOONING 29 extern int register_xen_selfballooning(struct sys_device *sysdev); 30 #else 31 static inline int register_xen_selfballooning(struct sys_device *sysdev) 32 { 33 return -ENOSYS; 34 } 35 #endif 36