[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] [linux-2.6.39.x for xen] tmem: self-ballooning and frontswap-selfshrinking



On Mon, Jun 06, 2011 at 03:12:28PM -0700, Dan Magenheimer wrote:

[...]

> +static void selfballoon_process(struct work_struct *work)
> +{
> +     extern unsigned long vm_get_committed_as(void);
> +     unsigned long cur_pages, goal_pages, tgt_pages;
> +     int reset_timer = 0;
> +
> +     if (balloon_stats.selfballooning_enabled) {
> +             tgt_pages = cur_pages = totalram_pages;

tgt_pages = cur_pages = balloon_stats.current_pages;

> +             goal_pages = vm_get_committed_as();

goal_pages = percpu_counter_read_positive(&vm_committed_as) +
                balloon_stats.current_pages - totalram_pages;

> +             if (cur_pages > goal_pages)
> +                     tgt_pages = cur_pages -
> +                             (cur_pages - goal_pages) / 
> balloon_stats.selfballoon_downhysteresis;
> +             else if (cur_pages < goal_pages)
> +                     tgt_pages = cur_pages +
> +                             (goal_pages - cur_pages) / 
> balloon_stats.selfballoon_uphysteresis;
> +             balloon_set_new_target(tgt_pages);
> +             reset_timer = 1;
> +     }
> +     if (frontswap_selfshrinking_enabled) {
> +             frontswap_selfshrink();
> +             reset_timer = 1;
> +     }
> +     if (reset_timer)
> +             schedule_delayed_work(&selfballoon_worker,
> +                     balloon_stats.selfballoon_interval * HZ);
> +}

Daniel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.