Home | History | Annotate | Download | only in uvm
History log of /src/sys/uvm/uvm_physseg.c
RevisionDateAuthorComments
 1.20  13-Jan-2024  tnn uvm: change type of uvm_physseg.start_hint from u_int to u_long

Avoids assertion failure in uvm_pglistalloc_s_ps() with large paddrs.
PR kern/57683.
 1.19  23-Sep-2023  ad uvm_phys_to_vm_page() turns out to be a fairly central routine due to the
way that some of the pmaps work, so try to optimise it a little.
 1.18  09-Apr-2023  riastradh uvm(9): KASSERT(A && B) -> KASSERT(A); KASSERT(B)
 1.17  15-Jul-2020  rin branches: 1.17.20;
Fix typo. Use PRIxPADDR rather than casting.
 1.16  13-Jul-2020  mrg paddr_t can't be printed by "%lx" in some platforms.

fix the eg, i386 build.
 1.15  13-Jul-2020  mrg actually show the start/end that failed start < end in uvm_page_physload().
 1.14  15-Mar-2020  ad uvm_physseg: cluster fields used during RB tree lookup for PHYS_TO_VM_PAGE().
 1.13  21-Dec-2019  ad - Rename VM_PGCOLOR_BUCKET() to VM_PGCOLOR(). I want to reuse "bucket" for
something else soon and TBH it matches what this macro does better.

- Add inlines to set/get locator values in the unused lower bits of
pg->phys_addr. Begin by using it to cache the freelist index, because
computing it is expensive and that shows up during profiling. Discussed
on tech-kern.
 1.12  20-Dec-2019  ad KNF
 1.11  13-Dec-2019  ad Break the global uvm_pageqlock into a per-page identity lock and a private
lock for use of the pagedaemon policy code. Discussed on tech-kern.

PR kern/54209: NetBSD 8 large memory performance extremely low
PR kern/54210: NetBSD-8 processes presumably not exiting
PR kern/54727: writing a large file causes unreasonable system behaviour
 1.10  20-Sep-2019  maxv Fix programming mistake: 'paddrp' is a pointer given as argument, setting
it to NULL in the called function does not set it to NULL in the caller.

Actually, the callers of these functions do not do anything with the
special error handling, so drop the unused checks and the NULL assignments
altogether.

Found by the lgtm bot.
 1.9  21-Jan-2018  christos branches: 1.9.4;
CID-1427737: Pacify coverity using KASSERT
 1.8  19-Mar-2017  riastradh branches: 1.8.12;
__diagused police
 1.7  02-Feb-2017  uwe branches: 1.7.2;
Add missing spaces in split string literals.
 1.6  29-Dec-2016  rin branches: 1.6.2; 1.6.4;
Protect uvm_physseg_set_avail_{start,end} by UVM_PHYSSEG_LEGACY.
All the ports other than acorn26 do not use them any longer.
Ok cherry
 1.5  25-Dec-2016  cherry Make uvm_physseg_set_avail_start(9) available unconditional to UVM_HOTPLUG
 1.4  25-Dec-2016  christos Provide a set_available_start method for the non UVM_HOTPLUG case.
 1.3  23-Dec-2016  cherry Omitted assigning handle return value for the case:
(VM_PHYSSEG_STRAT == VM_PSTRAT_RANDOM)

Fix this.
 1.2  22-Dec-2016  cherry convention about function names for predicate checking:
s/uvm_physseg_valid()/uvm_physseg_valid_p()/

per. matt@
 1.1  19-Dec-2016  cherry This is a preview of the uvm_hotplug(9) api code.
This commit does not actually introduce the UVM_HOTPLUG option.
However it does provide developers a way to review, test and try out
the API.

To do this, please go to tests/sys/uvm/ and build and run the tests
there. The tests also have a set of basic load tests, to get a measure
of the performance penalties due to enabling the UVM_HOTPLUG option.

In order to build the tests you need to have at least done the
following in $SRC/

cd $SRC; $NBMAKE do-distrib-dirs includes
cd $SRC/lib/csu; $NBMAKE all install || exit
cd $SRC/external/gpl3/gcc/lib/libgcc/libgcc_s; $NBMAKE all install || exit
cd $SRC/external/gpl3/gcc/lib/libgcc/libgcc; $NBMAKE all install || exit
cd $SRC/lib/libc; $NBMAKE includes all install || exit
cd $SRC/lib/libpthread; $NBMAKE all install || exit
cd $SRC/lib/libm; $NBMAKE all install || exit
cd $SRC/external/gpl3/gcc/lib/libstdc++-v3/; $NBMAKE all install || exit

Once the development environment has these userspace libraries, one
can simple build using $NBMAKE and finally test the kernel API using

atf-run|atf-report
 1.6.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.6.2.3  20-Mar-2017  pgoyette Sync with HEAD
 1.6.2.2  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.6.2.1  29-Dec-2016  pgoyette file uvm_physseg.c was added on branch pgoyette-localcount on 2017-01-07 08:56:53 +0000
 1.7.2.3  28-Aug-2017  skrll Sync with HEAD
 1.7.2.2  05-Feb-2017  skrll Sync with HEAD
 1.7.2.1  02-Feb-2017  skrll file uvm_physseg.c was added on branch nick-nhusb on 2017-02-05 13:41:01 +0000
 1.8.12.2  03-Dec-2017  jdolecek update from HEAD
 1.8.12.1  19-Mar-2017  jdolecek file uvm_physseg.c was added on branch tls-maxphys on 2017-12-03 11:39:22 +0000
 1.9.4.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.9.4.1  08-Apr-2020  martin Merge changes from current as of 20200406
 1.17.20.1  15-Jan-2024  martin Pull up following revision(s) (requested by tnn in ticket #554):

sys/uvm/uvm_physseg.c: revision 1.20
sys/uvm/uvm_pglist.c: revision 1.91
sys/uvm/uvm_pglist.c: revision 1.92
sys/uvm/uvm_physseg.h: revision 1.9

uvm: change type of uvm_physseg.start_hint from u_int to u_long
Avoids assertion failure in uvm_pglistalloc_s_ps() with large paddrs.
PR kern/57683.

fix DEBUG build

RSS XML Feed