Re: [PATCH v2 3/3] mm/compaction: speed up pageblock_pfn_to_page() when zone is contiguous

From: Joonsoo Kim
Date: Mon Feb 15 2016 - 09:24:27 EST


2016-02-15 19:06 GMT+09:00 Xishi Qiu <qiuxishi@xxxxxxxxxx>:
> On 2016/2/15 10:42, Joonsoo Kim wrote:
>
>>>
>>> I have a question about the zone continuity. because hole exists at
>>> arbitrary position in a page block. Therefore, only pageblock_pf_to_page()
>>> is insufficiency, whether pageblock aligned pfn or not , the pfn_valid_within()
>>> is necessary.
>>>
>>> eh: 120M-122M is a range of page block, but the 120.5M-121.5M is holes, only by
>>> pageblock_pfn_to_page() to conclude in the result is inaccurate
>>
>> contiguous may be misleading word. It doesn't represent there are no
>> hole. It only represents that all pageblocks within zone span belong to
>> corresponding zone and validity of all pageblock aligned pfn is
>> checked. So, if it is set, we can safely call pfn_to_page() for pageblock
>> aligned pfn in that zone without checking pfn_valid().
>>
>> Thanks.
>>
>
> Hi Joonsoo,
>
> So "contiguous" here only means that struct page is exist, and don't care whether
> the memory is exist, right?

Yes.

Thanks.