Messages in this thread | | | Date | Mon, 18 Mar 2013 19:29:20 +0800 | From | Simon Jeons <> | Subject | Re: [PATCHv2, RFC 00/30] Transparent huge page cache |
| |
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@linux.intel.com> >>>> >>>> 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.
| |