|
@@ -371,7 +371,6 @@ void mm::append_page(pd_t pd, const page& pg, uint32_t attr, bool priv)
|
|
|
assert(pt);
|
|
|
pte = *pt;
|
|
|
}
|
|
|
- memory_fence;
|
|
|
|
|
|
// map the page in the page table
|
|
|
int pti = v_to_pti(addr);
|
|
@@ -384,7 +383,6 @@ void mm::append_page(pd_t pd, const page& pg, uint32_t attr, bool priv)
|
|
|
false,
|
|
|
priv);
|
|
|
|
|
|
- memory_fence;
|
|
|
kernel::pfree(pt_pg);
|
|
|
|
|
|
if (unlikely((attr & PAGE_COW) && !(pg.attr & PAGE_COW))) {
|
|
@@ -398,9 +396,7 @@ void mm::append_page(pd_t pd, const page& pg, uint32_t attr, bool priv)
|
|
|
invalidate_tlb(addr);
|
|
|
}
|
|
|
|
|
|
- memory_fence;
|
|
|
++*pg.ref_count;
|
|
|
- memory_fence;
|
|
|
|
|
|
this->pgs->emplace_back(pg);
|
|
|
auto& emplaced = this->pgs->back();
|