OpenBSD CVS

CVS log for src/sys/uvm/uvm_addr.c


[BACK] Up to [local] / src / sys / uvm

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.35 / (download) - annotate - [select for diffs], Fri Jun 7 06:04:43 2024 UTC (4 days ago) by jsg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.34: +1 -3 lines
Diff to previous 1.34 (colored)

remove UADDR_HINT_MAXGAP, missed when uaddr_hint allocator was removed

Revision 1.34 / (download) - annotate - [select for diffs], Mon May 13 01:15:53 2024 UTC (4 weeks, 1 day ago) by jsg
Branch: MAIN
Changes since 1.33: +1 -7 lines
Diff to previous 1.33 (colored)

remove prototypes with no matching function
ok mpi@

Revision 1.33 / (download) - annotate - [select for diffs], Sat Apr 13 23:44:11 2024 UTC (8 weeks, 2 days ago) by jsg
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

correct indentation

no functional change, found by smatch warnings
ok miod@ bluhm@

Revision 1.32 / (download) - annotate - [select for diffs], Fri Nov 4 09:36:44 2022 UTC (19 months ago) by mpi
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.31: +3 -1 lines
Diff to previous 1.31 (colored)

Assert the VM map lock is held in function used by mmap/mprotect/munmap.

Also grab the lock in uvm_map_teardown() and uvm_map_deallocate() to
satisfy the assertions.  Grabbing the lock there shouldn't be strictly
necessary, because no other reference to the map should exist when the
reaper is holding it, but it doesn't hurt and makes our life easier.

Inputs & tests from Ivo van der Sangen, tb@, gnezdo@, kn@

kettenis@ and tb@ agree with the direction, ok kn@

Revision 1.31 / (download) - annotate - [select for diffs], Mon Feb 21 10:26:20 2022 UTC (2 years, 3 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)

interting -> inserting

