Author: alc
Date: Mon Nov 2 19:20:06 2020
New Revision: 367281
URL: https://svnweb.freebsd.org/changeset/base/367281
Log:
Tidy up the #includes. Recent changes, such as the introduction of
VM_ALLOC_WAITOK and vm_page_unwire_noq(), have eliminated the need for
many of the #includes.
Re
Author: alc
Date: Tue Oct 27 18:08:33 2020
New Revision: 367087
URL: https://svnweb.freebsd.org/changeset/base/367087
Log:
Revise the description of MAP_STACK. In particular, describe the guard
in more detail.
Reviewed by: bcr, kib, markj
MFC after:1 week
Differential Revision:
Author: alc
Date: Fri Oct 23 06:24:38 2020
New Revision: 366960
URL: https://svnweb.freebsd.org/changeset/base/366960
Log:
Conditionally compile struct vm_phys_seg's md_first field. This field is
only used by arm64's pmap.
Reviewed by: kib, markj, scottph
Differential Revision:
Author: alc
Date: Thu Oct 22 17:47:51 2020
New Revision: 366944
URL: https://svnweb.freebsd.org/changeset/base/366944
Log:
Micro-optimize uma_small_alloc(). Replace bzero(..., PAGE_SIZE) by
pagezero(). Ultimately, they use the same method for bulk zeroing, but
the generality of bzero() req
On 8/4/20 10:25 AM, Emmanuel Vadot wrote:
Author: manu
Date: Tue Aug 4 15:25:22 2020
New Revision: 363842
URL: https://svnweb.freebsd.org/changeset/base/363842
Log:
linuxkpi: Add clear_bit_unlock
This calls clear_bit and adds a memory barrier.
Sponsored by: The FreeBSD Foundat
On 3/11/20 9:16 PM, Mateusz Guzik wrote:
On 3/10/20, Konstantin Belousov wrote:
On Tue, Mar 10, 2020 at 12:22:09AM +0100, Mateusz Guzik wrote:
On 3/9/20, Konstantin Belousov wrote:
On Mon, Mar 09, 2020 at 01:56:17AM +0100, Mateusz Guzik wrote:
On 3/8/20, Mateusz Guzik wrote:
Author: mjg
Author: alc
Date: Sat Jan 4 19:50:25 2020
New Revision: 356354
URL: https://svnweb.freebsd.org/changeset/base/356354
Log:
When a copy-on-write fault occurs, pmap_enter() is called on to replace the
mapping to the old read-only page with a mapping to the new read-write page.
To destroy the o
On 12/30/19 2:59 PM, Colin Percival wrote:
On 2019-12-30 12:30, Alan Cox wrote:
Author: alc
Date: Mon Dec 30 20:30:31 2019
New Revision: 356207
URL: https://svnweb.freebsd.org/changeset/base/356207
Log:
Determine whether the MMU hardware is capable of updating a page table
entry
Author: alc
Date: Mon Dec 30 20:30:31 2019
New Revision: 356207
URL: https://svnweb.freebsd.org/changeset/base/356207
Log:
Determine whether the MMU hardware is capable of updating a page table
entry's access flag and dirty state, and enable this feature when it's
available.
Ensure that
Author: alc
Date: Sun Dec 29 05:36:01 2019
New Revision: 356168
URL: https://svnweb.freebsd.org/changeset/base/356168
Log:
Correctly implement PMAP_ENTER_NOREPLACE in pmap_enter_{l2,pde}() on kernel
mappings.
Reduce code duplication by defining a function, pmap_abort_ptp(), for
handling
Author: alc
Date: Sat Dec 21 22:32:24 2019
New Revision: 355991
URL: https://svnweb.freebsd.org/changeset/base/355991
Log:
Micro-optimize the control flow in _pmap_unwire_ptp(), and eliminate
unnecessary parentheses.
Reviewed by: kib, markj
MFC after:1 week
Differential Revision:
Author: alc
Date: Fri Dec 20 20:46:26 2019
New Revision: 355946
URL: https://svnweb.freebsd.org/changeset/base/355946
Log:
Correct a mistakenly inverted condition in r355833.
Noticed by: kib
X-MFC with: r355833
Modified:
head/sys/amd64/amd64/pmap.c
head/sys/arm64/arm64/pmap.c
Mo
Author: alc
Date: Wed Dec 18 18:21:39 2019
New Revision: 355883
URL: https://svnweb.freebsd.org/changeset/base/355883
Log:
When pmap_enter_{l2,pde}() are called to create a kernel mapping, they are
incrementing (and decrementing) the ref_count on kernel page table pages.
They should not do t
Author: alc
Date: Sun Dec 15 22:41:57 2019
New Revision: 355787
URL: https://svnweb.freebsd.org/changeset/base/355787
Log:
Apply a small optimization to pmap_remove_l3_range(). Specifically, hoist a
PHYS_TO_VM_PAGE() operation that always returns the same vm_page_t out of
the loop. (Since
Author: alc
Date: Thu Dec 5 19:25:49 2019
New Revision: 355427
URL: https://svnweb.freebsd.org/changeset/base/355427
Log:
On a context switch, handle the possibility that the old thread was
preempted after an "ic" or "tlbi" instruction but before it performed a
"dsb" instruction. The "ic"
On 11/28/19 7:52 AM, Konstantin Belousov wrote:
On Thu, Nov 28, 2019 at 09:17:15AM +, Andrew Turner wrote:
On 28 Nov 2019, at 08:48, Michal Meloun wrote:
On 27.11.2019 21:33, Alan Cox wrote:
Author: alc
Date: Wed Nov 27 20:33:49 2019
New Revision: 355145
URL: https
Author: alc
Date: Wed Nov 27 20:33:49 2019
New Revision: 355145
URL: https://svnweb.freebsd.org/changeset/base/355145
Log:
There is no reason why we need to pin the underlying thread to its current
processor in pmap_invalidate_{all,page,range}(). These functions are using
an instruction tha
Author: alc
Date: Wed Nov 27 19:34:33 2019
New Revision: 355136
URL: https://svnweb.freebsd.org/changeset/base/355136
Log:
MFC r350579,r350741,r352584
Enable superpage promotion within the kernel pmap.
Ordinarily, during a superpage promotion or demotion within a pmap, the
pmap's
Author: alc
Date: Wed Nov 20 16:32:13 2019
New Revision: 354898
URL: https://svnweb.freebsd.org/changeset/base/354898
Log:
Until every possible root cause for an "invalid ASID" assertion failure is
resolved, assign every pmap a valid ASID when it is first initialized.
Modified:
head/sys/arm
Author: alc
Date: Tue Nov 19 19:05:05 2019
New Revision: 354860
URL: https://svnweb.freebsd.org/changeset/base/354860
Log:
Achieve two goals at once: (1) Avoid an unnecessary broadcast TLB
invalidation in reclaim_pv_chunk(). (2) Prevent an "invalid ASID" assertion
failure in reclaim_pv_chunk
Author: alc
Date: Sun Nov 17 22:44:38 2019
New Revision: 354799
URL: https://svnweb.freebsd.org/changeset/base/354799
Log:
MFC r352847,352930,354585
Eliminate redundant calls to critical_enter() and critical_exit() from
pmap_update_entry(). It suffices that interrupts are blocked.
Author: alc
Date: Sun Nov 17 17:38:53 2019
New Revision: 354792
URL: https://svnweb.freebsd.org/changeset/base/354792
Log:
Achieve two goals at once: (1) Avoid an unnecessary broadcast TLB
invalidation in pmap_remove_all(). (2) Prevent an "invalid ASID" assertion
failure in pmap_remove_all()
Author: alc
Date: Sun Nov 10 05:22:01 2019
New Revision: 354585
URL: https://svnweb.freebsd.org/changeset/base/354585
Log:
Eliminate a redundant pmap_load() from pmap_remove_pages().
There is no reason why the pmap_invalidate_all() in pmap_remove_pages()
must be performed before the final
Author: alc
Date: Sun Nov 3 17:45:30 2019
New Revision: 354286
URL: https://svnweb.freebsd.org/changeset/base/354286
Log:
Utilize ASIDs to reduce both the direct and indirect costs of context
switching. The indirect costs being unnecessary TLB misses that are
incurred when ASIDs are not us
Author: alc
Date: Mon Oct 7 04:22:03 2019
New Revision: 353163
URL: https://svnweb.freebsd.org/changeset/base/353163
Log:
Eliminate an unused declaration. The variable in question is only defined
and used on sparc64.
MFC after:1 week
Modified:
head/sys/arm64/include/vmparam.h
h
Author: alc
Date: Mon Oct 7 03:37:28 2019
New Revision: 353162
URL: https://svnweb.freebsd.org/changeset/base/353162
Log:
Eliminate a redundant bzero(). The l0 page table page was already zeroed
by efi_1t1_page().
MFC after:1 week
Modified:
head/sys/arm64/arm64/efirt_machdep.c
M
Author: alc
Date: Fri Oct 4 03:55:53 2019
New Revision: 353096
URL: https://svnweb.freebsd.org/changeset/base/353096
Log:
The implementation of arm64_tlb_flushID_SE() was removed from cpufunc_asm.S
in r313347. Eliminate its declaration from this file.
MFC after:1 week
Modified:
h
Author: alc
Date: Tue Oct 1 15:33:47 2019
New Revision: 352930
URL: https://svnweb.freebsd.org/changeset/base/352930
Log:
In short, pmap_enter_quick_locked("user space", ..., VM_PROT_READ) doesn't
work. More precisely, it doesn't set ATTR_AP(ATTR_AP_USER) in the page
table entry, so any at
Author: alc
Date: Sat Sep 28 17:16:03 2019
New Revision: 352847
URL: https://svnweb.freebsd.org/changeset/base/352847
Log:
Eliminate redundant calls to critical_enter() and critical_exit() from
pmap_update_entry(). It suffices that interrupts are blocked.
Reviewed by: andrew, markj
MF
Author: alc
Date: Sat Sep 21 19:51:57 2019
New Revision: 352584
URL: https://svnweb.freebsd.org/changeset/base/352584
Log:
In case a translation fault on the kernel address space occurs from
within a critical section, we must perform a lock-free check on the
faulting address.
Reported b
Author: alc
Date: Thu Sep 19 20:45:23 2019
New Revision: 352541
URL: https://svnweb.freebsd.org/changeset/base/352541
Log:
MF r349585
Tidy up pmap_copy(). Notably, deindent the innermost loop by making a
simple change to the control flow. Replace an unnecessary test by a
KASSERT.
Author: alc
Date: Thu Sep 19 15:12:32 2019
New Revision: 352519
URL: https://svnweb.freebsd.org/changeset/base/352519
Log:
MFC r350335:
Simplify the handling of superpages in pmap_clear_modify(). Specifically,
if a demotion succeeds, then all of the 4KB page mappings within the
superpage-
Author: alc
Date: Thu Sep 19 14:36:30 2019
New Revision: 352517
URL: https://svnweb.freebsd.org/changeset/base/352517
Log:
MFC r349526:
When we protect PTEs (as opposed to PDEs), we only call vm_page_dirty()
when, in fact, we are write protecting the page and the PTE has PG_M set.
Howev
Author: alc
Date: Wed Sep 18 14:38:42 2019
New Revision: 352485
URL: https://svnweb.freebsd.org/changeset/base/352485
Log:
MFC r349768
Restructure cache_handle_range to avoid repeated barriers. Specifically,
restructure cache_handle_range so that all of the data cache operations are
Author: alc
Date: Wed Sep 18 14:27:09 2019
New Revision: 352484
URL: https://svnweb.freebsd.org/changeset/base/352484
Log:
MFC r350546
Because of AArch64's weak memory consistency model, we need to include a
memory barrier between the stores for initializing a page table page and
the
Author: alc
Date: Wed Sep 18 07:25:04 2019
New Revision: 352475
URL: https://svnweb.freebsd.org/changeset/base/352475
Log:
MFC r350463
In pmap_advise(), when we encounter a superpage mapping, we first demote
the mapping and then destroy one of the 4 KB page mappings so that there
is
Author: alc
Date: Wed Sep 18 07:01:01 2019
New Revision: 352469
URL: https://svnweb.freebsd.org/changeset/base/352469
Log:
MFC r350347
Implement pmap_advise(). (Without a working pmap_advise() implementation
madvise(MADV_DONTNEED) and madvise(MADV_FREE) are NOPs.)
Modified:
stable/12
Author: alc
Date: Tue Sep 17 17:28:44 2019
New Revision: 352452
URL: https://svnweb.freebsd.org/changeset/base/352452
Log:
MFC r349117, r349122, r349183, r349897, r349943, r350004, r350029, r350038,
r350191, r350202, r350422, r350427, r350525
r349117:
Three enhancements to arm64's p
Author: alc
Date: Mon Sep 16 04:54:17 2019
New Revision: 352374
URL: https://svnweb.freebsd.org/changeset/base/352374
Log:
MFC r349323, r349442, r349866, r349975
pmap_enter_quick_locked() never replaces a valid mapping, so it need not
perform a TLB invalidation. A barrier suffices. (Se
Author: alc
Date: Mon Sep 16 02:31:58 2019
New Revision: 352373
URL: https://svnweb.freebsd.org/changeset/base/352373
Log:
MFC r349003, r349031, r349042, r349129, r349290, r349618, r349798
Change pmap_demote_l2_locked() so that it removes the superpage mapping on
a demotion failure. Oth
Author: alc
Date: Sun Sep 15 21:32:19 2019
New Revision: 352368
URL: https://svnweb.freebsd.org/changeset/base/352368
Log:
MFC r349070
Previously, when pmap_remove_pages() destroyed a dirty superpage mapping,
it only called vm_page_dirty() on the first of the superpage's constituent
Author: alc
Date: Sun Sep 15 21:27:14 2019
New Revision: 352367
URL: https://svnweb.freebsd.org/changeset/base/352367
Log:
MFC r349905
According to Section D5.10.3 "Maintenance requirements on changing System
register values" of the architecture manual, an isb instruction should be
e
Author: alc
Date: Sun Sep 15 17:22:29 2019
New Revision: 352358
URL: https://svnweb.freebsd.org/changeset/base/352358
Log:
MFC r348828
Implement an alternative solution to the amd64 and i386 pmap problem that
we previously addressed in r348246 (and MFCed in r348479).
This pmap pro
Author: alc
Date: Thu Aug 8 06:26:34 2019
New Revision: 350741
URL: https://svnweb.freebsd.org/changeset/base/350741
Log:
Ordinarily, during a superpage promotion or demotion within a pmap, the
pmap's lock ensures that other operations on the pmap don't observe the
old mapping being broken
Author: alc
Date: Mon Aug 5 02:44:04 2019
New Revision: 350579
URL: https://svnweb.freebsd.org/changeset/base/350579
Log:
Enable superpage promotion within the kernel pmap.
Reviewed by: markj
X-MFC after: r350004
Differential Revision:https://reviews.freebsd.org/D21149
Modif
Author: alc
Date: Fri Aug 2 22:36:42 2019
New Revision: 350546
URL: https://svnweb.freebsd.org/changeset/base/350546
Log:
Because of AArch64's weak memory consistency model, we need to include a
memory barrier between the stores for initializing a page table page and
the store for adding th
Author: alc
Date: Wed Jul 31 05:38:39 2019
New Revision: 350463
URL: https://svnweb.freebsd.org/changeset/base/350463
Log:
In pmap_advise(), when we encounter a superpage mapping, we first demote the
mapping and then destroy one of the 4 KB page mappings so that there is a
potential trigger
Author: alc
Date: Fri Jul 26 05:07:09 2019
New Revision: 350347
URL: https://svnweb.freebsd.org/changeset/base/350347
Log:
Implement pmap_advise(). (Without a working pmap_advise() implementation
madvise(MADV_DONTNEED) and madvise(MADV_FREE) are NOPs.)
Reviewed by: markj
X-MFC after:
Author: alc
Date: Thu Jul 25 22:02:55 2019
New Revision: 350335
URL: https://svnweb.freebsd.org/changeset/base/350335
Log:
Simplify the handling of superpages in pmap_clear_modify(). Specifically,
if a demotion succeeds, then all of the 4KB page mappings within the
superpage-sized region mu
Author: alc
Date: Sun Jul 21 17:00:19 2019
New Revision: 350202
URL: https://svnweb.freebsd.org/changeset/base/350202
Log:
With the introduction of software dirty bit emulation for managed mappings,
we should test ATTR_SW_DBM, not ATTR_AP_RW, to determine whether to set
PGA_WRITEABLE. In ef
Author: alc
Date: Sun Jul 21 03:26:26 2019
New Revision: 350191
URL: https://svnweb.freebsd.org/changeset/base/350191
Log:
Introduce pmap_store(), and use it to replace pmap_load_store() in places
where the page table entry was previously invalid. (Note that I did not
replace pmap_load_stor
Author: alc
Date: Tue Jul 16 03:09:03 2019
New Revision: 350021
URL: https://svnweb.freebsd.org/changeset/base/350021
Log:
Revert r349973. Upon further reflection, I realized that the comment
deleted by r349973 is still valid on i386. Restore it.
Discussed with: markj
Modified
Author: alc
Date: Sat Jul 13 16:32:19 2019
New Revision: 349975
URL: https://svnweb.freebsd.org/changeset/base/349975
Log:
Revert r349442, which was a workaround for bus errors caused by an errant
TLB entry. Specifically, at the start of pmap_enter_quick_locked(), we
would sometimes have a
Author: alc
Date: Sat Jul 13 15:53:28 2019
New Revision: 349973
URL: https://svnweb.freebsd.org/changeset/base/349973
Log:
Remove a stale comment.
Reported by: markj
MFC after:1 week
Modified:
head/sys/i386/i386/pmap.c
Modified: head/sys/i386/i386/pmap.c
=
Author: alc
Date: Thu Jul 11 02:43:23 2019
New Revision: 349905
URL: https://svnweb.freebsd.org/changeset/base/349905
Log:
According to Section D5.10.3 "Maintenance requirements on changing System
register values" of the architecture manual, an isb instruction should be
executed after updati
Author: alc
Date: Tue Jul 9 20:28:53 2019
New Revision: 349866
URL: https://svnweb.freebsd.org/changeset/base/349866
Log:
Introduce pmap_clear(), which zeroes a page table entry, and use it, instead
of pmap_load_clear(), in places where we don't care about the page table
entry's prior conte
Author: alc
Date: Sun Jul 7 06:06:48 2019
New Revision: 349798
URL: https://svnweb.freebsd.org/changeset/base/349798
Log:
Three changes to pmap_enter():
1. Use _pmap_alloc_l3() instead of pmap_alloc_l3() in order to handle the
possibility that a superpage mapping for "va" was created whi
Author: alc
Date: Fri Jul 5 20:01:06 2019
New Revision: 349768
URL: https://svnweb.freebsd.org/changeset/base/349768
Log:
Restructure cache_handle_range to avoid repeated barriers. Specifically,
restructure cache_handle_range so that all of the data cache operations are
performed before an
Author: alc
Date: Fri Jul 5 05:23:23 2019
New Revision: 349760
URL: https://svnweb.freebsd.org/changeset/base/349760
Log:
Merge r349526 from amd64. When we protect an L3 entry, we only call
vm_page_dirty() when, in fact, we are write protecting the page and the L3
entry has PTE_D set. How
Author: alc
Date: Tue Jul 2 23:02:52 2019
New Revision: 349618
URL: https://svnweb.freebsd.org/changeset/base/349618
Log:
Implement pmap_copy(). (This includes the changes applied to the amd64
pmap_copy() in r349585.)
Reviewed by: kib, markj
Differential Revision:https://revi
Author: alc
Date: Mon Jul 1 22:00:42 2019
New Revision: 349585
URL: https://svnweb.freebsd.org/changeset/base/349585
Log:
Tidy up pmap_copy(). Notably, deindent the innermost loop by making a
simple change to the control flow. Replace an unnecessary test by a
KASSERT. Add a comment expla
Author: alc
Date: Fri Jun 28 22:40:34 2019
New Revision: 349526
URL: https://svnweb.freebsd.org/changeset/base/349526
Log:
When we protect PTEs (as opposed to PDEs), we only call vm_page_dirty()
when, in fact, we are write protecting the page and the PTE has PG_M set.
However, pmap_protect_p
Author: alc
Date: Wed Jun 26 21:43:41 2019
New Revision: 349442
URL: https://svnweb.freebsd.org/changeset/base/349442
Log:
Revert one of the changes from r349323. Specifically, undo the change
that replaced a pmap_invalidate_page() with a dsb(ishst) in
pmap_enter_quick_locked(). Even thoug
Author: alc
Date: Sun Jun 23 21:06:56 2019
New Revision: 349323
URL: https://svnweb.freebsd.org/changeset/base/349323
Log:
pmap_enter_quick_locked() never replaces a valid mapping, so it need not
perform a TLB invalidation. A barrier suffices. (See r343876.)
Add a comment to pmap_enter_
Author: alc
Date: Sat Jun 22 16:26:38 2019
New Revision: 349290
URL: https://svnweb.freebsd.org/changeset/base/349290
Log:
Introduce pmap_remove_l3_range() and use it in two places:
(1) pmap_remove(), where it eliminates redundant TLB invalidations by
pmap_remove() and pmap_remove_l3(), and
Author: alc
Date: Wed Jun 19 03:33:00 2019
New Revision: 349183
URL: https://svnweb.freebsd.org/changeset/base/349183
Log:
Correct an error in r349122. pmap_unwire() should update the pmap's wired
count, not its resident count.
X-MFC with: r349122
Modified:
head/sys/arm64/arm64/pmap
Author: alc
Date: Mon Jun 17 01:58:25 2019
New Revision: 349129
URL: https://svnweb.freebsd.org/changeset/base/349129
Log:
Eliminate a redundant call to pmap_invalidate_page() from
pmap_ts_referenced().
MFC after:14 days
Differential Revision:https://reviews.freebsd.org/D127
Author: alc
Date: Sun Jun 16 22:13:27 2019
New Revision: 349122
URL: https://svnweb.freebsd.org/changeset/base/349122
Log:
Three changes to arm64's pmap_unwire():
Implement wiring changes on superpage mappings. Previously, a superpage
mapping was unconditionally demoted by pmap_unwire(),
Author: alc
Date: Sun Jun 16 16:45:01 2019
New Revision: 349117
URL: https://svnweb.freebsd.org/changeset/base/349117
Log:
Three enhancements to arm64's pmap_protect():
Implement protection changes on superpage mappings. Previously, a superpage
mapping was unconditionally demoted by pmap
Author: alc
Date: Sat Jun 15 17:26:42 2019
New Revision: 349070
URL: https://svnweb.freebsd.org/changeset/base/349070
Log:
Previously, when pmap_remove_pages() destroyed a dirty superpage mapping,
it only called vm_page_dirty() on the first of the superpage's constituent
4KB pages. This rev
Author: alc
Date: Fri Jun 14 22:06:43 2019
New Revision: 349042
URL: https://svnweb.freebsd.org/changeset/base/349042
Log:
Batch the TLB invalidations that are performed by pmap_protect() rather
than performing them one at a time.
MFC after:10 days
Modified:
head/sys/arm64/arm64/pm
Author: alc
Date: Fri Jun 14 04:01:08 2019
New Revision: 349031
URL: https://svnweb.freebsd.org/changeset/base/349031
Log:
Change the arm64 pmap so that updates to the global count of wired pages are
not performed directly by the pmap. Instead, they are performed by
vm_page_free_pages_toq()
Author: alc
Date: Wed Jun 12 20:38:49 2019
New Revision: 349003
URL: https://svnweb.freebsd.org/changeset/base/349003
Log:
Change pmap_demote_l2_locked() so that it removes the superpage mapping on a
demotion failure. Otherwise, some callers to pmap_demote_l2_locked(), such
as pmap_protect(
Author: alc
Date: Sun Jun 9 05:55:58 2019
New Revision: 348829
URL: https://svnweb.freebsd.org/changeset/base/348829
Log:
Correct a new KASSERT() in r348828.
X-MFC with: r348828
Modified:
head/sys/riscv/riscv/pmap.c
Modified: head/sys/riscv/riscv/pmap.c
==
Author: alc
Date: Sun Jun 9 03:36:10 2019
New Revision: 348828
URL: https://svnweb.freebsd.org/changeset/base/348828
Log:
Implement an alternative solution to the amd64 and i386 pmap problem that we
previously addressed in r348246.
This pmap problem also exists on arm64 and riscv. Howev
Author: alc
Date: Tue Jun 4 16:21:14 2019
New Revision: 348630
URL: https://svnweb.freebsd.org/changeset/base/348630
Log:
The changes to pmap_demote_pde_locked()'s control flow in r348476 resulted
in the loss of a KASSERT that guarded against the invalidation a wired
mapping. Restore this
Author: alc
Date: Mon Jun 3 05:15:36 2019
New Revision: 348525
URL: https://svnweb.freebsd.org/changeset/base/348525
Log:
Retire vm_reserv_extend_{contig,page}(). These functions were introduced
as part of a false start toward fine-grained reservation locking. In the
end, they were not ne
Author: alc
Date: Sun Dec 9 17:55:10 2018
New Revision: 341766
URL: https://svnweb.freebsd.org/changeset/base/341766
Log:
blst_leaf_alloc updates bighint for a leaf when an allocation is successful
and includes the last block represented by the leaf. The reasoning is that,
if the last bloc
Author: alc
Date: Wed Dec 5 18:26:40 2018
New Revision: 341602
URL: https://svnweb.freebsd.org/changeset/base/341602
Log:
Terminate a blist_alloc search when a blst_meta_alloc call fails with
cursor == 0.
Every call to blst_meta_alloc but the one at the root is made only when the
meta-
Author: alc
Date: Sat Nov 24 21:52:10 2018
New Revision: 340914
URL: https://svnweb.freebsd.org/changeset/base/340914
Log:
blist_meta_alloc assumes that mask=scan->bm_bitmap is nonzero. But if the
cursor lies in the middle of the space that the meta node represents, then
blanking the low bi
Author: alc
Date: Mon Nov 19 17:17:23 2018
New Revision: 340637
URL: https://svnweb.freebsd.org/changeset/base/340637
Log:
Use swp_pager_isondev() throughout. Submitted by: o...@j.email.ne.jp
Change swp_pager_isondev()'s return type to bool.
Reviewed by: kib
MFC after:1 week
Author: alc
Date: Sun Nov 18 01:27:17 2018
New Revision: 340546
URL: https://svnweb.freebsd.org/changeset/base/340546
Log:
Tidy up vm_map_simplify_entry() and its recently introduced helper
functions. Notably, reflow the text of some comments so that they
occupy fewer lines, and introduce a
Author: alc
Date: Sat Oct 27 17:49:46 2018
New Revision: 339819
URL: https://svnweb.freebsd.org/changeset/base/339819
Log:
Eliminate typically pointless calls to vm_fault_prefault() on soft, copy-
on-write faults. On a page fault, when we call vm_fault_prefault(), it
probes the pmap and the
Author: alc
Date: Mon Sep 24 16:49:02 2018
New Revision: 338912
URL: https://svnweb.freebsd.org/changeset/base/338912
Log:
Passing UMA_ZONE_NOFREE to uma_zcreate() for swpctrie_zone and swblk_zone is
redundant, because uma_zone_reserve_kva() is performed on both zones and it
sets this same f
Author: alc
Date: Sun Sep 2 18:29:38 2018
New Revision: 338431
URL: https://svnweb.freebsd.org/changeset/base/338431
Log:
Recent changes have created, for the first time, physical memory segments
that can be coalesced. To be clear, fragmentation of phys_avail[] is not
the cause. This frag
Author: alc
Date: Sat Aug 25 19:38:08 2018
New Revision: 338318
URL: https://svnweb.freebsd.org/changeset/base/338318
Log:
Eliminate the arena parameter to kmem_free(). Implicitly this corrects an
error in the function hypercall_memfree(), where the wrong arena was being
passed to kmem_free
Author: alc
Date: Tue Aug 21 16:43:46 2018
New Revision: 338143
URL: https://svnweb.freebsd.org/changeset/base/338143
Log:
Eliminate kmem_malloc()'s unused arena parameter. (The arena parameter
became unused in FreeBSD 12.x as a side-effect of the NUMA-related
changes.)
Reviewed by: k
On 08/20/2018 13:36, O. Hartmann wrote:
> Am Sat, 18 Aug 2018 18:33:50 + (UTC)
> Alan Cox schrieb:
>
> > Author: alc
> > Date: Sat Aug 18 18:33:50 2018
> > New Revision: 338018
> > URL: https://svnweb.freebsd.org/changeset/base/338018
>
> > L
Author: alc
Date: Mon Aug 20 15:57:27 2018
New Revision: 338107
URL: https://svnweb.freebsd.org/changeset/base/338107
Log:
Eliminate kmem_alloc_contig()'s unused arena parameter.
Reviewed by: hselasky, kib, markj
Discussed with: jeff
Differential Revision:https://reviews.
Author: alc
Date: Sat Aug 18 22:35:19 2018
New Revision: 338032
URL: https://svnweb.freebsd.org/changeset/base/338032
Log:
Oops. r338030 didn't eliminate the unused arena argument from all of
kmem_alloc_attr()'s callers. Correct that mistake.
Modified:
head/sys/arm/arm/busdma_machdep-v4.c
Author: alc
Date: Sat Aug 18 22:07:48 2018
New Revision: 338030
URL: https://svnweb.freebsd.org/changeset/base/338030
Log:
Eliminate the unused arena parameter from kmem_alloc_attr().
Reviewed by: kib, markj
Differential Revision:https://reviews.freebsd.org/D16793
Modified:
he
Author: alc
Date: Sat Aug 18 18:33:50 2018
New Revision: 338018
URL: https://svnweb.freebsd.org/changeset/base/338018
Log:
Eliminate the arena parameter to kmem_malloc_domain(). It is redundant.
The domain and flags parameters suffice. In fact, the related functions
kmem_alloc_{attr,contig
Author: alc
Date: Sat Aug 11 19:21:53 2018
New Revision: 337652
URL: https://svnweb.freebsd.org/changeset/base/337652
Log:
Eliminate a redundant assignment.
MFC after:1 week
Modified:
head/sys/kern/subr_vmem.c
Modified: head/sys/kern/subr_vmem.c
=
Author: alc
Date: Wed Aug 8 16:55:01 2018
New Revision: 337463
URL: https://svnweb.freebsd.org/changeset/base/337463
Log:
Add support for pmap_enter(..., psind=1) to the armv6 pmap. In other words,
add support for explicitly requesting that pmap_enter() create a 1 MB page
mapping. (Essent
Author: alc
Date: Wed Aug 8 02:30:34 2018
New Revision: 337443
URL: https://svnweb.freebsd.org/changeset/base/337443
Log:
Defer and aggregate swap_pager_meta_build frees.
Before swp_pager_meta_build replaces an old swapblk with an new one,
it frees the old one. To allow such freeing of
Author: alc
Date: Sat Aug 4 02:30:51 2018
New Revision: 337282
URL: https://svnweb.freebsd.org/changeset/base/337282
Log:
Set the default image base on arm64 and i386 to a superpage-aligned
address.
Reviewed by: emaste, markj
Discussed with: dim
Differential Revision:h
Author: alc
Date: Tue Jul 31 17:41:48 2018
New Revision: 336984
URL: https://svnweb.freebsd.org/changeset/base/336984
Log:
Allow vm object coalescing to occur in the midst of a vm object when the
OBJ_ONEMAPPING flag is set. In other words, allow recycling of existing
but unused subranges of
Author: alc
Date: Mon Jul 30 01:54:25 2018
New Revision: 336881
URL: https://svnweb.freebsd.org/changeset/base/336881
Log:
Prepare for adding psind == 1 support to armv6's pmap_enter().
Precompute the new PTE before entering the critical section.
Eliminate duplication of the pmap and p
Author: alc
Date: Sat Jul 28 04:06:33 2018
New Revision: 336803
URL: https://svnweb.freebsd.org/changeset/base/336803
Log:
To date, mlockall(MCL_FUTURE) has had the unfortunate side effect of
blocking vm map entry and object coalescing for the calling process.
However, there is no reason tha
Author: alc
Date: Sat Jul 21 21:26:38 2018
New Revision: 336589
URL: https://svnweb.freebsd.org/changeset/base/336589
Log:
Eliminate a comment that doesn't apply to this pmap implementation.
Coalesce the variable definitions for PV entry management.
MFC after:3 weeks
Modified:
h
1 - 100 of 1353 matches
Mail list logo