Merge branch 'freebsd/current/main' into hardened/current/master

This commit is contained in:
HardenedBSD Sync Services 2024-10-19 18:01:45 -06:00
commit 953a35e679
No known key found for this signature in database
5 changed files with 24 additions and 19 deletions

View File

@ -60,7 +60,7 @@ This is an alias for
.It Dv MEMBARRIER_CMD_GLOBAL_EXPEDITED
Execute a memory barrier on all running threads of all processes registered
with
.Dv MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED
.Dv MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED .
.It Dv MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED
Register the process to receive
.Dv MEMBARRIER_CMD_GLOBAL_EXPEDITED
@ -102,8 +102,9 @@ The
argument is ignored.
.Sh RETURN VALUES
If the
.Dv cmd
is MEMBARRIER_CMD_QUERY
.Fa cmd
is
.Dv MEMBARRIER_CMD_QUERY
a bitmask of supported commands is returned.
Otherwise, on success,
.Nm

View File

@ -27,7 +27,7 @@ vesa_load="NO" # Set this to YES to load the vesa module
bitmap_load="NO" # Set this to YES if you want splash screen!
bitmap_name="splash.bmp" # Set this to the name of the file
bitmap_type="splash_image_data" # and place it on the module_path
splash="/boot/images/freebsd-logo-rev.png" # Set boot_mute="YES" to load it
splash="/boot/images/freebsd-logo-rev.png" # Set boot_mute=YES to load it
### Screen saver modules ###################################
# This is best done in rc.conf

View File

@ -623,8 +623,9 @@ vm_thread_stack_back(vm_offset_t ks, vm_page_t ma[], int npages, int req_class,
m = vm_page_grab(obj, pindex + n,
VM_ALLOC_NOCREAT | VM_ALLOC_WIRED);
if (m == NULL) {
m = vm_page_alloc_domain(obj, pindex + n, domain,
req_class | VM_ALLOC_WIRED);
m = n > 0 ? ma[n - 1] : vm_page_mpred(obj, pindex);
m = vm_page_alloc_domain_after(obj, pindex + n, domain,
req_class | VM_ALLOC_WIRED, m);
}
if (m == NULL)
break;

View File

@ -2013,6 +2013,18 @@ vm_page_rename(vm_page_t m, vm_object_t new_object, vm_pindex_t new_pindex)
return (0);
}
/*
* vm_page_mpred:
*
* Return the greatest page of the object with index <= pindex,
* or NULL, if there is none. Assumes object lock is held.
*/
vm_page_t
vm_page_mpred(vm_object_t object, vm_pindex_t pindex)
{
return (vm_radix_lookup_le(&object->rtree, pindex));
}
/*
* vm_page_alloc:
*
@ -2040,16 +2052,7 @@ vm_page_alloc(vm_object_t object, vm_pindex_t pindex, int req)
{
return (vm_page_alloc_after(object, pindex, req,
vm_radix_lookup_le(&object->rtree, pindex)));
}
vm_page_t
vm_page_alloc_domain(vm_object_t object, vm_pindex_t pindex, int domain,
int req)
{
return (vm_page_alloc_domain_after(object, pindex, domain, req,
vm_radix_lookup_le(&object->rtree, pindex)));
vm_page_mpred(object, pindex)));
}
/*
@ -2390,7 +2393,7 @@ vm_page_alloc_contig_domain(vm_object_t object, vm_pindex_t pindex, int domain,
object));
KASSERT(npages > 0, ("vm_page_alloc_contig: npages is zero"));
mpred = vm_radix_lookup_le(&object->rtree, pindex);
mpred = vm_page_mpred(object, pindex);
KASSERT(mpred == NULL || mpred->pindex != pindex,
("vm_page_alloc_contig: pindex already allocated"));
for (;;) {
@ -5073,7 +5076,7 @@ vm_page_grab_pages(vm_object_t object, vm_pindex_t pindex, int allocflags,
pflags = vm_page_grab_pflags(allocflags);
i = 0;
retrylookup:
m = vm_radix_lookup_le(&object->rtree, pindex + i);
m = vm_page_mpred(object, pindex + i);
if (m == NULL || m->pindex != pindex + i) {
mpred = m;
m = NULL;

View File

@ -606,8 +606,8 @@ void vm_page_free_zero(vm_page_t m);
void vm_page_activate (vm_page_t);
void vm_page_advise(vm_page_t m, int advice);
vm_page_t vm_page_mpred(vm_object_t, vm_pindex_t);
vm_page_t vm_page_alloc(vm_object_t, vm_pindex_t, int);
vm_page_t vm_page_alloc_domain(vm_object_t, vm_pindex_t, int, int);
vm_page_t vm_page_alloc_after(vm_object_t, vm_pindex_t, int, vm_page_t);
vm_page_t vm_page_alloc_domain_after(vm_object_t, vm_pindex_t, int, int,
vm_page_t);