Re: [v5][PATCH 5/6] mm: vmscan: batch shrink_page_list() lockingoperations

From: Dave Hansen
Date: Wed Jun 05 2013 - 10:24:43 EST


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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/