1*803eb047SDaniel De Graaf /****************************************************************************** 2*803eb047SDaniel De Graaf * Xen balloon functionality 3*803eb047SDaniel De Graaf */ 4*803eb047SDaniel De Graaf 5*803eb047SDaniel De Graaf #define RETRY_UNLIMITED 0 6*803eb047SDaniel De Graaf 7*803eb047SDaniel De Graaf struct balloon_stats { 8*803eb047SDaniel De Graaf /* We aim for 'current allocation' == 'target allocation'. */ 9*803eb047SDaniel De Graaf unsigned long current_pages; 10*803eb047SDaniel De Graaf unsigned long target_pages; 11*803eb047SDaniel De Graaf /* Number of pages in high- and low-memory balloons. */ 12*803eb047SDaniel De Graaf unsigned long balloon_low; 13*803eb047SDaniel De Graaf unsigned long balloon_high; 14*803eb047SDaniel De Graaf unsigned long schedule_delay; 15*803eb047SDaniel De Graaf unsigned long max_schedule_delay; 16*803eb047SDaniel De Graaf unsigned long retry_count; 17*803eb047SDaniel De Graaf unsigned long max_retry_count; 18*803eb047SDaniel De Graaf }; 19*803eb047SDaniel De Graaf 20*803eb047SDaniel De Graaf extern struct balloon_stats balloon_stats; 21*803eb047SDaniel De Graaf 22*803eb047SDaniel De Graaf void balloon_set_new_target(unsigned long target); 23