Author: jeff
Date: Sat Jun 23 08:10:09 2018
New Revision: 335579
URL: https://svnweb.freebsd.org/changeset/base/335579
Log:
Sort uma_zone fields according to 64 byte cache line with adjacent line
prefetch on 64bit architectures. Prior to this, two lines were needed
for the fast path and eac
On Sat, 23 Jun 2018, Jeff Roberson wrote:
Author: jeff
Date: Sat Jun 23 08:10:09 2018
New Revision: 335579
URL: https://svnweb.freebsd.org/changeset/base/335579
Log:
Sort uma_zone fields according to 64 byte cache line with adjacent line
prefetch on 64bit architectures. Prior to this, two
Author: jeff
Date: Tue Nov 28 23:18:35 2017
New Revision: 326346
URL: https://svnweb.freebsd.org/changeset/base/326346
Log:
Move domain iterators into the page layer where domain selection should take
place. This makes the majority of the phys layer explicitly domain specific.
Reviewed b
Author: jeff
Date: Tue Nov 28 23:40:54 2017
New Revision: 326347
URL: https://svnweb.freebsd.org/changeset/base/326347
Log:
Eliminate kmem_arena and kmem_object in preparation for further NUMA commits.
The arena argument to kmem_*() is now only used in an assert. A follow-up
commit will
Author: jeff
Date: Tue Jan 2 04:35:56 2018
New Revision: 327485
URL: https://svnweb.freebsd.org/changeset/base/327485
Log:
Fix arc after r326347 broke various memory limit queries. Use UMA features
rather than kmem arena size to determine available memory.
Initialize the UMA limit to LO
Author: jeff
Date: Fri Jan 12 22:48:23 2018
New Revision: 327895
URL: https://svnweb.freebsd.org/changeset/base/327895
Log:
Implement 'domainset', a cpuset based NUMA policy mechanism. This allows
userspace to control NUMA policy administratively and programmatically.
Implement domainset
Author: jeff
Date: Fri Jan 12 22:57:57 2018
New Revision: 327896
URL: https://svnweb.freebsd.org/changeset/base/327896
Log:
Add files for r327895
Implement 'domainset', a cpuset based NUMA policy mechanism. This allows
userspace to control NUMA policy administratively and programmaticall
Author: jeff
Date: Fri Jan 12 23:06:35 2018
New Revision: 327897
URL: https://svnweb.freebsd.org/changeset/base/327897
Log:
Regenerate auto-generated files
Modified:
head/sys/compat/freebsd32/freebsd32_proto.h
head/sys/compat/freebsd32/freebsd32_syscall.h
head/sys/compat/freebsd32/freebsd
Author: jeff
Date: Fri Jan 12 23:13:55 2018
New Revision: 327899
URL: https://svnweb.freebsd.org/changeset/base/327899
Log:
Implement NUMA policy for kmem_*(9). This maintains compatibility with
reservations by giving each memory domain its own KVA space in vmem that
is naturally aligned on
Author: jeff
Date: Fri Jan 12 23:25:05 2018
New Revision: 327900
URL: https://svnweb.freebsd.org/changeset/base/327900
Log:
Implement NUMA support in uma(9) and malloc(9). Allocations from specific
domains can be done by the _domain() API variants. UMA also supports a
first-touch policy vi
Author: jeff
Date: Fri Jan 12 23:34:16 2018
New Revision: 327901
URL: https://svnweb.freebsd.org/changeset/base/327901
Log:
Add support for NUMA domains to bus dma tags. This causes all memory
allocated with a tag to come from the specified domain if it meets the
other constraints provided
Author: jeff
Date: Fri Jan 12 23:41:12 2018
New Revision: 327903
URL: https://svnweb.freebsd.org/changeset/base/327903
Log:
Fix compile error from r327900
Modified:
head/sys/sys/busdma_bufalloc.h
Modified: head/sys/sys/busdma_bufalloc.h
===
Author: jeff
Date: Sun Jan 14 03:36:03 2018
New Revision: 327954
URL: https://svnweb.freebsd.org/changeset/base/327954
Log:
Move VM_NUMA_ALLOC and DEVICE_NUMA under the single global config option NUMA.
Sponsored by: Netflix, Dell/EMC Isilon
Discussed with: jhb
Modified:
head/sys
Author: jeff
Date: Thu Mar 22 19:06:50 2018
New Revision: 331367
URL: https://svnweb.freebsd.org/changeset/base/331367
Log:
Use read_mostly and alignment tags to eliminate or limit false sharing.
Reviewed by: markj (Part of D14707)
Sponsored by: Netflix, Dell/EMC Isilon
Modified:
head
Author: jeff
Date: Thu Mar 22 19:11:43 2018
New Revision: 331368
URL: https://svnweb.freebsd.org/changeset/base/331368
Log:
Start witness much earlier in boot so that we can shrink the pend list and
make it more immune to further change.
Reviewed by: markj, imp (Part of D14707)
Sponsor
Author: jeff
Date: Thu Mar 22 19:21:11 2018
New Revision: 331369
URL: https://svnweb.freebsd.org/changeset/base/331369
Log:
Lock reservations with a dedicated lock in each reservation. Protect the
vmd_free_count with atomics.
This allows us to allocate and free from reservations without
Thank you, working on it. I had done a make universe before getting
review feedback.
Jeff
On Thu, 22 Mar 2018, Justin Hibbits wrote:
This broke gcc builds.
On Thu, Mar 22, 2018 at 2:21 PM, Jeff Roberson wrote:
Author: jeff
Date: Thu Mar 22 19:21:11 2018
New Revision: 331369
URL: https
critical_exit() which are defined in sys/systm.h.
It built nicely on my amd64's though.
~cy
In message , Jeff Roberson
writes:
Thank you, working on it. I had done a make universe before getting
review feedback.
Jeff
On Thu, 22 Mar 2018, Justin Hibbits wrote:
This broke gcc builds.
O
55,6 +53,8 @@
#include
#include
#include
+#include
+#include
#include
#include
This is because sys/i386/include/machine.h uses critical_enter() and
critical_exit() which are defined in sys/systm.h.
It built nicely on my amd64's though.
~cy
In message , Jeff Roberson
writes:
Thank you, wo
On Thu, 22 Mar 2018, Cy Schubert wrote:
In message , Jeff Roberson
writes:
On Thu, 22 Mar 2018, Cy Schubert wrote:
It broke i386 too.
I just did
TARGET_ARCH=i386 make buildworld
TARGET_ARCH=i386 make buildkernel
This worked for me?
Jeff
hmmm.
make TARGET=i386 TARGET_ARCH=i386
Author: jeff
Date: Fri Mar 23 18:24:02 2018
New Revision: 331450
URL: https://svnweb.freebsd.org/changeset/base/331450
Log:
Fix two compliation problems on non-amd64 architectures.
Modified:
head/sys/vm/vm_page.c
head/sys/vm/vm_reserv.c
Modified: head/sys/vm/vm_page.c
=
Author: jeff
Date: Sat Mar 24 23:58:44 2018
New Revision: 331508
URL: https://svnweb.freebsd.org/changeset/base/331508
Log:
Document new NUMA related syscalls and utility options.
Sponsored by: Netflix, Dell/EMC Isilon
Modified:
head/lib/libc/sys/Makefile.inc
head/lib/libc/sys/cpuset.2
Author: jeff
Date: Sun Mar 25 07:42:44 2018
New Revision: 331529
URL: https://svnweb.freebsd.org/changeset/base/331529
Log:
Add missing file from 4331508
Document cpuset_{get,set}domain()
Added:
head/lib/libc/sys/cpuset_getdomain.2 (contents, props changed)
Added: head/lib/libc/sys/cp
Author: hselasky
Date: Fri Mar 23 18:11:06 2018
New Revision: 331447
URL: https://svnweb.freebsd.org/changeset/base/331447
Log:
Hide verbose proclamation of error when forced in mlx5core.
When mlx5_enter_error_state() operation is forced by shutdown, the
messages surrounding setting the err
Author: jeff
Date: Mon Mar 26 18:36:17 2018
New Revision: 331561
URL: https://svnweb.freebsd.org/changeset/base/331561
Log:
Fix a bug introduced in r329612 that slowly invalidates all clean bufs.
Reported by: bde
Reviewed by: bde
Sponsored by: Netflix, Dell/EMC Isilon
Modified:
hea
Author: jeff
Date: Tue Mar 27 03:27:02 2018
New Revision: 331605
URL: https://svnweb.freebsd.org/changeset/base/331605
Log:
Move vm_ndomains to vm.h where it can be used with a single header include
rather than requiring a half-dozen. Many non-vm files may want to know
the number of valid d
Author: jeff
Date: Tue Mar 27 03:37:04 2018
New Revision: 331606
URL: https://svnweb.freebsd.org/changeset/base/331606
Log:
Only use CPUs in the domain the device is attached to for default
assignment. Device drivers are able to override the default assignment
if they bind directly. There
On Tue, 27 Mar 2018, O. Hartmann wrote:
On Tue, 27 Mar 2018 08:15:35 +0200
"O. Hartmann" wrote:
On Tue, 27 Mar 2018 03:37:04 +0000 (UTC)
Jeff Roberson wrote:
Author: jeff
Date: Tue Mar 27 03:37:04 2018
New Revision: 331606
URL: https://svnweb.freebsd.org/changeset/base/331606
L
Author: jeff
Date: Tue Mar 27 10:20:50 2018
New Revision: 331610
URL: https://svnweb.freebsd.org/changeset/base/331610
Log:
Backout r331606 until I can identify why it does not boot on some
machines.
Modified:
head/sys/amd64/include/intr_machdep.h
head/sys/i386/include/intr_machdep.h
he
On Tue, 27 Mar 2018, Li-Wen Hsu wrote:
On Mon, Mar 26, 2018 at 20:35:12 -1000, Jeff Roberson wrote:
The patch has been on my branch for weeks and has been tested by a half
dozen people. I'm sorry it does not work for you. If you reverted 331605
the change that followed should not have
Author: jeff
Date: Wed Mar 28 18:47:35 2018
New Revision: 331698
URL: https://svnweb.freebsd.org/changeset/base/331698
Log:
Restore r331606 with a bugfix to setup cpuset_domain[] earlier on all
platforms. Original commit message as follows:
Only use CPUs in the domain the device is attac
Author: jeff
Date: Thu Mar 29 02:54:50 2018
New Revision: 331723
URL: https://svnweb.freebsd.org/changeset/base/331723
Log:
Implement several enhancements to NUMA policies.
Add a new "interleave" allocation policy which stripes pages across
domains with a stride or width keeping contiguit
Author: jeff
Date: Sun Apr 1 04:47:05 2018
New Revision: 331862
URL: https://svnweb.freebsd.org/changeset/base/331862
Log:
Add the flag ZONE_NOBUCKETCACHE. This flag instructions UMA not to keep
a cache of fully populated buckets. This will be used in a follow-on
commit.
The flag ide
Author: jeff
Date: Sun Apr 1 04:50:05 2018
New Revision: 331863
URL: https://svnweb.freebsd.org/changeset/base/331863
Log:
Add a uma cache of free pages in the DEFAULT freepool. This gives us
per-cpu alloc and free of pages. The cache is filled with as few trips
to the phys allocator as p
Author: jeff
Date: Tue Oct 15 03:35:11 2019
New Revision: 353535
URL: https://svnweb.freebsd.org/changeset/base/353535
Log:
(1/6) Replace busy checks with acquires where it is trival to do so.
This is the first in a series of patches that promotes the page busy field
to a first class lock
Author: jeff
Date: Tue Oct 15 03:38:02 2019
New Revision: 353537
URL: https://svnweb.freebsd.org/changeset/base/353537
Log:
(2/6) Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep().
This persists busy state across operations like rename and replace.
Reviewed by:k
Author: jeff
Date: Tue Oct 15 03:41:36 2019
New Revision: 353538
URL: https://svnweb.freebsd.org/changeset/base/353538
Log:
(3/6) Add a shared object busy synchronization mechanism that blocks new page
busy acquires while held.
This allows code that would need to acquire and release a ver
Author: jeff
Date: Tue Oct 15 03:45:41 2019
New Revision: 353539
URL: https://svnweb.freebsd.org/changeset/base/353539
Log:
(4/6) Protect page valid with the busy lock.
Atomics are used for page busy and valid state when the shared busy is
held. The details of the locking protocol and va
Author: jeff
Date: Tue Oct 15 03:48:22 2019
New Revision: 353540
URL: https://svnweb.freebsd.org/changeset/base/353540
Log:
(5/6) Move the VPO_NOSYNC to PGA_NOSYNC to eliminate the dependency on the
object lock in vm_page_set_validclean().
Reviewed by:kib, markj
Tested by: pho
Author: jeff
Date: Tue Oct 15 03:51:46 2019
New Revision: 353541
URL: https://svnweb.freebsd.org/changeset/base/353541
Log:
(6/6) Convert pmap to expect busy in write related operations now that all
callers hold it.
This simplifies pmap code and removes a dependency on the object lock.
On Tue, 15 Oct 2019, Oliver Pinter wrote:
On Tuesday, October 15, 2019, Jeff Roberson wrote:
Author: jeff
Date: Tue Oct 15 03:45:41 2019
New Revision: 353539
URL: https://svnweb.freebsd.org/changeset/base/353539
Log:
? (4/6) Protect page valid with the
Author: jeff
Date: Tue Oct 29 20:37:59 2019
New Revision: 354155
URL: https://svnweb.freebsd.org/changeset/base/354155
Log:
Drop the object lock in vfs_bio and cluster where it is now safe to do so.
Recent changes to busy/valid/dirty have enabled page based synchronization
and the object
Author: jeff
Date: Tue Oct 29 20:46:25 2019
New Revision: 354156
URL: https://svnweb.freebsd.org/changeset/base/354156
Log:
Drop the object lock earlier in fault and don't relock it after pmap_enter().
Recent changes in object and page locking have enabled more lock pushdown.
Reviewed
Author: jeff
Date: Tue Oct 29 20:58:46 2019
New Revision: 354157
URL: https://svnweb.freebsd.org/changeset/base/354157
Log:
Use atomics and a shared object lock to protect the object reference count.
Certain consumers still need to guarantee a stable reference so we can not
switch entirel
Author: jeff
Date: Tue Oct 29 21:06:34 2019
New Revision: 354158
URL: https://svnweb.freebsd.org/changeset/base/354158
Log:
Replace OBJ_MIGHTBEDIRTY with a system using atomics. Remove the TMPFS_DIRTY
flag and use the same system.
This enables further fault locking improvements by allowi
Author: jeff
Date: Tue Nov 19 23:19:43 2019
New Revision: 354869
URL: https://svnweb.freebsd.org/changeset/base/354869
Log:
Simplify anonymous memory handling with an OBJ_ANON flag. This eliminates
reudundant complicated checks and additional locking required only for
anonymous memory. Int
Author: jeff
Date: Tue Nov 19 23:30:09 2019
New Revision: 354870
URL: https://svnweb.freebsd.org/changeset/base/354870
Log:
Remove unnecessary object locking from the vnode pager. Recent changes to
busy/valid/dirty locking make these acquires redundant.
Reviewed by: kib, markj
Differe
Author: jeff
Date: Wed Nov 20 00:31:14 2019
New Revision: 354871
URL: https://svnweb.freebsd.org/changeset/base/354871
Log:
Only keep anonymous objects on shadow lists. This eliminates locking of
globally visible objects when they are part of a backing chain.
Reviewed by: kib, markj
D
Author: jeff
Date: Wed Nov 20 01:57:33 2019
New Revision: 354874
URL: https://svnweb.freebsd.org/changeset/base/354874
Log:
When we set OFFPAGE to limit fragmentation we should also set VTOSLAB
so that we avoid the hashtables. The hashtable is now only required if
a zone is created with OFF
Author: jeff
Date: Mon Nov 25 07:13:05 2019
New Revision: 355082
URL: https://svnweb.freebsd.org/changeset/base/355082
Log:
Move anonymous object copying for fork into its own routine and so that we
can avoid locking non-anonymous objects.
Reviewed by: kib
Differential Revision:
Author: jeff
Date: Tue Nov 26 22:17:02 2019
New Revision: 355121
URL: https://svnweb.freebsd.org/changeset/base/355121
Log:
Refactor uma_zalloc_arg(). It is a mess of gotos and code which doesn't
make sense after many partial refactors. Attempt to make a smaller cache
footprint for the fas
Author: jeff
Date: Wed Nov 27 00:39:23 2019
New Revision: 355122
URL: https://svnweb.freebsd.org/changeset/base/355122
Log:
Use atomics in more cases for object references. We now can completely
omit the object lock if we are above a certain threshold. Hold only a
single vnode reference wh
Author: jeff
Date: Wed Nov 27 23:19:06 2019
New Revision: 355148
URL: https://svnweb.freebsd.org/changeset/base/355148
Log:
Refactor uma_zfree_arg into several functions to make control flow more
clear and icache usage cleaner.
Reviewed by: markj
Differential Revision:https://r
Author: jeff
Date: Thu Nov 28 00:19:09 2019
New Revision: 355149
URL: https://svnweb.freebsd.org/changeset/base/355149
Log:
Implement a sysctl tree for uma zones to assist in debugging and provide
more statistcs than are exported via the ABI stable vmstat interface.
Rename uz_count to uz_buc
Thank you. mea culpa.
Jeff
On Thu, 28 Nov 2019, Ryan Libby wrote:
Author: rlibby
Date: Thu Nov 28 04:15:16 2019
New Revision: 355166
URL: https://svnweb.freebsd.org/changeset/base/355166
Log:
uma: move sysctl vm.uma defn out from under INVARIANTS
Fix non-INVARIANTS builds after r355149.
Author: jeff
Date: Thu Nov 28 07:49:25 2019
New Revision: 355169
URL: https://svnweb.freebsd.org/changeset/base/355169
Log:
Garbage collect the mostly unused us_keg field. Use appropriately named
union members in vm_page.h to store the zone and slab. Remove some nearby
dead code.
Revi
Author: jeff
Date: Thu Nov 28 08:56:14 2019
New Revision: 355171
URL: https://svnweb.freebsd.org/changeset/base/355171
Log:
Fix DEBUG_REDZONE build after r355169
Modified:
head/sys/kern/kern_malloc.c
Modified: head/sys/kern/kern_malloc.c
==
Author: jeff
Date: Fri Nov 29 03:14:10 2019
New Revision: 355203
URL: https://svnweb.freebsd.org/changeset/base/355203
Log:
Handle large mallocs by going directly to kmem. Taking a detour through
UMA does not provide any additional value.
Reviewed by: markj
Differential Revision:
Author: jeff
Date: Fri Nov 29 19:47:40 2019
New Revision: 355215
URL: https://svnweb.freebsd.org/changeset/base/355215
Log:
Fix a perf regression from r355122. We can use a shared lock to drop the
last ref on vnodes.
Reviewed by: kib, markj
Differential Revision:https://review
Author: jeff
Date: Fri Nov 29 19:49:20 2019
New Revision: 355216
URL: https://svnweb.freebsd.org/changeset/base/355216
Log:
Avoid acquiring the object lock if color is already set. It can not be
unset until the object is recycled so this check is stable. Now that we
can acquire the ref wit
Author: jeff
Date: Fri Nov 29 19:57:49 2019
New Revision: 355217
URL: https://svnweb.freebsd.org/changeset/base/355217
Log:
Restore swap space accounting for non-anonymous swap objects. This was
broken in r355082. Reduce some locking in nearby related object type
checks.
Reviewed by:
Author: jeff
Date: Sun Aug 18 23:07:56 2019
New Revision: 351198
URL: https://svnweb.freebsd.org/changeset/base/351198
Log:
Allocate amd64's page array using pages and page directory pages from the
NUMA domain that the pages describe. Patch original from gallatin.
Reviewed by: kib
Tes
Author: jeff
Date: Sun Aug 18 23:44:23 2019
New Revision: 351200
URL: https://svnweb.freebsd.org/changeset/base/351200
Log:
Allocate all per-cpu datastructures in domain correct memory.
Reviewed by: kib, gallatin (some objections)
Tested by:pho
Sponsored by: Netflix
Differential
Author: jeff
Date: Mon Aug 19 22:25:28 2019
New Revision: 351235
URL: https://svnweb.freebsd.org/changeset/base/351235
Log:
Permit vm_pager_has_page() to run with a shared lock. Introduce
VM_OBJECT_DROP/VM_OBJECT_PICKUP to handle functions that are called with
uncertain lock state.
Rev
Author: jeff
Date: Mon Aug 19 23:09:38 2019
New Revision: 351241
URL: https://svnweb.freebsd.org/changeset/base/351241
Log:
Use an atomic reference count for paging in progress so that callers do not
require the object lock.
Reviewed by: markj
Tested by:pho (as part of a larger bra
Author: jeff
Date: Tue Sep 10 18:27:45 2019
New Revision: 352174
URL: https://svnweb.freebsd.org/changeset/base/352174
Log:
Use the sleepq lock rather than the page lock to protect against wakeup
races with page busy state. The object lock is still used as an interlock
to ensure that the id
Author: jeff
Date: Tue Sep 10 19:08:01 2019
New Revision: 352176
URL: https://svnweb.freebsd.org/changeset/base/352176
Log:
Replace redundant code with a few new vm_page_grab facilities:
- VM_ALLOC_NOCREAT will grab without creating a page.
- vm_page_grab_valid() will grab and page in if n
Author: jeff
Date: Tue Aug 6 21:50:34 2019
New Revision: 350659
URL: https://svnweb.freebsd.org/changeset/base/350659
Log:
Add two new kernel options to control memory locality on NUMA hardware.
- UMA_XDOMAIN enables an additional per-cpu bucket for freed memory that
was freed on a diff
Author: jeff
Date: Tue Aug 6 23:04:59 2019
New Revision: 350661
URL: https://svnweb.freebsd.org/changeset/base/350661
Log:
Implement a MINBUCKET zone flag so we can use minimal caching on zones that
may be expensive to cache.
Reviewed by: markj, kib
Sponsored by: Netflix
Dif
Author: jeff
Date: Tue Aug 6 23:15:34 2019
New Revision: 350663
URL: https://svnweb.freebsd.org/changeset/base/350663
Log:
Cache kernel stacks in UMA. This gives us NUMA support, better concurrency,
and more statistics.
Reviewed by: kib, markj
Tested by:pho
Sponsored by: Netfli
Author: jeff
Date: Tue Aug 13 04:54:02 2019
New Revision: 350972
URL: https://svnweb.freebsd.org/changeset/base/350972
Log:
Move scheduler state into the per-cpu area where it can be allocated on the
correct NUMA domain.
Reviewed by: markj, gallatin
Sponsored by: Netflix
Differential
Author: jeff
Date: Fri Aug 16 00:45:14 2019
New Revision: 351108
URL: https://svnweb.freebsd.org/changeset/base/351108
Log:
Move phys_avail definition into MI code. It is consumed in the MI layer and
doing so adds more flexibility with less redundant code.
Reviewed by: jhb, markj, kib
Author: jeff
Date: Sun Aug 18 07:06:31 2019
New Revision: 351181
URL: https://svnweb.freebsd.org/changeset/base/351181
Log:
Encapsulate phys_avail manipulation in a set of simple routines. Add a
NUMA aware boot time memory allocator that will be used to allocate early
domain correct structu
Author: jeff
Date: Sun Aug 18 07:43:15 2019
New Revision: 351182
URL: https://svnweb.freebsd.org/changeset/base/351182
Log:
vm_phys_avail_find is only used on NUMA kernels. Fix a build error.
Modified:
head/sys/vm/vm_phys.c
Modified: head/sys/vm/vm_phys.c
===
Author: jeff
Date: Sun Aug 18 08:07:31 2019
New Revision: 351183
URL: https://svnweb.freebsd.org/changeset/base/351183
Log:
Remove unnecessary debugging from r351181 that caused powerpc build to fail.
Tested by:make universe TARGETS=powerpc
Modified:
head/sys/vm/vm_phys.c
Modified:
On Sun, 18 Aug 2019, Jeff Roberson wrote:
Author: jeff
Date: Sun Aug 18 08:07:31 2019
New Revision: 351183
URL: https://svnweb.freebsd.org/changeset/base/351183
Log:
Remove unnecessary debugging from r351181 that caused powerpc build to fail.
I'm not sure how I made such a mess of thi
Author: jeff
Date: Sun Aug 18 11:43:58 2019
New Revision: 351188
URL: https://svnweb.freebsd.org/changeset/base/351188
Log:
Add a blocking wait bit to refcount. This allows refs to be used as a simple
barrier.
Reviewed by: markj, kib
Discussed with: jhb
Sponsored by: Netflix
Author: jeff
Date: Sat Jun 20 20:21:04 2020
New Revision: 362449
URL: https://svnweb.freebsd.org/changeset/base/362449
Log:
Clarify some language. Favor primary where both master and primary were
used in conjunction with secondary.
Modified:
head/sys/vm/uma.h
head/sys/vm/uma_core.c
hea
Author: jeff
Date: Sun Jun 21 04:59:02 2020
New Revision: 362459
URL: https://svnweb.freebsd.org/changeset/base/362459
Log:
Use zone nomenclature that is consistent with UMA.
Modified:
head/sys/kern/kern_mbuf.c
Modified: head/sys/kern/kern_mbuf.c
=
Author: jeff
Date: Mon Dec 2 22:34:19 2019
New Revision: 355311
URL: https://svnweb.freebsd.org/changeset/base/355311
Log:
Don't run sched_preempt() inside of an extra critical section. This disables
the sched_preempt() switch optimization and causes the sched lock to be
dropped
and immed
Author: jeff
Date: Mon Dec 2 22:35:45 2019
New Revision: 355312
URL: https://svnweb.freebsd.org/changeset/base/355312
Log:
Initialize the idle thread's lock sooner so it's not evaluated on every fork
exit and we can rely on it elsewhere.
Reviewed by: mav, kib, jhb, markj
Differential
Author: jeff
Date: Mon Dec 2 22:38:25 2019
New Revision: 355313
URL: https://svnweb.freebsd.org/changeset/base/355313
Log:
Fix the last few cases that grab without busy or valid. The grab functions
must
return the page in some held state for consistency elsewhere.
Reviewed by: alc, ki
Author: jeff
Date: Mon Dec 2 22:42:05 2019
New Revision: 355314
URL: https://svnweb.freebsd.org/changeset/base/355314
Log:
Fix a few places that free a page from an object without busy held. This is
tightening constraints on busy as a precursor to lockless page lookup and
should largely be
Author: jeff
Date: Mon Dec 2 22:44:34 2019
New Revision: 355315
URL: https://svnweb.freebsd.org/changeset/base/355315
Log:
Use a precise bit count for the slab free items in UMA. This significantly
shrinks embedded slab structures.
Reviewed by: markj, rlibby (prior version)
Different
Author: jeff
Date: Sun Dec 8 01:15:06 2019
New Revision: 355510
URL: https://svnweb.freebsd.org/changeset/base/355510
Log:
Use a variant slab structure for offpage zones. This saves space in
embedded slabs but also is an opportunity to tidy up code and add
accessor inlines.
Reviewed b
Author: jeff
Date: Sun Dec 8 01:16:22 2019
New Revision: 355511
URL: https://svnweb.freebsd.org/changeset/base/355511
Log:
Reduce duplication in grab functions by providing allocflags based inlines.
Reviewed by: kib, markj
Differential Revision:https://reviews.freebsd.org/D22635
Author: jeff
Date: Sun Dec 8 01:17:38 2019
New Revision: 355512
URL: https://svnweb.freebsd.org/changeset/base/355512
Log:
Handle multiple clock interrupts simultaneously in sched_clock().
Reviewed by: kib, markj, mav
Differential Revision:https://reviews.freebsd.org/D22625
Mod
Author: jeff
Date: Sun Dec 8 01:47:29 2019
New Revision: 355514
URL: https://svnweb.freebsd.org/changeset/base/355514
Log:
Do not assert that the object lock is held in vm_object_set_writeable_dirty.
A valid reference is all that is required. If we race with a deallocation
we will harmless
Author: jeff
Date: Sun Dec 8 01:49:03 2019
New Revision: 355515
URL: https://svnweb.freebsd.org/changeset/base/355515
Log:
It is now safe to rename a page that is still on a queue. Allowing this
is necessary for a forthcoming patch.
Reviewed by: kib, markj
Differential Revision:
Author: jeff
Date: Sun Dec 8 01:49:53 2019
New Revision: 355516
URL: https://svnweb.freebsd.org/changeset/base/355516
Log:
It is safe to wire a page while the object is busy.
Reviewed by: kib, markj
Differential Revision:https://reviews.freebsd.org/D22636
Modified:
head/sys/v
Author: jeff
Date: Sun Dec 8 01:55:23 2019
New Revision: 355517
URL: https://svnweb.freebsd.org/changeset/base/355517
Log:
Fix two problems with r355149. The sysctl name collision code assumed that
zones would never be freed. In the case of tmpfs this was not true. While
here test for th
Author: jeff
Date: Sun Dec 15 02:00:32 2019
New Revision: 355763
URL: https://svnweb.freebsd.org/changeset/base/355763
Log:
Handle pagein clustering in vm_page_grab_valid() so that it can be used by
exec_map_first_page(). This will also enable pagein clustering for other
interested consumer
Author: jeff
Date: Sun Dec 15 02:02:27 2019
New Revision: 355764
URL: https://svnweb.freebsd.org/changeset/base/355764
Log:
Slightly optimize locking in vm_map_copy_swap_entry(). Anonymous objects
require the object lock to synchronize collapse. Other swap objects such
as tmpfs do not.
Author: jeff
Date: Sun Dec 15 03:15:06 2019
New Revision: 355765
URL: https://svnweb.freebsd.org/changeset/base/355765
Log:
Add a deferred free mechanism for freeing swap space that does not require
an exclusive object lock.
Previously swap space was freed on a best effort basis when a pa
Author: jeff
Date: Sun Dec 15 04:08:24 2019
New Revision: 355766
URL: https://svnweb.freebsd.org/changeset/base/355766
Log:
Previously we did not support invalid pages in default objects. This means
that if fault fails to progress and needs to restart the loop it must free
the page it is wo
Author: jeff
Date: Sun Dec 15 06:26:47 2019
New Revision: 355771
URL: https://svnweb.freebsd.org/changeset/base/355771
Log:
Fix a mistake in r355765. We need to activate the page if it is not yet
on a pagequeue.
Reported by: pho
Modified:
head/sys/kern/uipc_shm.c
Modified: head/sys/
Author: jeff
Date: Sun Dec 15 21:11:15 2019
New Revision: 355779
URL: https://svnweb.freebsd.org/changeset/base/355779
Log:
schedlock 1/4
Eliminate recursion from most thread_lock consumers. Return from
sched_add() without the thread_lock held. This eliminates unnecessary
atomics and
Author: jeff
Date: Sun Dec 15 21:18:07 2019
New Revision: 355781
URL: https://svnweb.freebsd.org/changeset/base/355781
Log:
schedlock 2/4
Do all sleepqueue post-processing in sleepq_remove_thread() so that we
do not require the thread lock after a context switch.
Reviewed by: jhb, k
Author: jeff
Date: Sun Dec 15 21:19:41 2019
New Revision: 355782
URL: https://svnweb.freebsd.org/changeset/base/355782
Log:
schedlock 3/4
Eliminate lock recursion from turnstiles. This was simply used to avoid
tracking the top-level turnstile lock. explicitly check for it before
picki
Author: jeff
Date: Sun Dec 15 21:26:50 2019
New Revision: 355784
URL: https://svnweb.freebsd.org/changeset/base/355784
Log:
schedlock 4/4
Don't hold the scheduler lock while doing context switches. Instead we
unlock after selecting the new thread and switch within a spinlock
section le
1 - 100 of 314 matches
Mail list logo