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! -- Kind regards, Minchan Kim -- 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>