Messages in this thread | | | Date | Wed, 05 Jun 2013 07:24:36 -0700 | From | Dave Hansen <> | Subject | Re: [v5][PATCH 5/6] mm: vmscan: batch shrink_page_list() locking operations |
| |
On 06/05/2013 12:28 AM, Hillf Danton wrote: >>>> >> > + mapping = page_mapping(lru_to_page(remove_list)); >>>> >> > + spin_lock_irq(&mapping->tree_lock); >>>> >> > + while (!list_empty(remove_list)) { >>>> >> > + page = lru_to_page(remove_list); >>>> >> > + BUG_ON(!PageLocked(page)); >>>> >> > + BUG_ON(page_mapping(page) != mapping); >>>> >> > + list_del(&page->lru); >>>> >> > + >>>> >> > + if (!__remove_mapping(mapping, page)) { >>>> >> > + unlock_page(page); >>>> >> > + list_add(&page->lru, ret_pages); >>>> >> > + continue; >>>> >> > + } >>>> >> > + list_add(&page->lru, &need_free_mapping); >>>> >> > + } >>>> >> > + spin_unlock_irq(&mapping->tree_lock); >>>> >> > + >>> >> While reclaiming pages, can we open ears upon IRQ controller, >>> >> if the page list length is over 10, or even 20? >> > >> > At the moment, it implicitly could be bounded by SWAP_CLUSTER_MAX and > Could we reclaim a THP currently?
No, it would be split first.
| |