Re: [PATCH] __isolate_lru_page: skip unneeded mode check

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

 



On Thu, Apr 1, 2010 at 9:39 AM, KOSAKI Motohiro
<kosaki.motohiro@xxxxxxxxxxxxxx> wrote:
>> >> @@ -862,15 +862,10 @@ int __isolate_lru_page(struct page *page, int mode,
>> >> int file)
>> >>        if (!PageLRU(page))
>> >>                return ret;
>> >>
>> >> -       /*
>> >> -        * When checking the active state, we need to be sure we are
>> >> -        * dealing with comparible boolean values.  Take the logical not
>> >> -        * of each.
>> >> -        */
>> >> -       if (mode != ISOLATE_BOTH && (!PageActive(page) != !mode))
>> >> +       if (mode != ISOLATE_BOTH && (PageActive(page) != mode))
>> >>                return ret;
>> >
>> > no. please read the comment.
>> >
>>
>> Hm,. I have read it, but still miss it :-).
>> PageActive(page) will return an int 0 or 1, mode is also int 0 or 1(
>> already != ISOLATE_BOTH).
>> There are comparible and why must to be sure to boolean values?
>
> hm, ok. you are right.
> please resend this part as individual patch.
>

I have resent this part :-).

>
>> >> -       if (mode != ISOLATE_BOTH && page_is_file_cache(page) != file)
>> >> +       if (page_is_file_cache(page) != file)
>> >>                return ret;
>> >
>> > no. please consider lumpy reclaim.
>>
>> During lumpy reclaim mode is ISOLATE_BOTH, that case we don't check
>> page_is_file_cache() ?  Would you please explain it a little more ,i
>> am still unclear about it.
>> Thanks a lot.
>
> ISOLATE_BOTH is for to help allocate high order memory. then,
> it ignore both PageActive() and page_is_file_cache(). otherwise,
> we fail to allocate high order memory.
>

I got it, thanks.
And I have resent a patch collected ISOLATE_BOTH check.

-- 
Regards,
--Bob

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href

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