Commit Graph

17 Commits

Author SHA1 Message Date
rin
979cf575ec Fix typo. Use PRIxPADDR rather than casting. 2020-07-15 15:08:26 +00:00
mrg
92714b238f paddr_t can't be printed by "%lx" in some platforms.
fix the eg, i386 build.
2020-07-13 10:46:10 +00:00
mrg
d8b4c02aa4 actually show the start/end that failed start < end in uvm_page_physload(). 2020-07-13 05:52:50 +00:00
ad
9887ecbe68 uvm_physseg: cluster fields used during RB tree lookup for PHYS_TO_VM_PAGE(). 2020-03-15 21:06:30 +00:00
ad
a7b92da9a8 - 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.
2019-12-21 14:41:44 +00:00
ad
519577eed6 KNF 2019-12-20 19:03:17 +00:00
ad
5978ddc663 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
2019-12-13 20:10:21 +00:00
maxv
0fd1f118ce 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.
2019-09-20 11:09:43 +00:00
christos
4af99c2770 CID-1427737: Pacify coverity using KASSERT 2018-01-21 17:58:43 +00:00
riastradh
4ad0abb18f __diagused police 2017-03-19 23:30:39 +00:00
uwe
5465d902d6 Add missing spaces in split string literals. 2017-02-02 21:22:08 +00:00
rin
c7ed8c6fc4 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
2016-12-29 12:58:38 +00:00
cherry
6b706f8888 Make uvm_physseg_set_avail_start(9) available unconditional to UVM_HOTPLUG 2016-12-25 06:30:58 +00:00
christos
6419995e46 Provide a set_available_start method for the non UVM_HOTPLUG case. 2016-12-25 03:39:26 +00:00
cherry
a9cac8fa8f Omitted assigning handle return value for the case:
(VM_PHYSSEG_STRAT == VM_PSTRAT_RANDOM)

Fix this.
2016-12-23 07:42:32 +00:00
cherry
e6ff351e1a convention about function names for predicate checking:
s/uvm_physseg_valid()/uvm_physseg_valid_p()/

per. matt@
2016-12-22 08:15:20 +00:00
cherry
07acf3c096 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
2016-12-19 12:21:29 +00:00