Page MenuHomeFreeBSD

D18562.diff
No OneTemporary

D18562.diff

Index: head/sys/riscv/riscv/pmap.c
===================================================================
--- head/sys/riscv/riscv/pmap.c
+++ head/sys/riscv/riscv/pmap.c
@@ -2721,9 +2721,10 @@
l3 = pmap_l2_to_l3(l2, pv->pv_va);
tl3 = pmap_load(l3);
-/*
- * We cannot remove wired pages from a process' mapping at this time
- */
+ /*
+ * We cannot remove wired pages from a
+ * process' mapping at this time.
+ */
if (tl3 & PTE_SW_WIRED) {
allfree = 0;
continue;
@@ -2742,7 +2743,6 @@
(uintmax_t)tl3));
pmap_load_clear(l3);
- pmap_invalidate_page(pmap, pv->pv_va);
/*
* Update the vm_page_t clean/reference bits.
@@ -2771,9 +2771,9 @@
free_pv_chunk(pc);
}
}
- pmap_invalidate_all(pmap);
if (lock != NULL)
rw_wunlock(lock);
+ pmap_invalidate_all(pmap);
rw_runlock(&pvh_global_lock);
PMAP_UNLOCK(pmap);
vm_page_free_pages_toq(&free, false);

File Metadata

Mime Type
text/plain
Expires
Mon, Feb 23, 9:31 AM (8 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28954617
Default Alt Text
D18562.diff (931 B)

Event Timeline