On Mon, Jul 02, 2012 at 08:36:02AM +0900, Minchan Kim wrote: > On 06/30/2012 10:34 AM, Rafael Aquini wrote: > > >> void isolate_page_from_balloonlist(struct page* page) > >> > { > >> > page->mapping->a_ops->invalidatepage(page, 0); > >> > } > >> > > >> > if (is_balloon_page(page) && (page_count(page) == 2)) { > >> > isolate_page_from_balloonlist(page); > >> > } > >> > > > Humm, my feelings on your approach here: just an unecessary indirection that > > doesn't bring the desired code readability improvement. > > If the header comment statement on balloon_mapping->a_ops is not clear enough > > on those methods usage for ballooned pages: > > > > ..... > > /* > > * Balloon pages special page->mapping. > > * users must properly allocate and initialize an instance of balloon_mapping, > > * and set it as the page->mapping for balloon enlisted page instances. > > * > > * address_space_operations necessary methods for ballooned pages: > > * .migratepage - used to perform balloon's page migration (as is) > > * .invalidatepage - used to isolate a page from balloon's page list > > * .freepage - used to reinsert an isolated page to balloon's page list > > */ > > struct address_space *balloon_mapping; > > EXPORT_SYMBOL_GPL(balloon_mapping); > > ..... > > > > I can add an extra commentary, to recollect folks about that usage, next to the > > points where those callbacks are used at isolate_balloon_page() & > > putback_balloon_page(). What do you think? > > > > > > > I am not strongly against you. > It trivial nitpick must not prevent your great work. :) > > Thanks! > > Nah, I'm the one who should be thanking everyone else here. :) After a second thought I decided to follow your suggestion on this one as well. Soon, I'll be posting the re-spin Thanks Minchan! Rafael _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization