svn commit: r334180 - head/sys/vm

2018-05-24 Thread Alan Cox
Author: alc Date: Thu May 24 20:43:41 2018 New Revision: 334180 URL: https://svnweb.freebsd.org/changeset/base/334180 Log: Eliminate an unused parameter from vm_fault_populate(). Reviewed by: kib MFC after:10 days Modified: head/sys/vm/vm_fault.c Modified: head/sys/vm/vm_fault.c

svn commit: r334233 - head/sys/vm

2018-05-25 Thread Alan Cox
Author: alc Date: Sat May 26 02:59:34 2018 New Revision: 334233 URL: https://svnweb.freebsd.org/changeset/base/334233 Log: Use pmap_enter(..., psind=1) in vm_fault_populate() on amd64. While superpage mappings were already being created by automatic promotion in vm_fault_populate(), this ch

svn commit: r334274 - head/sys/vm

2018-05-27 Thread Alan Cox
Author: alc Date: Mon May 28 04:38:10 2018 New Revision: 334274 URL: https://svnweb.freebsd.org/changeset/base/334274 Log: Eliminate duplicate assertions. We assert at the start of vm_fault_hold() that the map entry is wired if the caller passes the flag VM_FAULT_WIRE. Eliminate the same as

svn commit: r334287 - head/sys/vm

2018-05-28 Thread Alan Cox
Author: alc Date: Mon May 28 16:23:39 2018 New Revision: 334287 URL: https://svnweb.freebsd.org/changeset/base/334287 Log: Addendum to r334233. In vm_fault_populate(), since the page lock is held, we must use vm_page_xunbusy_maybelocked() rather than vm_page_xunbusy() to unbusy the page.

svn commit: r334499 - head/sys/vm

2018-06-01 Thread Alan Cox
Author: alc Date: Fri Jun 1 21:37:42 2018 New Revision: 334499 URL: https://svnweb.freebsd.org/changeset/base/334499 Log: Only a small subset of mmap(2)'s flags should be used in combination with the flag MAP_GUARD. Rather than enumerating the flags that are not allowed, enumerate the flag

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

2018-06-04 Thread Alan Cox
Author: alc Date: Mon Jun 4 16:28:06 2018 New Revision: 334621 URL: https://svnweb.freebsd.org/changeset/base/334621 Log: Use a single, consistent approach to returning success versus failure in vm_map_madvise(). Previously, vm_map_madvise() used a traditional Unix- style "return (0);" to

svn commit: r334752 - head/sys/kern

2018-06-06 Thread Alan Cox
Author: alc Date: Thu Jun 7 02:54:11 2018 New Revision: 334752 URL: https://svnweb.freebsd.org/changeset/base/334752 Log: pidctrl_daemon() implements a variation on the classical, discrete PID controller that tries to handle early invocations of the controller, in other words, invocations b

svn commit: r334769 - head/sys/kern

2018-06-07 Thread Alan Cox
Author: alc Date: Thu Jun 7 07:48:50 2018 New Revision: 334769 URL: https://svnweb.freebsd.org/changeset/base/334769 Log: When pidctrl_daemon() is called multiple times within an interval, it should use the cumulative error to calculate the output. Modified: head/sys/kern/subr_pidctrl.c M

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

2018-06-14 Thread Alan Cox
> On Jun 14, 2018, at 5:54 PM, Steven Hartland > wrote: > > Out of interest, how would this exhibit itself? > A panic in vm_page_insert_after(). > On 14/06/2018 20:41, Konstantin Belousov wrote: >> Author: kib >> Date: Thu Jun 14 19:41:02 2018 >> New Revision: 335171 >> URL: https://svnweb.

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

2018-06-14 Thread Alan Cox
> On Jun 14, 2018, at 6:07 PM, Alan Cox wrote: > > >> On Jun 14, 2018, at 5:54 PM, Steven Hartland >> mailto:steven.hartl...@multiplay.co.uk>> >> wrote: >> >> Out of interest, how would this exhibit itself? >> > > A panic in

svn commit: r326329 - head/sys/vm

2017-11-28 Thread Alan Cox
Author: alc Date: Tue Nov 28 17:46:03 2017 New Revision: 326329 URL: https://svnweb.freebsd.org/changeset/base/326329 Log: When the swap pager allocates space on disk, it requests contiguous blocks in a single call to blist_alloc(). However, when it frees that space, it previously called bl

svn commit: r326982 - head/share/man/man9

2017-12-19 Thread Alan Cox
Author: alc Date: Tue Dec 19 17:07:50 2017 New Revision: 326982 URL: https://svnweb.freebsd.org/changeset/base/326982 Log: Document the semantics of atomic_thread_fence operations. Add atomic_load_ and atomic_store_, and explain why they exist. Define the synchronizes-with relationsh

Re: svn commit: r326982 - head/share/man/man9

2017-12-22 Thread Alan Cox
On 12/19/2017 21:00, Bruce Evans wrote: > On Tue, 19 Dec 2017, Alan Cox wrote: > >> Log: >> ... >> Reorder and revise some of the existing text. For example, more >> precisely describe when ordinary accesses are atomic. >> ... >&

svn commit: r327179 - head/sys/vm

2017-12-25 Thread Alan Cox
Author: alc Date: Mon Dec 25 19:36:04 2017 New Revision: 327179 URL: https://svnweb.freebsd.org/changeset/base/327179 Log: Make the vm object bypass and collapse counters per CPU. Requested by: mjg Reviewed by: kib, markj MFC after:1 week Differential Revision:https://rev

svn commit: r327218 - head/sys/vm

2017-12-26 Thread Alan Cox
Author: alc Date: Tue Dec 26 17:59:37 2017 New Revision: 327218 URL: https://svnweb.freebsd.org/changeset/base/327218 Log: Refactor vm_map_find(), creating a separate function, vm_map_alignspace(), for finding aligned free space in the given map. With this change, we always return KERN_NO_S

svn commit: r327349 - head/sys/vm

2017-12-29 Thread Alan Cox
Author: alc Date: Fri Dec 29 17:02:22 2017 New Revision: 327349 URL: https://svnweb.freebsd.org/changeset/base/327349 Log: After r327168, the variable "vm_pageout_wanted" can be static. MFC after:2 weeks Modified: head/sys/vm/vm_pageout.c head/sys/vm/vm_pageout.h Modified: head/sy

svn commit: r327410 - head/sys/vm

2017-12-30 Thread Alan Cox
Author: alc Date: Sun Dec 31 04:01:47 2017 New Revision: 327410 URL: https://svnweb.freebsd.org/changeset/base/327410 Log: Previously, swap_pager_copy() freed swap blocks one at at time, via swp_pager_meta_ctl(), with no opportunity to recognize freeing of consecutive blocks and free fewer b

svn commit: r327450 - head/sys/vm

2017-12-31 Thread Alan Cox
Author: alc Date: Sun Dec 31 21:36:42 2017 New Revision: 327450 URL: https://svnweb.freebsd.org/changeset/base/327450 Log: The variable "minslptime" is pointless and always has been, ever since its introduction in r83366. (At that time, this code appeared in vm/vm_glue.c, because vm/vm_swap

svn commit: r327538 - head/sys/vm

2018-01-03 Thread Alan Cox
Author: alc Date: Thu Jan 4 03:16:32 2018 New Revision: 327538 URL: https://svnweb.freebsd.org/changeset/base/327538 Log: Once we have decided to swap out a process, don't delay the laundering of its per-thread kernel stack pages by making them pass through the inactive queue first. Instea

Re: svn commit: r327950 - in head/sys/powerpc: aim include powerpc ps3

2018-01-15 Thread Alan Cox
On 01/15/2018 20:40, Nathan Whitehorn wrote: > > > On 01/15/18 15:42, Konstantin Belousov wrote: >> On Mon, Jan 15, 2018 at 03:20:49PM -0800, Nathan Whitehorn wrote: >>> Fair enough. Here's a patch with a new flag (DIRECT_MAP_AVAILABLE). >>> I've >>> also retooled the sfbuf code to use this rather

Re: svn commit: r327950 - in head/sys/powerpc: aim include powerpc ps3

2018-01-18 Thread Alan Cox
On 01/18/2018 09:35, Konstantin Belousov wrote: > On Thu, Jan 18, 2018 at 07:24:11AM -0800, Nathan Whitehorn wrote: >> >> On 01/17/18 01:44, Konstantin Belousov wrote: >>> On Tue, Jan 16, 2018 at 09:30:29PM -0800, Nathan Whitehorn wrote: On 01/16/18 11:32, Marius Strobl wrote: > On Mon, Ja

svn commit: r318995 - head/sys/vm

2017-05-27 Thread Alan Cox
Author: alc Date: Sat May 27 16:40:00 2017 New Revision: 318995 URL: https://svnweb.freebsd.org/changeset/base/318995 Log: In r118390, the swap pager's approach to striping swap allocation over multiple devices was changed. However, swapoff_one() was not fully and correctly converted. In p

svn commit: r319001 - head/sys/vm

2017-05-27 Thread Alan Cox
Author: alc Date: Sat May 27 21:46:00 2017 New Revision: 319001 URL: https://svnweb.freebsd.org/changeset/base/319001 Log: After r118390, the variable "dmmax" was neither the correct strip size nor the correct maximum block size. Moreover, after r318995, it serves no purpose except to provi

svn commit: r319540 - head/sys/kern

2017-06-03 Thread Alan Cox
Author: alc Date: Sat Jun 3 16:19:33 2017 New Revision: 319540 URL: https://svnweb.freebsd.org/changeset/base/319540 Log: The data type returned by vmoff() is too narrow in its range. This could break the transmission of files longer than 4 GB on 32-bit architectures. Reviewed by: gleb

svn commit: r319542 - head/sys/amd64/amd64

2017-06-03 Thread Alan Cox
Author: alc Date: Sat Jun 3 17:24:13 2017 New Revision: 319542 URL: https://svnweb.freebsd.org/changeset/base/319542 Log: Eliminate duplication of the pmap and pv list unlock operations in pmap_enter() by implementing a single return path. Otherwise, the duplication will only increase with

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

2017-06-05 Thread Alan Cox
Author: alc Date: Mon Jun 5 17:14:16 2017 New Revision: 319604 URL: https://svnweb.freebsd.org/changeset/base/319604 Log: Halve the memory being internally allocated by the blist allocator. In short, half of the memory that is allocated to implement the radix tree is wasted because we did

svn commit: r319605 - head/sys/vm

2017-06-05 Thread Alan Cox
Author: alc Date: Mon Jun 5 18:07:56 2017 New Revision: 319605 URL: https://svnweb.freebsd.org/changeset/base/319605 Log: The variable "breakout" is used like a Boolean, so actually define it as one. Reviewed by: kib MFC after:5 days Modified: head/sys/vm/vm_pageout.c Modified

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

2017-06-05 Thread Alan Cox
Author: alc Date: Tue Jun 6 03:32:17 2017 New Revision: 319612 URL: https://svnweb.freebsd.org/changeset/base/319612 Log: When the function blist_fill() was added to the kernel in r107913, the swap pager used a different scheme for striping the allocation of swap space across multiple devic

svn commit: r319627 - head/sys/vm

2017-06-06 Thread Alan Cox
Author: alc Date: Tue Jun 6 16:52:07 2017 New Revision: 319627 URL: https://svnweb.freebsd.org/changeset/base/319627 Log: Starting in r118390, swaponsomething() began to reserve the blocks at the beginning of a swap area for a disk label. However, neither r118390 nor r118544, which increas

svn commit: r319655 - head/sys/kern

2017-06-07 Thread Alan Cox
Author: alc Date: Wed Jun 7 16:04:34 2017 New Revision: 319655 URL: https://svnweb.freebsd.org/changeset/base/319655 Log: Originally, this file could be compiled as a user-space application for testing purposes. However, over the years, various changes to the kernel have broken this featur

svn commit: r319699 - head/sys/kern

2017-06-08 Thread Alan Cox
Author: alc Date: Thu Jun 8 15:48:54 2017 New Revision: 319699 URL: https://svnweb.freebsd.org/changeset/base/319699 Log: When allocating swap blocks, if the available number of free blocks in a subtree is already zero, then setting the "largest contiguous free block" hint for that subtree

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

2017-06-08 Thread Alan Cox
> On Jun 8, 2017, at 2:37 PM, John Baldwin wrote: > > On Thursday, June 08, 2017 12:55:45 PM Bryan Drewery wrote: >> On 6/8/17 12:18 PM, John Baldwin wrote: >>> Author: jhb >>> Date: Thu Jun 8 16:18:41 2017 >>> New Revision: 319702 >>> URL: https://svnweb.freebsd.org/changeset/base/319702 >>>

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

2017-06-08 Thread Alan Cox
> On Jun 8, 2017, at 5:28 PM, John Baldwin wrote: > > On Thursday, June 08, 2017 05:07:40 PM Alan Cox wrote: >> >>> On Jun 8, 2017, at 2:37 PM, John Baldwin wrote: >>> >>> On Thursday, June 08, 2017 12:55:45 PM Bryan Drewery wrote: >>>>

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

2017-06-09 Thread Alan Cox
Author: alc Date: Fri Jun 9 16:19:24 2017 New Revision: 319755 URL: https://svnweb.freebsd.org/changeset/base/319755 Log: blist_fill()'s return type is too narrow. blist_fill() accepts a 64-bit quantity as the size of the range to fill, but returns a 32-bit quantity as the number of blocks

svn commit: r319756 - head/sys/sys

2017-06-09 Thread Alan Cox
Author: alc Date: Fri Jun 9 17:19:27 2017 New Revision: 319756 URL: https://svnweb.freebsd.org/changeset/base/319756 Log: Style and comment fixes only. Reviewed by: kib MFC after:6 weeks Modified: head/sys/sys/blist.h Modified: head/sys/sys/blist.h ==

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

2017-06-10 Thread Alan Cox
Author: alc Date: Sat Jun 10 16:11:39 2017 New Revision: 319793 URL: https://svnweb.freebsd.org/changeset/base/319793 Log: Remove an unnecessary field from struct blist. (The comment describing what this field represented was also inaccurate.) Suggested by: kib In r178792, blist_create(

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

2017-06-13 Thread Alan Cox
Author: alc Date: Tue Jun 13 17:49:49 2017 New Revision: 319905 URL: https://svnweb.freebsd.org/changeset/base/319905 Log: Reduce the frequency of hint updates on allocation without incurring additional allocation overhead. Previously, blst_meta_alloc() updated the hint after every successf

Re: svn commit: r319905 - in head/sys: kern sys

2017-06-14 Thread Alan Cox
On 06/14/2017 06:04, Hans Petter Selasky wrote: > On 06/13/17 19:49, Alan Cox wrote: >> +#definebitcount64(x)__bitcount64((uint64_t)(x)) > > bitcount64() is already defined by sys/libkern.h - use that? This snippet appears in code that is only used when compiling this

Re: svn commit: r319905 - in head/sys: kern sys

2017-06-14 Thread Alan Cox
On 06/14/2017 10:52, Rodney W. Grimes wrote: > [ Charset UTF-8 unsupported, converting... ] >> On 06/14/2017 06:04, Hans Petter Selasky wrote: >>> On 06/13/17 19:49, Alan Cox wrote: >>>> +#definebitcount64(x)__bitcount64((uint64_t)(x)) >>> bitcount6

svn commit: r320049 - head/sys/vm

2017-06-16 Thread Alan Cox
Author: alc Date: Sat Jun 17 03:05:25 2017 New Revision: 320049 URL: https://svnweb.freebsd.org/changeset/base/320049 Log: Pages that are passed to swap_pager_putpages() should already be fully dirty. Assert that they are fully dirty rather than redundantly calling vm_page_dirty() on them.

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

2017-06-18 Thread Alan Cox
Author: alc Date: Sun Jun 18 18:23:39 2017 New Revision: 320077 URL: https://svnweb.freebsd.org/changeset/base/320077 Log: Change blist_alloc()'s allocation policy from first-fit to next-fit so that disk writes are more likely to be sequential. This change is beneficial on both the solid st

svn commit: r320181 - head/sys/vm

2017-06-20 Thread Alan Cox
Author: alc Date: Wed Jun 21 03:55:45 2017 New Revision: 320181 URL: https://svnweb.freebsd.org/changeset/base/320181 Log: Eliminate an unused macro. MFC after:3 days Modified: head/sys/vm/swap_pager.c Modified: head/sys/vm/swap_pager.c ==

svn commit: r320319 - head/sys/vm

2017-06-24 Thread Alan Cox
Author: alc Date: Sat Jun 24 17:10:33 2017 New Revision: 320319 URL: https://svnweb.freebsd.org/changeset/base/320319 Log: Increase the pageout cluster size to 32 pages. Decouple the pageout cluster size from the size of the hash table entry used by the swap pager for mapping (object, pin

svn commit: r320417 - head/sys/kern

2017-06-27 Thread Alan Cox
Author: alc Date: Tue Jun 27 17:45:26 2017 New Revision: 320417 URL: https://svnweb.freebsd.org/changeset/base/320417 Log: Address the remaining integer overflow issues with the "skip" parameters and "next_skip" variables. The "skip" value in struct blist has long been a 64-bit quantity but

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

2017-06-30 Thread Alan Cox
Author: alc Date: Fri Jun 30 15:49:36 2017 New Revision: 320498 URL: https://svnweb.freebsd.org/changeset/base/320498 Log: Clear the MAP_WIREFUTURE flag on the vm map in exec_new_vmspace() when it recycles the current vm space. Otherwise, an mlockall(MCL_FUTURE) could still be in effect on

svn commit: r320527 - head/sys/kern

2017-07-01 Thread Alan Cox
Author: alc Date: Sat Jul 1 05:27:40 2017 New Revision: 320527 URL: https://svnweb.freebsd.org/changeset/base/320527 Log: Change blst_leaf_alloc() to handle a cursor argument, and to improve performance. To find in the leaf bitmap all ranges of sufficient length, use a doubling strateg

svn commit: r320546 - in head/sys: amd64/amd64 i386/i386

2017-07-01 Thread Alan Cox
Author: alc Date: Sat Jul 1 16:42:09 2017 New Revision: 320546 URL: https://svnweb.freebsd.org/changeset/base/320546 Log: When "force" is specified to pmap_invalidate_cache_range(), the given start address is not required to be page aligned. However, the loop within pmap_invalidate_cache_r

svn commit: r320560 - head/sys/vm

2017-07-01 Thread Alan Cox
Author: alc Date: Sat Jul 1 23:39:49 2017 New Revision: 320560 URL: https://svnweb.freebsd.org/changeset/base/320560 Log: Modify vm_map_growstack() to protect itself from the possibility of the gap entry in the vm map being smaller than the sysctl-derived stack guard size. Otherwise, the v

svn commit: r320980 - head/sys/vm

2017-07-13 Thread Alan Cox
Author: alc Date: Fri Jul 14 02:15:48 2017 New Revision: 320980 URL: https://svnweb.freebsd.org/changeset/base/320980 Log: Generalize vm_page_ps_is_valid() to support testing other predicates on the (super)page, renaming the function to vm_page_ps_test(). Reviewed by: kib, markj MFC af

svn commit: r321003 - head/sys/amd64/amd64

2017-07-14 Thread Alan Cox
Author: alc Date: Sat Jul 15 01:49:54 2017 New Revision: 321003 URL: https://svnweb.freebsd.org/changeset/base/321003 Log: Extract the innermost loop of pmap_remove() out into its own function, pmap_remove_ptes(). (This new function will also be used by an upcoming change to pmap_enter() th

svn commit: r321015 - head/sys/amd64/amd64

2017-07-15 Thread Alan Cox
Author: alc Date: Sat Jul 15 16:42:55 2017 New Revision: 321015 URL: https://svnweb.freebsd.org/changeset/base/321015 Log: Style-only change: Consistently use the variable name "pdpg" throughout this file. Previously, half of the pointers to a vm_page being used as a page directory page wer

svn commit: r308096 - head/sys/vm

2016-10-29 Thread Alan Cox
Author: alc Date: Sat Oct 29 19:22:38 2016 New Revision: 308096 URL: https://svnweb.freebsd.org/changeset/base/308096 Log: With one exception, "hardfault" is used like a "bool". Change that exception and make it a "bool". Reviewed by: kib MFC after:7 days Modified: head/sys/vm/

svn commit: r308098 - head/sys/vm

2016-10-29 Thread Alan Cox
Author: alc Date: Sat Oct 29 21:01:49 2016 New Revision: 308098 URL: https://svnweb.freebsd.org/changeset/base/308098 Log: The "lookup_is_valid" field is used as a "bool". Make it one. Convert vm_fault_hold()'s Boolean variables that are only used internally to "bool". Add a comment des

svn commit: r308112 - head/sys/vm

2016-10-30 Thread Alan Cox
Author: alc Date: Sun Oct 30 19:15:59 2016 New Revision: 308112 URL: https://svnweb.freebsd.org/changeset/base/308112 Log: Merge and sort vm_fault_hold()'s "int" variable definitions. Reviewed by: kib MFC after:7 days Modified: head/sys/vm/vm_fault.c Modified: head/sys/vm/vm_faul

svn commit: r308174 - head/sys/vm

2016-11-01 Thread Alan Cox
Author: alc Date: Tue Nov 1 17:11:10 2016 New Revision: 308174 URL: https://svnweb.freebsd.org/changeset/base/308174 Log: Move and revise a comment about the relation between the object's paging- in-progress count and the vnode. Prior to r188331, we always acquired the vnode lock before in

svn commit: r308261 - head/sys/vm

2016-11-03 Thread Alan Cox
Author: alc Date: Thu Nov 3 16:44:55 2016 New Revision: 308261 URL: https://svnweb.freebsd.org/changeset/base/308261 Log: In vm_fault()'s loop over the shadow chain, move a comment describing our invariants to a better place. Also, add two comments concerning the relationship between the m

svn commit: r308474 - in head/sys: sys vm

2016-11-09 Thread Alan Cox
Author: alc Date: Wed Nov 9 18:48:37 2016 New Revision: 308474 URL: https://svnweb.freebsd.org/changeset/base/308474 Log: Introduce a new page queue, PQ_LAUNDRY, for storing unreferenced, dirty pages, specificially, dirty pages that have passed once through the inactive queue. A new, dedic

svn commit: r308691 - in head/sys: cddl/compat/opensolaris/sys cddl/contrib/opensolaris/uts/common/fs/zfs fs/tmpfs kern vm

2016-11-15 Thread Alan Cox
Author: alc Date: Tue Nov 15 18:22:50 2016 New Revision: 308691 URL: https://svnweb.freebsd.org/changeset/base/308691 Log: Remove most of the code for implementing PG_CACHED pages. (This change does not remove user-space visible fields from vm_cnt or all of the references to cached pages fr

svn commit: r308710 - head/share/man/man9

2016-11-15 Thread Alan Cox
Author: alc Date: Wed Nov 16 02:51:24 2016 New Revision: 308710 URL: https://svnweb.freebsd.org/changeset/base/308710 Log: Update to reflect the demise of PG_CACHED pages. Reviewed by: kib, markj Sponsored by: Dell EMC Isilon Differential Revision:https://reviews.freebsd.org/D8

Re: svn commit: r308691 - in head/sys: cddl/compat/opensolaris/sys cddl/contrib/opensolaris/uts/common/fs/zfs fs/tmpfs kern vm

2016-11-16 Thread Alan Cox
On 11/16/2016 10:59, Ruslan Bukin wrote: > On Wed, Nov 16, 2016 at 06:53:43PM +0200, Konstantin Belousov wrote: >> On Wed, Nov 16, 2016 at 01:37:18PM +, Ruslan Bukin wrote: >>> I have a panic with this on RISC-V. Any ideas ? >> How did you checked that the revision you replied to, makes the pro

Re: svn commit: r308691 - in head/sys: cddl/compat/opensolaris/sys cddl/contrib/opensolaris/uts/common/fs/zfs fs/tmpfs kern vm

