On Mon, 16 Dec 2019, Ryan Libby wrote:
On Mon, Dec 16, 2019 at 7:30 AM Ed Maste wrote:
On Sun, 15 Dec 2019 at 16:27, Jeff Roberson wrote:
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
FYI i386
Author: jeff
Date: Mon Dec 16 20:15:04 2019
New Revision: 355819
URL: https://svnweb.freebsd.org/changeset/base/355819
Log:
Repeat the spinlock_enter/exit pattern from amd64 on other architectures to
fix an assert violation introduced in r355784. Without this spinlock_exit()
may see owepree
Author: jeff
Date: Thu Dec 19 18:22:11 2019
New Revision: 355915
URL: https://svnweb.freebsd.org/changeset/base/355915
Log:
Fix a bug in r355784. I missed a sched_add() call that needed to reacquire
the thread lock.
Reported by: mjg
Modified:
head/sys/kern/sched_ule.c
Modified: head
Author: jeff
Date: Sun Dec 22 04:21:16 2019
New Revision: 355997
URL: https://svnweb.freebsd.org/changeset/base/355997
Log:
Move vm_fault busy logic into its own function for clarity and re-use by
later changes.
Reviewed by: kib, markj
Differential Revision:https://reviews.free
Author: jeff
Date: Sun Dec 22 06:56:44 2019
New Revision: 356002
URL: https://svnweb.freebsd.org/changeset/base/356002
Log:
Make page busy state deterministic on free. Pages must be xbusy when
removed from objects including calls to free. Pages must not be xbusy
when freed and not on an ob
Author: jeff
Date: Sun Dec 22 20:35:50 2019
New Revision: 356026
URL: https://svnweb.freebsd.org/changeset/base/356026
Log:
Fix a bug introduced in r356002. Prior versions of this patchset had
vm_page_remove() rather than !vm_page_wired() as the condition for free.
When this changed back to
Author: jeff
Date: Tue Dec 24 18:38:06 2019
New Revision: 356059
URL: https://svnweb.freebsd.org/changeset/base/356059
Log:
Don't unnecessarily relock the vm object after sleeps. This results in a
surprising amount of object contention on loop restarts in fault.
Reviewed by: kib, markj
Author: jeff
Date: Wed Dec 25 19:26:35 2019
New Revision: 356079
URL: https://svnweb.freebsd.org/changeset/base/356079
Log:
Fix a bug with _NUMA domains introduced in r339686. When M_NOWAIT is
specified there was no loop termination condition in keg_fetch_slab().
Reported by: pho
Revi
Author: jeff
Date: Wed Dec 25 20:50:53 2019
New Revision: 356080
URL: https://svnweb.freebsd.org/changeset/base/356080
Log:
Optimize fast path allocations by storing bucket headers in the per-cpu
cache area. This allows us to check on bucket space for all per-cpu
buckets with a single cache
Author: jeff
Date: Wed Dec 25 20:57:24 2019
New Revision: 356081
URL: https://svnweb.freebsd.org/changeset/base/356081
Log:
Further reduce the cacheline footprint of fast allocations by duplicating
the zone size and flags fields in the per-cpu caches. This allows fast
alloctions to proceed
Author: jeff
Date: Fri Dec 27 01:50:16 2019
New Revision: 356109
URL: https://svnweb.freebsd.org/changeset/base/356109
Log:
Fix a pair of bugs introduced in r356002. When we reclaim physical pages we
allocate them with VM_ALLOC_NOOBJ which means they are not busy. For now
move the busy ass
Fantastic!
On Sat, 28 Dec 2019, Mark Johnston wrote:
Author: markj
Date: Sat Dec 28 19:04:29 2019
New Revision: 356159
URL: https://svnweb.freebsd.org/changeset/base/356159
Log:
Remove some unused functions.
The previous series of patches orphaned some vm_page functions, so
remove them.
On Fri, 27 Dec 2019, Rodney W. Grimes wrote:
[ Charset UTF-8 unsupported, converting... ]
On 2019-12-27 23:24, Rodney W. Grimes wrote:
[ Charset UTF-8 unsupported, converting... ]
On 2019-12-27 22:16, Rodney W. Grimes wrote:
Author: pfg
Date: Sat Dec 28 02:58:30 2019
New Revision: 356142
On Sun, 29 Dec 2019, Kevin P. Neal wrote:
On Sat, Dec 28, 2019 at 10:11:48AM -1000, Jeff Roberson wrote:
It seems to be the prevailing theory that headers are not even really
copyrightable. This has even been tested in court a few times (bsd, java).
http://lkml.iu.edu/hypermail/linux/kernel
On Mon, 30 Dec 2019, Warner Losh wrote:
On Mon, Dec 30, 2019 at 12:55 PM Alexander Motin wrote:
On 30.12.2019 12:02, Alexey Dokuchaev wrote:
> On Mon, Dec 30, 2019 at 08:55:14AM -0700, Warner Losh wrote:
>> On Mon, Dec 30, 2019, 5:32 AM Alexey Dokuchaev wrote:
>>> On S
Thank you to everyone involved. This will make a lot of MI code much
simpler.
Jeff
On Thu, 2 Jan 2020, Brandon Bergren wrote:
Author: bdragon
Date: Thu Jan 2 23:20:37 2020
New Revision: 356308
URL: https://svnweb.freebsd.org/changeset/base/356308
Log:
[PowerPC] [MIPS] Implement 32-bit ker
Author: jeff
Date: Sat Jan 4 03:04:46 2020
New Revision: 356347
URL: https://svnweb.freebsd.org/changeset/base/356347
Log:
Use atomics for the zone limit and sleeper count. This relies on the
sleepq to serialize sleepers. This patch retains the existing sleep/wakeup
paradigm to limit 'thu
Author: jeff
Date: Sat Jan 4 03:15:34 2020
New Revision: 356348
URL: https://svnweb.freebsd.org/changeset/base/356348
Log:
Use a separate lock for the zone and keg. This provides concurrency
between populating buckets from the slab layer and fetching full buckets
from the zone layer. Elim
Author: jeff
Date: Sat Jan 4 03:30:08 2020
New Revision: 356349
URL: https://svnweb.freebsd.org/changeset/base/356349
Log:
Use per-domain keg locks. This provides both a lock and separate space
accounting for each NUMA domain. Independent keg domain locks are important
with cross-domain f
Author: jeff
Date: Sat Jan 4 07:56:28 2020
New Revision: 356350
URL: https://svnweb.freebsd.org/changeset/base/356350
Log:
Sort cross-domain frees into per-domain buckets before inserting these
onto their respective bucket lists. This is a several order of magnitude
improvement in contenti
Author: jeff
Date: Sat Jan 4 18:48:13 2020
New Revision: 356351
URL: https://svnweb.freebsd.org/changeset/base/356351
Log:
UMA NUMA flag day. UMA_ZONE_NUMA was a source of confusion. Make the names
more consistent with other NUMA features as UMA_ZONE_FIRSTTOUCH and
UMA_ZONE_ROUNDROBIN. T
Author: jeff
Date: Sat Jan 4 19:29:25 2020
New Revision: 356353
URL: https://svnweb.freebsd.org/changeset/base/356353
Log:
Fix an assertion introduced in r356348. On architectures without
UMA_MD_SMALL_ALLOC vmem has a more complicated startup sequence that
violated the new assert. Resolve
On Sun, 5 Jan 2020, Mark Linimon wrote:
On Sat, Jan 04, 2020 at 03:15:34AM +, Jeff Roberson wrote:
Use a separate lock for the zone and keg.
Out of curiosity, will there be measurable real-world speedups from
this an similar work, or will this mostly apply to edge cases, or ... ?
It
Author: jeff
Date: Sun Jan 5 22:54:25 2020
New Revision: 356389
URL: https://svnweb.freebsd.org/changeset/base/356389
Log:
The fix in r356353 was insufficient. Not every architecture returns 0 for
EARLY_COUNTER. Only amd64 seems to.
Suggested by: markj
Reported by: lwhsu
Reviewed
Author: jeff
Date: Mon Jan 6 02:51:19 2020
New Revision: 356393
URL: https://svnweb.freebsd.org/changeset/base/356393
Log:
Fix uma boot pages calculations on NUMA machines that also don't have
MD_UMA_SMALL_ALLOC. This is unusual but not impossible. Fix the alignemnt
of zones while here.
On Mon, 6 Jan 2020, Gleb Smirnoff wrote:
Jeff,
On Sun, Jan 05, 2020 at 10:54:26PM +, Jeff Roberson wrote:
J> Author: jeff
J> Date: Sun Jan 5 22:54:25 2020
J> New Revision: 356389
J> URL: https://svnweb.freebsd.org/changeset/base/356389
J>
J> Log:
J> The fix in r35
Author: jeff
Date: Tue Jan 14 02:00:24 2020
New Revision: 356714
URL: https://svnweb.freebsd.org/changeset/base/356714
Log:
Fix a long standing bug in journaled soft-updates. The dirrem structure
needs to handle file removal, directory removal, file move, directory move,
etc. The code in h
On Wed, 15 Jan 2020, Gleb Smirnoff wrote:
Author: glebius
Date: Wed Jan 15 06:05:20 2020
New Revision: 356755
URL: https://svnweb.freebsd.org/changeset/base/356755
Log:
Introduce NET_EPOCH_CALL() macro and use it everywhere where we free
data based on the network epoch. The macro reverses t
Author: jeff
Date: Thu Jan 16 05:01:21 2020
New Revision: 356776
URL: https://svnweb.freebsd.org/changeset/base/356776
Log:
Simplify VM and UMA startup by eliminating boot pages. Instead use careful
ordering to allocate early pages in the same way boot pages were but only
as needed. After
Author: jeff
Date: Fri Jan 17 03:44:04 2020
New Revision: 356822
URL: https://svnweb.freebsd.org/changeset/base/356822
Log:
Fix a long standing bug that was made worse in r355765. When we are cowing a
page that was previously mapped read-only it exists in pmap until pmap_enter()
returns. H
Author: jeff
Date: Sun Jan 19 18:18:17 2020
New Revision: 356885
URL: https://svnweb.freebsd.org/changeset/base/356885
Log:
Provide an API for interlocked refcount sleeps.
Reviewed by: kib, markj
Differential Revision:https://reviews.freebsd.org/D22908
Modified:
head/sys/kern/
Author: jeff
Date: Sun Jan 19 18:30:23 2020
New Revision: 356886
URL: https://svnweb.freebsd.org/changeset/base/356886
Log:
Make collapse synchronization more explicit and allow it to complete during
paging.
Shadow objects are marked with a COLLAPSING flag while they are collapsing
with
Author: jeff
Date: Sun Jan 19 18:36:03 2020
New Revision: 356887
URL: https://svnweb.freebsd.org/changeset/base/356887
Log:
It has not been possible to recursively terminate a vnode object for some time
now. Eliminate the dead code that supports it.
Approved by: kib, markj
Differentia
Author: jeff
Date: Sun Jan 19 23:47:32 2020
New Revision: 356902
URL: https://svnweb.freebsd.org/changeset/base/356902
Log:
Don't hold the object lock while calling getpages.
The vnode pager does not want the object lock held. Moving this out allows
further object lock scope reduction in
Author: jeff
Date: Mon Jan 20 22:49:52 2020
New Revision: 356933
URL: https://svnweb.freebsd.org/changeset/base/356933
Log:
Reduce object locking in vm_fault. Once we have an exclusively busied page we
no longer need an object lock. This reduces the longest hold times and
eliminates some t
Author: jeff
Date: Tue Jan 21 00:12:57 2020
New Revision: 356936
URL: https://svnweb.freebsd.org/changeset/base/356936
Log:
Move readahead and dropbehind fault functionality into a helper routine for
clarity.
Reviewed by: dougm, kib, markj
Differential Revision:https://reviews.
Author: jeff
Date: Thu Jan 23 03:36:50 2020
New Revision: 357014
URL: https://svnweb.freebsd.org/changeset/base/357014
Log:
Block the thread lock in sched_throw() and use cpu_switch() to unblock
it. The introduction of lockless switch in r355784 created a race to
re-use the exiting thread t
Author: jeff
Date: Thu Jan 23 03:37:35 2020
New Revision: 357015
URL: https://svnweb.freebsd.org/changeset/base/357015
Log:
Some architectures with DMAP still consume boot kva. Simplify the test for
claiming kva in uma_startup2() to handle this.
Reported by: bdragon
Modified:
head/sy
Author: jeff
Date: Thu Jan 23 04:54:49 2020
New Revision: 357017
URL: https://svnweb.freebsd.org/changeset/base/357017
Log:
Consistently use busy and vm_page_valid() rather than touching page bits
directly. This improves API compliance, asserts, etc.
Reviewed by: kib, markj
Differenti
Author: jeff
Date: Thu Jan 23 05:03:34 2020
New Revision: 357020
URL: https://svnweb.freebsd.org/changeset/base/357020
Log:
(fault 1/9) Move a handful of stack variables into the faultstate.
This additionally fixes a potential bug/pessimization where we could fail to
reload the original f
Author: jeff
Date: Thu Jan 23 05:05:39 2020
New Revision: 357021
URL: https://svnweb.freebsd.org/changeset/base/357021
Log:
(fault 2/9) Move map lookup into a dedicated function.
Reviewed by: kib, markj
Differential Revision:https://reviews.freebsd.org/D23302
Modified:
head/sy
Author: jeff
Date: Thu Jan 23 05:07:01 2020
New Revision: 357022
URL: https://svnweb.freebsd.org/changeset/base/357022
Log:
(fault 3/9) Move map relookup into a dedicated function.
Add a new VM return code KERN_RESTART which means, deallocate and restart in
fault.
Reviewed by: kib,
Author: jeff
Date: Thu Jan 23 05:11:01 2020
New Revision: 357023
URL: https://svnweb.freebsd.org/changeset/base/357023
Log:
(fault 4/9) Move copy-on-write into a dedicated function.
Reviewed by: kib, markj
Differential Revision:https://reviews.freebsd.org/D23304
Modified:
head
Author: jeff
Date: Thu Jan 23 05:14:41 2020
New Revision: 357024
URL: https://svnweb.freebsd.org/changeset/base/357024
Log:
(fault 5/9) Move the backing_object traversal into a dedicated function.
Reviewed by: dougm, kib, markj
Differential Revision:https://reviews.freebsd.org/D
Author: jeff
Date: Thu Jan 23 05:18:00 2020
New Revision: 357025
URL: https://svnweb.freebsd.org/changeset/base/357025
Log:
(fault 6/9) Move getpages and associated logic into a dedicated function.
Reviewed by: kib
Differential Revision:https://reviews.freebsd.org/D23311
Modifie
Author: jeff
Date: Thu Jan 23 05:19:39 2020
New Revision: 357026
URL: https://svnweb.freebsd.org/changeset/base/357026
Log:
(fault 7/9) Move fault population and allocation into a dedicated function
Reviewed by: kib
Differential Revision:https://reviews.freebsd.org/D23320
Modifi
Author: jeff
Date: Thu Jan 23 05:22:02 2020
New Revision: 357027
URL: https://svnweb.freebsd.org/changeset/base/357027
Log:
(fault 8/9) Restructure some code to reduce duplication and simplify flow
control.
Reviewed by: dougm, kib, markj
Differential Revision:https://reviews.fr
Author: jeff
Date: Thu Jan 23 05:23:37 2020
New Revision: 357028
URL: https://svnweb.freebsd.org/changeset/base/357028
Log:
(fault 9/9) Move zero fill into a dedicated function to make the object lock
state more clear.
Reviewed by: kib
Differential Revision:https://reviews.free
.
Other than comment cleanup, I will probably not commit again for a little
while. The commits that follow will enable lockless vm object lookup
which has given a 10x improvement in massively parallel builds on large
machines (100core+).
Thanks,
Jeff
On Thu, 23 Jan 2020, Jeff Roberson wrote
On Thu, 23 Jan 2020, Mark Johnston wrote:
Author: markj
Date: Thu Jan 23 17:18:58 2020
New Revision: 357055
URL: https://svnweb.freebsd.org/changeset/base/357055
Log:
sparc64: Busy the TSB page before freeing it in pmap_release().
This is now required by vm_page_free().
PR:243534
Repo
On Thu, 23 Jan 2020, Gleb Smirnoff wrote:
On Thu, Jan 23, 2020 at 08:33:58PM -0500, Ryan Stone wrote:
R> > Because at interrupt level we can batch multiple packets in a single epoch.
R> > This speeds up unfiltered packet forwarding performance by 5%.
R> >
R> > With driver level pfil hooks I woul
On Thu, 23 Jan 2020, Gleb Smirnoff wrote:
On Thu, Jan 23, 2020 at 05:09:14PM -1000, Jeff Roberson wrote:
J> While we don't have a policy strictly requiring reviews it is the norm to
J> have substantial changes socialized and reviewed. I appreciate the work
J> that you are doing
On Sun, 26 Jan 2020, John Baldwin wrote:
On 1/23/20 7:32 PM, Gleb Smirnoff wrote:
On Thu, Jan 23, 2020 at 05:09:14PM -1000, Jeff Roberson wrote:
J> While we don't have a policy strictly requiring reviews it is the norm to
J> have substantial changes socialized and reviewed. I app
Thank you,
Jeff
On Wed, 29 Jan 2020, Konstantin Belousov wrote:
Author: kib
Date: Wed Jan 29 12:02:47 2020
New Revision: 357253
URL: https://svnweb.freebsd.org/changeset/base/357253
Log:
Restore OOM logic on page fault after r357026.
Right now OOM is initiated unconditionally on the page al
On Thu, 30 Jan 2020, Hans Petter Selasky wrote:
Author: hselasky
Date: Thu Jan 30 10:28:01 2020
New Revision: 357291
URL: https://svnweb.freebsd.org/changeset/base/357291
Log:
Widen EPOCH(9) usage in PCI WLAN drivers.
Make sure all occurrences of ieee80211_input_xxx() in sys/dev are
covered
On Thu, 30 Jan 2020, Gleb Smirnoff wrote:
On Thu, Jan 30, 2020 at 10:28:01AM +, Hans Petter Selasky wrote:
H> Author: hselasky
H> Date: Thu Jan 30 10:28:01 2020
H> New Revision: 357291
H> URL: https://svnweb.freebsd.org/changeset/base/357291
H>
H> Log:
H> Widen EPOCH(9) usage in PCI WLAN d
On Thu, 30 Jan 2020, Gleb Smirnoff wrote:
On Thu, Jan 30, 2020 at 12:04:03PM +, Hans Petter Selasky wrote:
H> Author: hselasky
H> Date: Thu Jan 30 12:04:02 2020
H> New Revision: 357293
H> URL: https://svnweb.freebsd.org/changeset/base/357293
H>
H> Log:
H> Widen EPOCH(9) usage in netisr.
H>
On Thu, 30 Jan 2020, Hans Petter Selasky wrote:
On 2020-01-30 21:56, Gleb Smirnoff wrote:
On Thu, Jan 30, 2020 at 12:04:03PM +, Hans Petter Selasky wrote:
H> Author: hselasky
H> Date: Thu Jan 30 12:04:02 2020
H> New Revision: 357293
H> URL: https://svnweb.freebsd.org/changeset/base/357293
H
Author: jeff
Date: Fri Jan 31 02:03:22 2020
New Revision: 357315
URL: https://svnweb.freebsd.org/changeset/base/357315
Log:
Fix LINT build with MEMGUARD.
Modified:
head/sys/vm/uma_core.c
Modified: head/sys/vm/uma_core.c
Author: jeff
Date: Fri Jan 31 02:08:09 2020
New Revision: 357316
URL: https://svnweb.freebsd.org/changeset/base/357316
Log:
Don't use "All rights reserved" in new copyrights.
Requested by: rgrimes
Modified:
head/sys/kern/subr_smr.c
head/sys/sys/_smr.h
head/sys/sys/smr.h
Modified: he
Author: jeff
Date: Fri Jan 31 02:18:56 2020
New Revision: 357317
URL: https://svnweb.freebsd.org/changeset/base/357317
Log:
Implement a simple UMA SMR stress testing tool.
Added:
head/tools/uma/
head/tools/uma/smrstress/
head/tools/uma/smrstress/Makefile (contents, props changed)
head
Author: jeff
Date: Fri Jan 31 22:21:15 2020
New Revision: 357355
URL: https://svnweb.freebsd.org/changeset/base/357355
Log:
Add two missing fences with comments describing them. These were found by
inspection and after a lengthy discussion with jhb and kib. They have not
produced test fail
Author: jeff
Date: Sat Feb 1 23:46:30 2020
New Revision: 357392
URL: https://svnweb.freebsd.org/changeset/base/357392
Log:
Fix a bug in r356776 where the page allocator was not properly restored to
the percpu page allocator after it had been temporarily overridden by
startup_alloc.
Rep
Author: jeff
Date: Tue Feb 4 02:41:24 2020
New Revision: 357485
URL: https://svnweb.freebsd.org/changeset/base/357485
Log:
Use STAILQ instead of TAILQ for bucket lists. We only need FIFO behavior
and this is more space efficient.
Stop queueing recently used buckets to the head of the li
Author: jeff
Date: Tue Feb 4 02:42:54 2020
New Revision: 357486
URL: https://svnweb.freebsd.org/changeset/base/357486
Log:
Fix a recursion on the thread lock by acquiring it after call rtp_to_pri().
Reported by: swills
Reviewed by: kib, markj
Differential Revision:https://rev
Author: jeff
Date: Tue Feb 4 02:44:52 2020
New Revision: 357487
URL: https://svnweb.freebsd.org/changeset/base/357487
Log:
Implement a deferred write advancement feature that can be used to further
amortize shared cacheline writes.
Discussed with: rlibby
Differential Revision:h
Author: jeff
Date: Tue Feb 4 05:27:45 2020
New Revision: 357494
URL: https://svnweb.freebsd.org/changeset/base/357494
Log:
Fix libmemstat_uma build after r357485.
Submitted by: cy
Modified:
head/lib/libmemstat/memstat_uma.c
Modified: head/lib/libmemstat/memstat_uma.c
==
Author: jeff
Date: Tue Feb 4 20:28:06 2020
New Revision: 357527
URL: https://svnweb.freebsd.org/changeset/base/357527
Log:
Use literal bucket sizes for smaller buckets rather than the rounding
system. Small bucket sizes already pack well even if they are an odd
number of words. This preve
Author: jeff
Date: Tue Feb 4 20:33:01 2020
New Revision: 357528
URL: https://svnweb.freebsd.org/changeset/base/357528
Log:
Add an explicit busy state for free pages. This improves behavior with
potential bugs that access freed pages as well as providing a path
towards lockless page lookup.
Author: jeff
Date: Wed Nov 8 02:39:37 2017
New Revision: 325530
URL: https://svnweb.freebsd.org/changeset/base/325530
Log:
Replace manyinstances of VM_WAIT with blocking page allocation flags
similar to the kernel memory allocator.
This simplifies NUMA allocation because the domain will
Author: jeff
Date: Thu Feb 6 20:10:21 2020
New Revision: 357637
URL: https://svnweb.freebsd.org/changeset/base/357637
Log:
Add some global counters for SMR. These may eventually become per-smr
counters. In my stress test there is only one poll for every 15,000
frees. This means we are ef
Author: jeff
Date: Thu Feb 6 20:47:50 2020
New Revision: 357640
URL: https://svnweb.freebsd.org/changeset/base/357640
Log:
Temporarily force IFF_NEEDSEPOCH until drivers have been resolved.
Recent network epoch changes have left some drivers unexpectedly broken
and there is not yet a con
Author: jeff
Date: Thu Feb 6 20:51:46 2020
New Revision: 357641
URL: https://svnweb.freebsd.org/changeset/base/357641
Log:
Fix a race in smr_advance() that could result in unnecessary poll calls.
This was relatively harmless but surprising to see in counters. The
race occurred when rd_s
Author: jeff
Date: Thu Feb 13 20:50:21 2020
New Revision: 357882
URL: https://svnweb.freebsd.org/changeset/base/357882
Log:
Add more precise SMR entry asserts.
Modified:
head/sys/kern/subr_smr.c
head/sys/sys/smr.h
Modified: head/sys/kern/subr_smr.c
=
Author: jeff
Date: Thu Feb 13 20:58:51 2020
New Revision: 357883
URL: https://svnweb.freebsd.org/changeset/base/357883
Log:
Fix a case where ub_seq would fail to be set if the cross bucket was
flushed due to memory pressure.
Reviewed by: markj
Differential Revision:http://revie
Author: jeff
Date: Thu Feb 13 21:10:17 2020
New Revision: 357884
URL: https://svnweb.freebsd.org/changeset/base/357884
Log:
Since r357804 pcpu zones are required to use zalloc_pcpu(). Prior to this
it was only required if you were zeroing. Switch to these interfaces.
Reviewed by: mjg
Author: jeff
Date: Sun Feb 16 01:07:19 2020
New Revision: 357988
URL: https://svnweb.freebsd.org/changeset/base/357988
Log:
Slightly restructure uma_zalloc* to generate better code from clang and
reduce duplication among zalloc functions.
Reviewed by: markj
Discussed with: mjg
Author: jeff
Date: Mon Feb 17 01:06:18 2020
New Revision: 358010
URL: https://svnweb.freebsd.org/changeset/base/358010
Log:
UMA has become more particular about zone types. Use the right allocator
calls in uma_zwait().
Modified:
head/sys/vm/uma_core.c
Modified: head/sys/vm/uma_core.c
Author: jeff
Date: Mon Feb 17 01:08:00 2020
New Revision: 358011
URL: https://svnweb.freebsd.org/changeset/base/358011
Log:
Refactor _vm_page_busy_sleep to reduce the delta between the various
sleep routines and introduce a variant that supports lockless sleep.
Reviewed by: kib
Differe
Author: jeff
Date: Mon Feb 17 01:59:55 2020
New Revision: 358012
URL: https://svnweb.freebsd.org/changeset/base/358012
Log:
Add a simple accessor that returns the bytes of memory consumed by a zone.
Modified:
head/sys/vm/uma.h
head/sys/vm/uma_core.c
Modified: head/sys/vm/uma.h
Author: jeff
Date: Wed Feb 19 08:15:20 2020
New Revision: 358096
URL: https://svnweb.freebsd.org/changeset/base/358096
Log:
Type validating smr protected pointer accessors.
This API is intended to provide some measure of safety with SMR
protected pointers. A struct wrapper provides type
Author: jeff
Date: Wed Feb 19 08:17:27 2020
New Revision: 358097
URL: https://svnweb.freebsd.org/changeset/base/358097
Log:
Eliminate some unnecessary uses of UMA_ZONE_VM. Only zones involved in
virtual address or physical page allocation need to be marked with this
flag.
Reviewed by:
Author: jeff
Date: Wed Feb 19 09:10:11 2020
New Revision: 358098
URL: https://svnweb.freebsd.org/changeset/base/358098
Log:
Don't release xbusy on kmem pages. After lockless page lookup we will not
be able to guarantee that they can be racquired without blocking.
Reviewed by: kib
Disc
Author: jeff
Date: Wed Feb 19 18:48:46 2020
New Revision: 358128
URL: https://svnweb.freebsd.org/changeset/base/358128
Log:
Use per-domain locks for the bucket cache.
This gives much better concurrency when there are a large number of
cores per-domain and multiple domains. Avoid taking t
Author: jeff
Date: Wed Feb 19 19:51:09 2020
New Revision: 358129
URL: https://svnweb.freebsd.org/changeset/base/358129
Log:
Since r357940 it is no longer possible to use a single type cast for all
atomic_*_ptr functions.
Modified:
head/sys/sys/smr.h
Modified: head/sys/sys/smr.h
===
Author: jeff
Date: Wed Feb 19 19:58:31 2020
New Revision: 358130
URL: https://svnweb.freebsd.org/changeset/base/358130
Log:
Use SMR to provide a safe unlocked lookup for vm_radix.
The tree is kept correct for readers with store barriers and careful
ordering. The existing object lock seri
Author: jeff
Date: Wed Feb 19 22:34:22 2020
New Revision: 358133
URL: https://svnweb.freebsd.org/changeset/base/358133
Log:
Silence a gcc warning about no return from a function that handles every
possible enum in a switch statement. I verified that this emits nothing
as expected on clang.
On Fri, 21 Feb 2020, mmats...@cybernet.co.jp wrote:
Hi Jeff,
From: Jeff Roberson
Date: Wed, 19 Feb 2020 08:17:27 + (UTC)
Author: jeff
Date: Wed Feb 19 08:17:27 2020
New Revision: 358097
URL: https://svnweb.freebsd.org/changeset/base/358097
Log:
Eliminate some unnecessary uses of
Author: jeff
Date: Sat Feb 22 03:44:10 2020
New Revision: 358236
URL: https://svnweb.freebsd.org/changeset/base/358236
Log:
Add an atomic-free tick moderated lazy update variant of SMR.
This enables very cheap read sections with free-to-use latencies and memory
overhead similar to epoch.
Author: jeff
Date: Thu Feb 27 02:37:27 2020
New Revision: 358363
URL: https://svnweb.freebsd.org/changeset/base/358363
Log:
Add unlocked grab* function variants that use lockless radix code to
lookup pages. These variants will fall back to their locked counterparts
if the page is not presen
Author: jeff
Date: Thu Feb 27 08:23:10 2020
New Revision: 358377
URL: https://svnweb.freebsd.org/changeset/base/358377
Log:
A pair of performance improvements.
Swap buckets on free as well as alloc so that alloc is always the most
cache-hot data.
When selecting a zone domain for the
Author: jeff
Date: Thu Feb 27 19:05:26 2020
New Revision: 358400
URL: https://svnweb.freebsd.org/changeset/base/358400
Log:
Simplify lazy advance with a 64bit atomic cmpset.
This provides the potential to force a lazy (tick based) SMR to advance
when there are blocking waiters by decoupli
Author: jeff
Date: Fri Feb 28 20:29:53 2020
New Revision: 358443
URL: https://svnweb.freebsd.org/changeset/base/358443
Log:
Eliminate object locking in zfs where possible with the new lockless grab
APIs.
Reviewed by: kib, markj, mmacy
Differential Revision:https://reviews.freeb
Author: jeff
Date: Fri Feb 28 20:30:53 2020
New Revision: 358444
URL: https://svnweb.freebsd.org/changeset/base/358444
Log:
Simplify vref() code in object_reference. The local temporary is no longer
necessary. Fix formatting errors.
Reported by: mjg
Discussed with: kib
Modifie
Author: jeff
Date: Fri Feb 28 20:32:35 2020
New Revision: 358445
URL: https://svnweb.freebsd.org/changeset/base/358445
Log:
Support the NOCREAT flag for grab_valid_unlocked.
Reviewed by: markj
Differential Revision:https://reviews.freebsd.org/D23865
Modified:
head/sys/vm/vm_pa
Author: jeff
Date: Fri Feb 28 20:33:28 2020
New Revision: 358446
URL: https://svnweb.freebsd.org/changeset/base/358446
Log:
Use unlocked grab for uipc_shm/tmpfs.
Reviewed by: markj
Differential Revision:https://reviews.freebsd.org/D23865
Modified:
head/sys/kern/uipc_shm.c
Mod
Author: jeff
Date: Fri Feb 28 20:34:30 2020
New Revision: 358447
URL: https://svnweb.freebsd.org/changeset/base/358447
Log:
Convert a few triviail consumers to the new unlocked grab API.
Reviewed by: kib, markj
Differential Revision:https://reviews.freebsd.org/D23847
Modified:
Author: jeff
Date: Fri Feb 28 21:42:48 2020
New Revision: 358451
URL: https://svnweb.freebsd.org/changeset/base/358451
Log:
Provide a lock free alternative to resolve bogus pages. This is not likely
to be much of a perf win, just a nice code simplification.
Reviewed by: markj, kib
Dif
Author: jeff
Date: Wed Mar 11 22:25:45 2020
New Revision: 358901
URL: https://svnweb.freebsd.org/changeset/base/358901
Log:
Check for busy or wired in vm_page_relookup(). Some callers will only keep
a page wired and expect it to still be present.
Reported by: delp...@freebsd.org
Revie
Author: jeff
Date: Mon Mar 21 09:40:01 2011
New Revision: 219819
URL: http://svn.freebsd.org/changeset/base/219819
Log:
- Merge changes to the base system to support OFED. These include
a wider arg2 for sysctl, updates to vlan code, IFT_INFINIBAND,
and other miscellaneous small featu
101 - 200 of 314 matches
Mail list logo