Revision 1.30 / (download) - annotate - [select for diffs], Sat Mar 20 10:24:21 2021 UTC (3 years, 2 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.29: +32 -10 lines
Diff to previous 1.29 (colored)

Sync some comments in order to reduce the difference with NetBSD.

No functionnal change.

ok kettenis@

Revision 1.29 / (download) - annotate - [select for diffs], Tue Sep 22 14:31:08 2020 UTC (3 years, 8 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

Spell inline correctly.

Reduce differences with NetBSD.

ok mvs@, kettenis@

Revision 1.28 / (download) - annotate - [select for diffs], Sun Sep 13 10:05:25 2020 UTC (3 years, 8 months ago) by mpi
Branch: MAIN
Changes since 1.27: +2 -1 lines
Diff to previous 1.27 (colored)

Include <sys/systm.h> directly instead of relying on uvm_map.h to pull it.

Revision 1.27 / (download) - annotate - [select for diffs], Wed May 16 09:02:11 2018 UTC (6 years ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.26: +3 -2 lines
Diff to previous 1.26 (colored)

Avoid overflow in constraint computation; ok kettenis@ tb@

Revision 1.26 / (download) - annotate - [select for diffs], Tue Apr 17 15:50:05 2018 UTC (6 years, 1 month ago) by otto
Branch: MAIN
Changes since 1.25: +26 -47 lines
Diff to previous 1.25 (colored)

- Make rnd hints avoid the brk area. The rnd allocator refuses to allocate in
  the brk area anyway.
- Use a larger hint bound to spread the allocations more for the 32-bit case
- Simplified the overy abstracted brs/stack allocator and switch of
  guard pages for the brk case. This allows i386 some extra space,
  depending on memory usage patterns.
- Reduce brk area on i386 to give the rnd space more room

ok stefan@ sthen@

Revision 1.25 / (download) - annotate - [select for diffs], Tue Apr 10 12:27:01 2018 UTC (6 years, 2 months ago) by otto
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

Fix stop condition for linear search by taking into account the search
direction, otherwise we might break the loop prematurely; ok stefan@

Revision 1.24 / (download) - annotate - [select for diffs], Mon Jan 23 01:10:10 2017 UTC (7 years, 4 months ago) by patrick
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.23: +14 -14 lines
Diff to previous 1.23 (colored)

Move static function to the bottom of the file, to the only user
of that function, to guard it with SMALL_KERNEL.

ok mpi@

Revision 1.23 / (download) - annotate - [select for diffs], Tue Jan 17 17:19:21 2017 UTC (7 years, 4 months ago) by stefan
Branch: MAIN
Changes since 1.22: +11 -128 lines
Diff to previous 1.22 (colored)

Remove uaddr_hint allocator

The hint allocator would have to check that the
allocation does not overlap with brk, stack or text
areas. This would make the address selectors too
entagled. Just use the rnd allocator for hinted allocations
in case pivots are used. This also reduces the amount of code somewhat.

ok kettenis visa deraadt

Revision 1.22 / (download) - annotate - [select for diffs], Fri Sep 16 02:50:54 2016 UTC (7 years, 8 months ago) by dlg
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored)

fix spelling of RBT_NEXT in a comment

Revision 1.21 / (download) - annotate - [select for diffs], Fri Sep 16 01:51:40 2016 UTC (7 years, 8 months ago) by dlg
Branch: MAIN
Changes since 1.20: +21 -20 lines
Diff to previous 1.20 (colored)

move uaddr_free_rbtree from RB macros to RBT functions

Revision 1.20 / (download) - annotate - [select for diffs], Fri Sep 16 01:09:53 2016 UTC (7 years, 8 months ago) by dlg
Branch: MAIN
Changes since 1.19: +9 -9 lines
Diff to previous 1.19 (colored)

move the uvm_map_addr RB tree from RB macros to the RBT functions

this tree is interesting because it uses all the red black tree
features, specifically the augment callback thats called on tree
topology changes, and it poisons and checks entries as theyre removed
from and inserted back into the tree respectively.

ok stefan@

Revision 1.19 / (download) - annotate - [select for diffs], Thu Sep 15 02:00:18 2016 UTC (7 years, 8 months ago) by dlg
Branch: MAIN
Changes since 1.18: +11 -16 lines
Diff to previous 1.18 (colored)

all pools have their ipl set via pool_setipl, so fold it into pool_init.

the ioff argument to pool_init() is unused and has been for many
years, so this replaces it with an ipl argument. because the ipl
will be set on init we no longer need pool_setipl.

most of these changes have been done with coccinelle using the spatch
below. cocci sucks at formatting code though, so i fixed that by hand.

the manpage and subr_pool.c bits i did myself.

ok tedu@ jmatthew@

@ipl@
expression pp;
expression ipl;
expression s, a, o, f, m, p;
@@
-pool_init(pp, s, a, o, f, m, p);
-pool_setipl(pp, ipl);
+pool_init(pp, s, a, ipl, f, m, p);

Revision 1.18 / (download) - annotate - [select for diffs], Fri Sep 2 16:45:12 2016 UTC (7 years, 9 months ago) by stefan
Branch: MAIN
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

Mask out lower bits of randomly selected address

Fixes uvm pivots bug that would create non-page aligned addresses.
This fix is in code that's not yet enabled.

Revision 1.17 / (download) - annotate - [select for diffs], Sat Jul 30 16:37:54 2016 UTC (7 years, 10 months ago) by kettenis
Branch: MAIN
Changes since 1.16: +9 -3 lines
Diff to previous 1.16 (colored)

Add a few checks for potential integer overflow and underflow related to the
size of an address range.

ok deraadt@, tedu@

Revision 1.16 / (download) - annotate - [select for diffs], Thu Jun 2 18:48:01 2016 UTC (8 years ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

print the size when an unavailable address is returned. it is useful.
ok millert stefan

Revision 1.15 / (download) - annotate - [select for diffs], Mon Mar 7 18:44:00 2016 UTC (8 years, 3 months ago) by naddy
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

Sync no-argument function declaration and definition by adding (void).
ok mpi@ millert@

Revision 1.14 / (download) - annotate - [select for diffs], Fri Jul 17 21:56:14 2015 UTC (8 years, 10 months ago) by kettenis
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9, OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.13: +6 -1 lines
Diff to previous 1.13 (colored)

Release the kernel lock while tearing down the uvm map in the reaper.  Speeds
up workloads that fork a lot of processes and, more importantly reduces
latency because it makes sure the reaper doesn't hold on to the kernel lock
for long periods of time.

This almost certainly breaks MP kernels on alpha, macppc, m88k and sgi;
hppa might work, but probably doesn't.

ok deraadt@, beck@

Revision 1.13 / (download) - annotate - [select for diffs], Mon Mar 30 21:08:40 2015 UTC (9 years, 2 months ago) by miod
Branch: MAIN
Changes since 1.12: +10 -6 lines
Diff to previous 1.12 (colored)

Extend uvm_map_hint() to get an address range as extra arguments, and make
sure it will return an address within that range.

Use this in uaddr_rnd_select() to make sure we will not attempt to pick
an address beyond what we are allowed to map.

In my trees for 9 months, blackmailed s2k15 attendees into agreeing now would
be a good time to commit.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Mar 30 21:05:17 2015 UTC (9 years, 2 months ago) by miod
Branch: MAIN
Changes since 1.11: +16 -4 lines
Diff to previous 1.11 (colored)

#if 0 various unused definitions.

Revision 1.11 / (download) - annotate - [select for diffs], Tue Dec 23 02:01:57 2014 UTC (9 years, 5 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.10: +6 -6 lines
Diff to previous 1.10 (colored)

convert nointr pool_init argument to pr_waitok

Revision 1.10 / (download) - annotate - [select for diffs], Tue Nov 18 02:37:31 2014 UTC (9 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.9: +1 -2 lines
Diff to previous 1.9 (colored)

move arc4random prototype to systm.h. more appropriate for most code
to include that than rdnvar.h. ok deraadt dlg

Revision 1.9 / (download) - annotate - [select for diffs], Thu Nov 13 00:47:44 2014 UTC (9 years, 7 months ago) by tedu
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

bzero -> memset

Revision 1.8 / (download) - annotate - [select for diffs], Tue Jun 10 20:08:48 2014 UTC (10 years ago) by kettenis
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.7: +88 -87 lines
Diff to previous 1.7 (colored)

KNF

Revision 1.7 / (download) - annotate - [select for diffs], Sun Apr 13 23:14:15 2014 UTC (10 years, 2 months ago) by tedu
Branch: MAIN
Changes since 1.6: +14 -46 lines
Diff to previous 1.6 (colored)

compress code by turning four line comments into one line comments.
emphatic ok usual suspects, grudging ok miod

Revision 1.6 / (download) - annotate - [select for diffs], Tue Feb 4 01:04:03 2014 UTC (10 years, 4 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

reduce the length of some pool names. ok deraadt guenther mpi

Revision 1.5 / (download) - annotate - [select for diffs], Wed Jul 18 20:28:18 2012 UTC (11 years, 10 months ago) by matthew
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

comment typo; s/lineair/linear/

Revision 1.4 / (download) - annotate - [select for diffs], Wed Jun 6 04:54:36 2012 UTC (12 years ago) by matthew
Branch: MAIN
Changes since 1.3: +5 -2 lines
Diff to previous 1.3 (colored)

Fix address-space randomization that was accidentally disabled in
uvm_addr.c r1.3.

ok deraadt, tedu

Revision 1.3 / (download) - annotate - [select for diffs], Wed Apr 11 11:23:22 2012 UTC (12 years, 2 months ago) by ariane
Branch: MAIN
Changes since 1.2: +46 -55 lines
Diff to previous 1.2 (colored)

vmmap: speed up allocations

Reduces O(n log n) allocations to O(log n).

ok deraadt, tedu

Revision 1.2 / (download) - annotate - [select for diffs], Thu Mar 15 17:52:28 2012 UTC (12 years, 2 months ago) by ariane
Branch: MAIN
Changes since 1.1: +17 -1 lines
Diff to previous 1.1 (colored)

Reduce installmedia pressure from new vmmap.

Has less special allocators on install media (where they aren't required
anyway).
Bonus: makes the vmmap initialization code easier to read.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Mar 9 13:01:29 2012 UTC (12 years, 3 months ago) by ariane
Branch: MAIN

New vmmap implementation.

no oks (it is really a pain to review properly)
extensively tested, I'm confident it'll be stable
'now is the time' from several icb inhabitants

Diff provides:
- ability to specify different allocators for different regions/maps
- a simpler implementation of the current allocator
- currently in compatibility mode: it will generate similar addresses
  as the old allocator

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.