OpenBSD CVS

CVS log for src/usr.bin/systat/uvm.c


[BACK] Up to [local] / src / usr.bin / systat

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.10 / (download) - annotate - [select for diffs], Sat May 18 09:02:34 2024 UTC (19 hours, 26 minutes ago) by jsg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.9: +1 -2 lines
Diff to previous 1.9 (colored)

remove prototypes with no matching function

Revision 1.9 / (download) - annotate - [select for diffs], Wed May 1 12:54:27 2024 UTC (2 weeks, 3 days ago) by mpi
Branch: MAIN
Changes since 1.8: +6 -7 lines
Diff to previous 1.8 (colored)

Add per-CPU caches to the pmemrange allocator.

The caches are used primarily to reduce contention on uvm_lock_fpageq() during
concurrent page faults.  For the moment only uvm_pagealloc() tries to get a
page from the current CPU's cache.  So on some architectures the caches are
also used by the pmap layer.

Each cache is composed of two magazines, design is borrowed from jeff bonwick
vmem's paper and the implementation is similar to the one of pool_cache from
dlg@.  However there is no depot layer and magazines are refilled directly by
the pmemrange allocator.

This version includes splvm()/splx() dances because the buffer cache flips
buffers in interrupt context.  So we have to prevent recursive accesses to
per-CPU magazines.

Tested by naddy@, solene@, krw@, robert@, claudio@ and Laurence Tratt.

ok claudio@, kettenis@

Revision 1.8 / (download) - annotate - [select for diffs], Fri Apr 19 10:22:51 2024 UTC (4 weeks, 1 day ago) by mpi
Branch: MAIN
Changes since 1.7: +6 -5 lines
Diff to previous 1.7 (colored)

Revert per-CPU caches a double-free has been found by naddy@.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Apr 17 13:12:58 2024 UTC (4 weeks, 3 days ago) by mpi
Branch: MAIN
Changes since 1.6: +6 -7 lines
Diff to previous 1.6 (colored)

Add per-CPU caches to the pmemrange allocator.

The caches are used primarily to reduce contention on uvm_lock_fpageq() during
concurrent page faults.  For the moment only uvm_pagealloc() tries to get a
page from the current CPU's cache.  So on some architectures the caches are
also used by the pmap layer.

Each cache is composed of two magazines, design is borrowed from jeff bonwick
vmem's paper and the implementation is similar to the one of pool_cache from
dlg@.  However there is no depot layer and magazines are refilled directly by
the pmemrange allocator.

Tested by robert@, claudio@ and Laurence Tratt.

ok kettenis@

Revision 1.6 / (download) - annotate - [select for diffs], Sun Nov 27 23:18:54 2022 UTC (17 months, 3 weeks ago) by kn
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (colored)

Move UVM "swpgonly" from Daemon Counters to Swap Counters

Put it below "swpginuse" as systat(1) and uvm_init(9) already have it.

(uvm.c struct uvmline uvmline[] makes it easy to misplace counters without
double-checking against actual systat output.)

Revision 1.5 / (download) - annotate - [select for diffs], Fri Jun 28 13:35:04 2019 UTC (4 years, 10 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

When system calls indicate an error they return -1, not some arbitrary
value < 0.  errno is only updated in this case.  Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Jun 21 13:47:22 2018 UTC (5 years, 10 months ago) by krw
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.3: +40 -58 lines
Diff to previous 1.3 (colored)

Shuffle fields around to eliminate blanks spots resulting from
removing unused uvmexp fields. Reduces number of lines as well.

Revision 1.3 / (download) - annotate - [select for diffs], Tue Jun 19 22:35:07 2018 UTC (5 years, 11 months ago) by krw
Branch: MAIN
Changes since 1.2: +13 -15 lines
Diff to previous 1.2 (colored)

Rename some unused fields in struct uvmexp to
unusedNN.

Missing man page bits pointed out by
jmc@. Ports source scan by sthen@.

ok deraadt@ guenther@

Revision 1.2 / (download) - annotate - [select for diffs], Fri Jun 1 19:21:33 2018 UTC (5 years, 11 months ago) by bluhm
Branch: MAIN
Changes since 1.1: +7 -5 lines
Diff to previous 1.1 (colored)

Avoid some unnecessary calls to strlen(3) in systat uvm.
OK krw@

Revision 1.1 / (download) - annotate - [select for diffs], Wed May 30 13:43:51 2018 UTC (5 years, 11 months ago) by krw
Branch: MAIN

Add uvm view to show all values being collected in uvmexp.

Feedbacks, tweaks, ok bluhm@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.