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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/03/2013 10:07 PM, Minchan Kim wrote:
>>> > > +       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
> it's the value used by isolate_migratepages_ranges to enable IRQ.
> I have no idea it's proper value to give a chace to IRQ but at least,
> Dave's code doesn't break the rule.
> If we need a tune for that, it could be a another patch to investigate

I also wouldn't exactly call this "reclaiming pages".   As Minchan
mentions, this is already bounded and it's a relatively cheap set of
operations.  *WAY* cheaper than actually reclaiming a page.

Honestly, this whole patch series is about trading latency for increased
bandwidth reclaiming pages.

--
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>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]