Re: [PATCHv2, RFC 00/30] Transparent huge page cache

From: Simon Jeons
Date: Mon Mar 18 2013 - 07:29:37 EST


Hi Kirill,
On 03/18/2013 07:19 PM, Kirill A. Shutemov wrote:
Simon Jeons wrote:
On 03/18/2013 12:03 PM, Simon Jeons wrote:
Hi Kirill,
On 03/15/2013 01:50 AM, Kirill A. Shutemov wrote:
From: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>

Here's the second version of the patchset.

The intend of the work is get code ready to enable transparent huge page
cache for the most simple fs -- ramfs.

We have read()/write()/mmap() functionality now. Still plenty work
ahead.
One offline question.

Why set PG_mlocked to page_tail which be splited in function
__split_huge_page_refcount?
Not set, but copied from head page. Head page represents up-to-date sate
of compound page, we need to copy it to all tail pages on split.

I always see up-to-date state, could you conclude to me which state can be treated as up-to-date? :-)

Also why can't find where _PAGE_SPLITTING and _PAGE_PSE flags are
cleared in split_huge_page path?
The pmd is invalidated and replaced with reference to page table at the end
of __split_huge_page_map.

Since pmd is populated by page table and new flag why need invalidated(clear present flag) before it?

Another offline question:
Why don't clear tail page PG_tail flag in function
__split_huge_page_refcount?
We do:

page_tail->flags &= ~PAGE_FLAGS_CHECK_AT_PREP | __PG_HWPOISON;


Got it.
--
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/