|
@@ -2205,10 +2205,9 @@ static void __split_huge_pmd_locked(struct vm_area_struct *vma, pmd_t *pmd,
|
|
* for the same virtual address to be loaded simultaneously. So instead
|
|
* for the same virtual address to be loaded simultaneously. So instead
|
|
* of doing "pmd_populate(); flush_pmd_tlb_range();" we first mark the
|
|
* of doing "pmd_populate(); flush_pmd_tlb_range();" we first mark the
|
|
* current pmd notpresent (atomically because here the pmd_trans_huge
|
|
* current pmd notpresent (atomically because here the pmd_trans_huge
|
|
- * and pmd_trans_splitting must remain set at all times on the pmd
|
|
|
|
- * until the split is complete for this pmd), then we flush the SMP TLB
|
|
|
|
- * and finally we write the non-huge version of the pmd entry with
|
|
|
|
- * pmd_populate.
|
|
|
|
|
|
+ * must remain set at all times on the pmd until the split is complete
|
|
|
|
+ * for this pmd), then we flush the SMP TLB and finally we write the
|
|
|
|
+ * non-huge version of the pmd entry with pmd_populate.
|
|
*/
|
|
*/
|
|
pmdp_invalidate(vma, haddr, pmd);
|
|
pmdp_invalidate(vma, haddr, pmd);
|
|
pmd_populate(mm, pmd, pgtable);
|
|
pmd_populate(mm, pmd, pgtable);
|