[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
> From: Daniel Kiper [mailto:dkiper@xxxxxxxxxxxx] > Subject: Re: [Xen-devel] [PATCH] [linux-2.6.39.x for xen] tmem: > self-ballooning and frontswap- > selfshrinking > goal_pages = percpu_counter_read_positive(&vm_committed_as) + !!! (Ian cc'ed) Thanks for catching this! I had thought vm_committed_as was not exported (and may not have been when I first coded this). Now that it is, the "core kernel" change that was part of the changeset is no longer required, thus removing the dependency on core kernel/mm review! Yay! > 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); > > +} Thanks for the review Daniel! Do these changes make it compatible with your hotplug work? In your second correction (goal_pages), is it possible that balloon_stats.current_pages is less then totalram_pages? If so, then goal_pages is less than vm_committed_as, which I don't think is ever intended. Thanks, Dan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |