svn commit: r362459 - head/sys/kern

2020-06-20 Thread Jeff Roberson
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

svn commit: r362449 - head/sys/vm

2020-06-20 Thread Jeff Roberson
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

svn commit: r358901 - head/sys/vm

2020-03-11 Thread Jeff Roberson
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

svn commit: r358451 - in head/sys: kern vm

2020-02-28 Thread Jeff Roberson
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

svn commit: r358447 - in head/sys: dev/drm2/ttm dev/md kern vm

2020-02-28 Thread Jeff Roberson
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:

svn commit: r358446 - head/sys/kern

2020-02-28 Thread Jeff Roberson
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

svn commit: r358445 - head/sys/vm

2020-02-28 Thread Jeff Roberson
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:

svn commit: r358444 - head/sys/vm

2020-02-28 Thread Jeff Roberson
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

svn commit: r358443 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2020-02-28 Thread Jeff Roberson
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:

svn commit: r358400 - in head/sys: kern sys

2020-02-27 Thread Jeff Roberson
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

svn commit: r358377 - head/sys/vm

2020-02-27 Thread Jeff Roberson
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

svn commit: r358363 - head/sys/vm

2020-02-26 Thread Jeff Roberson
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

svn commit: r358236 - in head/sys: kern sys vm

2020-02-21 Thread Jeff Roberson
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.

Re: svn commit: r358097 - in head/sys: kern vm

2020-02-20 Thread Jeff Roberson
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

svn commit: r358133 - head/sys/vm

2020-02-19 Thread Jeff Roberson
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.

svn commit: r358130 - head/sys/vm

2020-02-19 Thread Jeff Roberson
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

svn commit: r358129 - head/sys/sys

2020-02-19 Thread Jeff Roberson
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

svn commit: r358128 - in head: lib/libmemstat sys/vm

2020-02-19 Thread Jeff Roberson
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

svn commit: r358098 - head/sys/vm

2020-02-19 Thread Jeff Roberson
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

svn commit: r358097 - in head/sys: kern vm

2020-02-19 Thread Jeff Roberson
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:

svn commit: r358096 - head/sys/sys

2020-02-19 Thread Jeff Roberson
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

svn commit: r358012 - head/sys/vm

2020-02-16 Thread Jeff Roberson
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

svn commit: r358011 - head/sys/vm

2020-02-16 Thread Jeff Roberson
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

svn commit: r358010 - head/sys/vm

2020-02-16 Thread Jeff Roberson
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

svn commit: r357988 - head/sys/vm

2020-02-15 Thread Jeff Roberson
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

svn commit: r357884 - head/sys/kern

2020-02-13 Thread Jeff Roberson
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

svn commit: r357883 - head/sys/vm

2020-02-13 Thread Jeff Roberson
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:

svn commit: r357882 - in head/sys: kern sys

2020-02-13 Thread Jeff Roberson
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

svn commit: r357641 - head/sys/kern

2020-02-06 Thread Jeff Roberson
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

svn commit: r357640 - head/sys/net

2020-02-06 Thread Jeff Roberson
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

svn commit: r357637 - head/sys/kern

2020-02-06 Thread Jeff Roberson
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

svn commit: r357528 - head/sys/vm

2020-02-04 Thread Jeff Roberson
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

svn commit: r357527 - head/sys/vm

2020-02-04 Thread Jeff Roberson
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

svn commit: r357494 - head/lib/libmemstat

2020-02-03 Thread Jeff Roberson
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

svn commit: r357487 - in head/sys: kern sys

2020-02-03 Thread Jeff Roberson
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:

svn commit: r357486 - head/sys/kern

2020-02-03 Thread Jeff Roberson
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:

svn commit: r357485 - head/sys/vm

2020-02-03 Thread Jeff Roberson
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

svn commit: r357392 - head/sys/vm

2020-02-01 Thread Jeff Roberson
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.

svn commit: r357355 - in head/sys: kern sys

2020-01-31 Thread Jeff Roberson
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

svn commit: r357317 - in head/tools/uma: . smrstress

2020-01-30 Thread Jeff Roberson
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)

svn commit: r357316 - in head/sys: kern sys

2020-01-30 Thread Jeff Roberson
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:

svn commit: r357315 - head/sys/vm

2020-01-30 Thread Jeff Roberson
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

Re: svn commit: r357293 - head/sys/net

2020-01-30 Thread Jeff Roberson
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

Re: svn commit: r357293 - head/sys/net

2020-01-30 Thread Jeff Roberson
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.

Re: svn commit: r357291 - in head/sys/dev: bwi bwn ipw iwi iwm iwn malo mwl ral rtwn/pci wi wpi wtap

2020-01-30 Thread Jeff Roberson
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

Re: svn commit: r357291 - in head/sys/dev: bwi bwn ipw iwi iwm iwn malo mwl ral rtwn/pci wi wpi wtap

2020-01-30 Thread Jeff Roberson
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

Re: svn commit: r357253 - head/sys/vm

2020-01-29 Thread Jeff Roberson
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

Re: svn commit: r357051 - head/sys/dev/bge

2020-01-26 Thread Jeff Roberson
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 appr

Re: svn commit: r357051 - head/sys/dev/bge

2020-01-23 Thread Jeff Roberson
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 but

Re: svn commit: r357051 - head/sys/dev/bge

2020-01-23 Thread Jeff Roberson
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

Re: svn commit: r357055 - head/sys/sparc64/sparc64

2020-01-23 Thread Jeff Roberson
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

Re: svn commit: r357028 - head/sys/vm

2020-01-22 Thread Jeff Roberson
. 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

svn commit: r357028 - head/sys/vm

2020-01-22 Thread Jeff Roberson
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:

svn commit: r357027 - head/sys/vm

2020-01-22 Thread Jeff Roberson
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:

svn commit: r357026 - head/sys/vm

2020-01-22 Thread Jeff Roberson
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

svn commit: r357025 - head/sys/vm

2020-01-22 Thread Jeff Roberson
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

svn commit: r357024 - head/sys/vm

2020-01-22 Thread Jeff Roberson
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:

svn commit: r357023 - head/sys/vm

2020-01-22 Thread Jeff Roberson
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:

svn commit: r357022 - head/sys/vm

2020-01-22 Thread Jeff Roberson
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,

svn commit: r357021 - head/sys/vm

2020-01-22 Thread Jeff Roberson
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:

svn commit: r357020 - head/sys/vm

2020-01-22 Thread Jeff Roberson
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

svn commit: r357017 - in head/sys: dev/spibus kern vm

2020-01-22 Thread Jeff Roberson
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

svn commit: r357015 - head/sys/vm

2020-01-22 Thread Jeff Roberson
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:

svn commit: r357014 - head/sys/kern

2020-01-22 Thread Jeff Roberson
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

svn commit: r356936 - head/sys/vm

2020-01-20 Thread Jeff Roberson
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:

svn commit: r356933 - head/sys/vm

2020-01-20 Thread Jeff Roberson
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

svn commit: r356902 - in head/sys: dev/md fs/tmpfs kern vm

2020-01-19 Thread Jeff Roberson
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

svn commit: r356887 - head/sys/vm

2020-01-19 Thread Jeff Roberson
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

svn commit: r356886 - head/sys/vm

2020-01-19 Thread Jeff Roberson
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

svn commit: r356885 - in head/sys: kern sys

2020-01-19 Thread Jeff Roberson
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:

svn commit: r356822 - head/sys/vm

2020-01-16 Thread Jeff Roberson
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.

svn commit: r356776 - in head/sys: kern vm

2020-01-15 Thread Jeff Roberson
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

Re: svn commit: r356755 - in head/sys: net netinet netinet6 netpfil/ipfw/nat64 sys

2020-01-15 Thread Jeff Roberson
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

svn commit: r356714 - head/sys/ufs/ffs

2020-01-13 Thread Jeff Roberson
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

Re: svn commit: r356389 - head/sys/vm

2020-01-06 Thread Jeff Roberson
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

svn commit: r356393 - head/sys/vm

2020-01-05 Thread Jeff Roberson
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.

svn commit: r356389 - head/sys/vm

2020-01-05 Thread Jeff Roberson
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

Re: svn commit: r356348 - in head/sys: kern vm

2020-01-05 Thread Jeff Roberson
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

svn commit: r356353 - head/sys/vm

2020-01-04 Thread Jeff Roberson
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.

svn commit: r356351 - in head/sys: conf vm

2020-01-04 Thread Jeff Roberson
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.

svn commit: r356350 - head/sys/vm

2020-01-03 Thread Jeff Roberson
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

svn commit: r356349 - in head: lib/libmemstat sys/vm

2020-01-03 Thread Jeff Roberson
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

svn commit: r356348 - in head/sys: kern vm

2020-01-03 Thread Jeff Roberson
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.

svn commit: r356347 - head/sys/vm

2020-01-03 Thread Jeff Roberson
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

Re: svn commit: r356308 - in head/sys: cddl/compat/opensolaris/kern cddl/compat/opensolaris/sys conf kern mips/include powerpc/include sys

2020-01-02 Thread Jeff Roberson
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

Re: svn commit: r356185 - in head: lib/geom lib/geom/sched sys/geom sys/geom/sched sys/modules/geom sys/modules/geom/geom_sched sys/sys

2019-12-30 Thread Jeff Roberson
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

Re: svn commit: r356142 - in head/sys: dev/ofw sys

2019-12-30 Thread Jeff Roberson
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

Re: svn commit: r356142 - in head/sys: dev/ofw sys

2019-12-28 Thread Jeff Roberson
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

Re: svn commit: r356159 - head/sys/vm

2019-12-28 Thread Jeff Roberson
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.

svn commit: r356109 - head/sys/vm

2019-12-26 Thread Jeff Roberson
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

svn commit: r356081 - head/sys/vm

2019-12-25 Thread Jeff Roberson
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

svn commit: r356080 - in head: lib/libmemstat sys/vm

2019-12-25 Thread Jeff Roberson
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

svn commit: r356079 - head/sys/vm

2019-12-25 Thread Jeff Roberson
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

svn commit: r356059 - head/sys/vm

2019-12-24 Thread Jeff Roberson
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

svn commit: r356026 - head/sys/vm

2019-12-22 Thread Jeff Roberson
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

svn commit: r356002 - in head/sys: compat/linuxkpi/common/src dev/drm2/ttm dev/netmap dev/xen/gntdev dev/xen/privcmd vm

2019-12-21 Thread Jeff Roberson
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

svn commit: r355997 - head/sys/vm

2019-12-21 Thread Jeff Roberson
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:

svn commit: r355915 - head/sys/kern

2019-12-19 Thread Jeff Roberson
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:

svn commit: r355819 - in head/sys: arm/arm arm64/arm64 i386/i386 mips/mips powerpc/powerpc riscv/riscv

2019-12-16 Thread Jeff Roberson
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

Re: svn commit: r355784 - in head/sys: compat/linuxkpi/common/src dev/dpaa kern mips/nlm sys

2019-12-16 Thread Jeff Roberson
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

  1   2   3   4   >