On Thu, Aug 09, 2012 at 12:12:19PM -0300, Rafael Aquini wrote: > On Thu, Aug 09, 2012 at 11:48:36AM -0300, Rafael Aquini wrote: > > Sure! > > what do you think of: > > > > +/* putback_lru_page() counterpart for a ballooned page */ > > +void putback_balloon_page(struct page *page) > > +{ > > + lock_page(page); > > + if (!WARN_ON(!movable_balloon_page(page))) { > > + __putback_balloon_page(page); > > + put_page(page); > > + } > > + unlock_page(page); > > +} > > > Or perhaps > > +/* putback_lru_page() counterpart for a ballooned page */ > +void putback_balloon_page(struct page *page) > +{ > + if (!WARN_ON(!movable_balloon_page(page))) { > + lock_page(page); > + __putback_balloon_page(page); > + put_page(page); > + unlock_page(page); > + } > +} That should be fine. I find the WARN_ON construct odd to read but only because it's unusual. It is more typical to see something like if (WARN_ON(!movable_balooon_page(page))) return; lock_page(page); __putback_balloon_page(page); put_page(page); unlock_page(page); but either works. Do not forget to update the caller of course. Thanks. -- Mel Gorman SUSE Labs _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization