linux/include/xen/balloon.h
<<
>>
Prefs
   1/******************************************************************************
   2 * Xen balloon functionality
   3 */
   4
   5#define RETRY_UNLIMITED 0
   6
   7struct 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#ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG
  19        unsigned long hotplug_pages;
  20        unsigned long balloon_hotplug;
  21#endif
  22};
  23
  24extern struct balloon_stats balloon_stats;
  25
  26void balloon_set_new_target(unsigned long target);
  27
  28int alloc_xenballooned_pages(int nr_pages, struct page **pages,
  29                bool highmem);
  30void free_xenballooned_pages(int nr_pages, struct page **pages);
  31
  32struct device;
  33#ifdef CONFIG_XEN_SELFBALLOONING
  34extern int register_xen_selfballooning(struct device *dev);
  35#else
  36static inline int register_xen_selfballooning(struct device *dev)
  37{
  38        return -ENOSYS;
  39}
  40#endif
  41
  42#ifdef CONFIG_XEN_BALLOON
  43void xen_balloon_init(void);
  44#else
  45static inline void xen_balloon_init(void)
  46{
  47}
  48#endif
  49