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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>