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 page *get_balloon_scratch_page(void);
  33void put_balloon_scratch_page(void);
  34
  35struct device;
  36#ifdef CONFIG_XEN_SELFBALLOONING
  37extern int register_xen_selfballooning(struct device *dev);
  38#else
  39static inline int register_xen_selfballooning(struct device *dev)
  40{
  41        return -ENOSYS;
  42}
  43#endif
  44