Messages in this thread | | | Date | Tue, 12 Jun 2012 07:49:34 +0900 | From | Minchan Kim <> | Subject | Re: [PATCH] mm: do not use page_count without a page pin |
| |
On 06/11/2012 11:41 PM, Andrea Arcangeli wrote:
> Hi Minchan, > > On Mon, Jun 11, 2012 at 10:30:43PM +0900, Minchan Kim wrote: >> AFAIUC, you mean we have to increase reference count of head page? >> If so, it's not in __count_immobile_pages because it is already race-likely function >> so it shouldn't be critical although race happens. > > I meant, shouldn't we take into account the full size? If it's in the > lru the whole thing can be moved away. > > if (!PageLRU(page)) { > nr_pages = hpage_nr_pages(page); > barrier();
Could you explain why we need barrier?
> found += nr_pages; > iter += nr_pages-1; > } >
Thanks for the explain.
For the normal pages, the logic accounts it as "non-movable pages" so for the consistency, it seems you're right. But let's think about a bit.
If THP page isn't LRU and it's still PageTransHuge, I think it's rather rare and although it happens, it means migration/reclaimer is about to split or isolate/putback so it ends up making THP page movable pages.
IMHO, it would be better to account it by movable pages. What do you think about it?
Thanks. -- Kind regards, Minchan Kim
| |