xen/balloon: Clarify credit calculation
Move credit calculation to current_target() and rename it to current_credit(). Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Signed-off-by: Daniel Kiper <dkiper@net-space.pl> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
parent
4dfe22f5f2
commit
83be7e52d4
@ -193,7 +193,7 @@ static enum bp_state update_schedule(enum bp_state state)
|
|||||||
return BP_EAGAIN;
|
return BP_EAGAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long current_target(void)
|
static long current_credit(void)
|
||||||
{
|
{
|
||||||
unsigned long target = balloon_stats.target_pages;
|
unsigned long target = balloon_stats.target_pages;
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ static unsigned long current_target(void)
|
|||||||
balloon_stats.balloon_low +
|
balloon_stats.balloon_low +
|
||||||
balloon_stats.balloon_high);
|
balloon_stats.balloon_high);
|
||||||
|
|
||||||
return target;
|
return target - balloon_stats.current_pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
static enum bp_state increase_reservation(unsigned long nr_pages)
|
static enum bp_state increase_reservation(unsigned long nr_pages)
|
||||||
@ -337,7 +337,7 @@ static void balloon_process(struct work_struct *work)
|
|||||||
mutex_lock(&balloon_mutex);
|
mutex_lock(&balloon_mutex);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
credit = current_target() - balloon_stats.current_pages;
|
credit = current_credit();
|
||||||
|
|
||||||
if (credit > 0)
|
if (credit > 0)
|
||||||
state = increase_reservation(credit);
|
state = increase_reservation(credit);
|
||||||
@ -420,7 +420,7 @@ void free_xenballooned_pages(int nr_pages, struct page** pages)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* The balloon may be too large now. Shrink it if needed. */
|
/* The balloon may be too large now. Shrink it if needed. */
|
||||||
if (current_target() != balloon_stats.current_pages)
|
if (current_credit())
|
||||||
schedule_delayed_work(&balloon_worker, 0);
|
schedule_delayed_work(&balloon_worker, 0);
|
||||||
|
|
||||||
mutex_unlock(&balloon_mutex);
|
mutex_unlock(&balloon_mutex);
|
||||||
|
Loading…
Reference in New Issue
Block a user