Page MenuHomeFreeBSD

D20502.id58192.diff
No OneTemporary

D20502.id58192.diff

Index: sys/compat/linuxkpi/common/src/linux_page.c
===================================================================
--- sys/compat/linuxkpi/common/src/linux_page.c
+++ sys/compat/linuxkpi/common/src/linux_page.c
@@ -91,9 +91,10 @@
if (PMAP_HAS_DMAP) {
unsigned long npages = 1UL << order;
- int req = (flags & M_ZERO) ? (VM_ALLOC_ZERO | VM_ALLOC_NOOBJ |
- VM_ALLOC_NORMAL) : (VM_ALLOC_NOOBJ | VM_ALLOC_NORMAL);
+ int req = VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | VM_ALLOC_NORMAL;
+ if ((flags & M_ZERO) != 0)
+ req |= VM_ALLOC_ZERO;
if (order == 0 && (flags & GFP_DMA32) == 0) {
page = vm_page_alloc(NULL, 0, req);
if (page == NULL)
@@ -154,7 +155,8 @@
vm_page_t pgo = page + x;
vm_page_lock(pgo);
- vm_page_free(pgo);
+ if (vm_page_unwire_noq(pgo))
+ vm_page_free(pgo);
vm_page_unlock(pgo);
}
} else {

File Metadata

Mime Type
text/plain
Expires
Wed, Oct 22, 11:46 AM (2 m, 59 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24055585
Default Alt Text
D20502.id58192.diff (856 B)

Event Timeline