2016-11-17 Thread Alan Cox
On 11/16/2016 11:52, Ruslan Bukin wrote: > On Wed, Nov 16, 2016 at 04:59:39PM +, Ruslan Bukin wrote: >> On Wed, Nov 16, 2016 at 06:53:43PM +0200, Konstantin Belousov wrote: >>> On Wed, Nov 16, 2016 at 01:37:18PM +, Ruslan Bukin wrote: I have a panic with this on RISC-V. Any ideas ? >>>

Re: svn commit: r308691 - in head/sys: cddl/compat/opensolaris/sys cddl/contrib/opensolaris/uts/common/fs/zfs fs/tmpfs kern vm

2016-11-19 Thread Alan Cox
On 11/18/2016 04:22, Ruslan Bukin wrote: > On Thu, Nov 17, 2016 at 10:51:40AM -0600, Alan Cox wrote: >> On 11/16/2016 11:52, Ruslan Bukin wrote: >>> On Wed, Nov 16, 2016 at 04:59:39PM +, Ruslan Bukin wrote: >>>> On Wed, Nov 16, 2016 at 06:53:43PM +0200, Konstanti

svn commit: r309017 - in head/sys: cddl/compat/opensolaris/sys compat/linprocfs fs/tmpfs sys vm

2016-11-22 Thread Alan Cox
Author: alc Date: Tue Nov 22 18:13:46 2016 New Revision: 309017 URL: https://svnweb.freebsd.org/changeset/base/309017 Log: Remove PG_CACHED-related fields from struct vmmeter, because they are no longer used. More precisely, they are always zero because the code that decremented and increme

svn commit: r309203 - head/sys/vm

2016-11-26 Thread Alan Cox
Author: alc Date: Sun Nov 27 01:42:53 2016 New Revision: 309203 URL: https://svnweb.freebsd.org/changeset/base/309203 Log: Recursion on the free page queue mutex occurred when UMA needed to allocate a new page of radix trie nodes to complete a vm_radix_insert() operation that was requested b

svn commit: r309204 - in head: . share/man/man9

2016-11-26 Thread Alan Cox
Author: alc Date: Sun Nov 27 01:44:31 2016 New Revision: 309204 URL: https://svnweb.freebsd.org/changeset/base/309204 Log: The function vm_page_cache() no longer exists. Remove its man page. Deleted: head/share/man/man9/vm_page_cache.9 Modified: head/ObsoleteFiles.inc head/share/man/man9

svn commit: r309365 - head/sys/vm

2016-12-01 Thread Alan Cox
Author: alc Date: Thu Dec 1 17:26:37 2016 New Revision: 309365 URL: https://svnweb.freebsd.org/changeset/base/309365 Log: During vm_page_cache()'s call to vm_radix_insert(), if vm_page_alloc() was called to allocate a new page of radix trie nodes, there could be a call to vm_radix_remove()

svn commit: r309416 - head/sys/vm

2016-12-02 Thread Alan Cox
Author: alc Date: Fri Dec 2 16:29:30 2016 New Revision: 309416 URL: https://svnweb.freebsd.org/changeset/base/309416 Log: Eliminate a stale comment; vm_radix_prealloc() was replaced in r254141. MFC after:3 days Modified: head/sys/vm/vm_radix.c Modified: head/sys/vm/vm_radix.c =

svn commit: r309703 - in head/sys: amd64/amd64 arm64/arm64 i386/i386 vm

2016-12-07 Thread Alan Cox
Author: alc Date: Thu Dec 8 04:29:29 2016 New Revision: 309703 URL: https://svnweb.freebsd.org/changeset/base/309703 Log: Previously, vm_radix_remove() would panic if the radix trie didn't contain a vm_page_t at the specified index. However, with this change, vm_radix_remove() no longer pa

Re: svn commit: r309703 - in head/sys: amd64/amd64 arm64/arm64 i386/i386 vm

2016-12-08 Thread Alan Cox
On 12/08/2016 07:01, Slawa Olhovchenkov wrote: > On Thu, Dec 08, 2016 at 04:29:29AM +0000, Alan Cox wrote: > >> Author: alc >> Date: Thu Dec 8 04:29:29 2016 >> New Revision: 309703 >> URL: https://svnweb.freebsd.org/changeset/base/309703 >> >> Log: >

