diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2008-06-27 17:25:48 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2008-06-27 17:25:48 +0000 |
commit | 6fc02c748fa12f4ac914c66083502503d300ddff (patch) | |
tree | ada7016105799daf7d37c843805576c733fd6a32 /usr.sbin/tcpdump/print-hsrp.c | |
parent | 87fdeddd6f5abe7342ccdd847cad0417055ebf0b (diff) |
uvm_pglistalloc() works by walking the physical address range it gets invoked
with, trying to find free pages matching the callers requirement.
However, on systems with noncontiguous memory and large gaps between
segments, this is a disaster as soon as one of these gaps is hit.
Rewrite the logic by iterating on the physsegs, and the on the intersection
of the physseg range and the callers range. This also frees us from having
to check whether a given page range crosses a physseg.
Diffstat (limited to 'usr.sbin/tcpdump/print-hsrp.c')
0 files changed, 0 insertions, 0 deletions