Messages in this thread | | | Date | Thu, 15 Nov 2012 00:14:17 -0800 (PST) | From | David Rientjes <> | Subject | Re: [PATCH v5 03/11] thp: copy_huge_pmd(): copy huge zero page |
| |
On Thu, 15 Nov 2012, Kirill A. Shutemov wrote:
> > > @@ -778,6 +790,11 @@ int copy_huge_pmd(struct mm_struct *dst_mm, struct mm_struct *src_mm, > > > pte_free(dst_mm, pgtable); > > > goto out_unlock; > > > } > > > + if (is_huge_zero_pmd(pmd)) { > > > + set_huge_zero_page(pgtable, dst_mm, vma, addr, dst_pmd); > > > + ret = 0; > > > + goto out_unlock; > > > + } > > > > You said in the introduction message in this series that you still allow > > splitting of the pmd, so why no check for pmd_trans_splitting() before > > this? > > pmd_trans_splitting() returns true only for pmd which points to a page > under spliiting. It never happens with huge zero page. > We only split a pmd to a page table without touching the page. > mm->page_table_lock is enough to protect against that. >
Comment in the code?
| |