svn commit: r309855 - in head/sys: fs/tmpfs kern

2016-12-11 Thread Alan Cox
Author: alc Date: Sun Dec 11 19:24:41 2016 New Revision: 309855 URL: https://svnweb.freebsd.org/changeset/base/309855 Log: When tmpfs and POSIX shm pagein a page for the sole purpose of performing truncation, immediately queue the page for asynchronous laundering rather than making the page

svn commit: r309898 - head/sys/vm

2016-12-12 Thread Alan Cox
Author: alc Date: Mon Dec 12 17:47:09 2016 New Revision: 309898 URL: https://svnweb.freebsd.org/changeset/base/309898 Log: Eliminate every mention of PG_CACHED pages from the comments in the machine- independent layer of the virtual memory system. Update some of the nearby comments to elimi

svn commit: r353096 - head/sys/arm64/include

2019-10-03 Thread Alan Cox
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

svn commit: r353162 - head/sys/arm64/arm64

2019-10-06 Thread Alan Cox
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

svn commit: r353163 - in head/sys: arm64/include riscv/include

2019-10-06 Thread Alan Cox
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

svn commit: r354286 - in head/sys/arm64: arm64 include

2019-11-03 Thread Alan Cox
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

svn commit: r354585 - head/sys/arm64/arm64

2019-11-09 Thread Alan Cox
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

svn commit: r354792 - head/sys/arm64/arm64

2019-11-17 Thread Alan Cox
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()

svn commit: r354860 - head/sys/arm64/arm64

2019-11-19 Thread Alan Cox
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

svn commit: r354898 - head/sys/arm64/arm64

2019-11-20 Thread Alan Cox
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

svn commit: r355145 - head/sys/arm64/arm64

2019-11-27 Thread Alan Cox
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

Re: svn commit: r355145 - head/sys/arm64/arm64

2019-11-29 Thread Alan Cox
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

svn commit: r352584 - head/sys/arm64/arm64

2019-09-21 Thread Alan Cox
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

svn commit: r352847 - head/sys/arm64/arm64

2019-09-28 Thread Alan Cox
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

svn commit: r352930 - head/sys/arm64/arm64

2019-10-01 Thread Alan Cox
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

svn commit: r348525 - head/sys/vm

2019-06-02 Thread Alan Cox
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

svn commit: r348630 - head/sys/amd64/amd64

2019-06-04 Thread Alan Cox
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

svn commit: r348828 - in head/sys: amd64/amd64 arm64/arm64 i386/i386 riscv/riscv

2019-06-08 Thread Alan Cox
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

svn commit: r348829 - head/sys/riscv/riscv

2019-06-08 Thread Alan Cox
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 ==

svn commit: r349003 - head/sys/arm64/arm64

2019-06-12 Thread Alan Cox
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(

svn commit: r349031 - head/sys/arm64/arm64

2019-06-13 Thread Alan Cox
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()

svn commit: r349042 - head/sys/arm64/arm64

2019-06-14 Thread Alan Cox
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

svn commit: r349070 - head/sys/arm64/arm64

2019-06-15 Thread Alan Cox
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

svn commit: r349117 - head/sys/arm64/arm64

2019-06-16 Thread Alan Cox
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

svn commit: r349122 - head/sys/arm64/arm64

2019-06-16 Thread Alan Cox
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(),

svn commit: r349129 - head/sys/arm64/arm64

2019-06-16 Thread Alan Cox
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

svn commit: r349183 - head/sys/arm64/arm64

2019-06-18 Thread Alan Cox
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

svn commit: r349290 - head/sys/arm64/arm64

2019-06-22 Thread Alan Cox
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

svn commit: r349323 - head/sys/arm64/arm64

2019-06-23 Thread Alan Cox
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_

svn commit: r349442 - head/sys/arm64/arm64

2019-06-26 Thread Alan Cox
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

svn commit: r349526 - in head/sys: amd64/amd64 i386/i386

2019-06-28 Thread Alan Cox
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

  1   2   3   4   5   6   7   8   9   10   >