mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
Revert the first part of revision 1.114 and modify the second part. On
architectures implementing uma_small_alloc() pages do not necessarily belong to the kmem object.
This commit is contained in:
parent
35da865ad7
commit
b70458aec3
1 changed files with 16 additions and 3 deletions
|
|
@ -754,9 +754,15 @@ finished:
|
|||
|
||||
if ((keg->uk_flags & UMA_ZONE_MALLOC) ||
|
||||
(keg->uk_flags & UMA_ZONE_REFCNT)) {
|
||||
vm_object_t obj;
|
||||
|
||||
if (flags & UMA_SLAB_KMEM)
|
||||
obj = kmem_object;
|
||||
else
|
||||
obj = NULL;
|
||||
for (i = 0; i < keg->uk_ppera; i++)
|
||||
vsetobj((vm_offset_t)mem + (i * PAGE_SIZE),
|
||||
kmem_object);
|
||||
obj);
|
||||
}
|
||||
if (keg->uk_flags & UMA_ZONE_OFFPAGE)
|
||||
uma_zfree_internal(keg->uk_slabzone, slab, NULL,
|
||||
|
|
@ -866,10 +872,17 @@ slab_zalloc(uma_zone_t zone, int wait)
|
|||
keg->uk_size);
|
||||
}
|
||||
if ((keg->uk_flags & UMA_ZONE_MALLOC) ||
|
||||
(keg->uk_flags & UMA_ZONE_REFCNT))
|
||||
(keg->uk_flags & UMA_ZONE_REFCNT)) {
|
||||
vm_object_t obj;
|
||||
|
||||
if (flags & UMA_SLAB_KMEM)
|
||||
obj = kmem_object;
|
||||
else
|
||||
obj = NULL;
|
||||
for (i = 0; i < keg->uk_ppera; i++)
|
||||
vsetobj((vm_offset_t)mem +
|
||||
(i * PAGE_SIZE), kmem_object);
|
||||
(i * PAGE_SIZE), obj);
|
||||
}
|
||||
if (keg->uk_flags & UMA_ZONE_OFFPAGE)
|
||||
uma_zfree_internal(keg->uk_slabzone, slab,
|
||||
NULL, SKIP_NONE);
|
||||
|
|
|
|||
Loading…
Reference in a new issue