| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Notes:
svn path=/head/; revision=23157
|
|
|
|
|
|
|
| |
ready for it yet.
Notes:
svn path=/head/; revision=22975
|
|
|
|
|
|
|
|
|
| |
vm_map.h:
Removed #include of <sys/proc.h>. curproc is only used in some macros
and users of the macros already include <sys/proc.h>.
Notes:
svn path=/head/; revision=22878
|
|
|
|
|
|
|
|
| |
map to be used when allocating the kernel va (e.g., mb_map). The VM
gurus may want to look this over.
Notes:
svn path=/head/; revision=22670
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
changes, so don't expect to be able to run the kernel as-is (very well)
without the appropriate Lite/2 userland changes.
The system boots and can mount UFS filesystems.
Untested: ext2fs, msdosfs, NFS
Known problems: Incorrect Berkeley ID strings in some files.
Mount_std mounts will not work until the getfsent
library routine is changed.
Reviewed by: various people
Submitted by: Jeffery Hsu <hsu@freebsd.org>
Notes:
svn path=/head/; revision=22521
|
|
|
|
|
|
|
|
| |
thing if needed.
Submitted by: Alan Cox <alc@cs.rice.edu>
Notes:
svn path=/head/; revision=22156
|
|
|
|
|
|
|
| |
vnode_pager_alloc().
Notes:
svn path=/head/; revision=21987
|
|
|
|
|
|
|
|
| |
was in the VM_INHERIT_SHARE case of vmspace_fork, and also in vm_map_madvise.
Submitted by: Alan Cox <alc@cs.rice.edu>
Notes:
svn path=/head/; revision=21940
|
|
|
|
|
|
|
|
|
|
| |
the page to be unbusy, and it caused some algorithmic problems
as a result. There were some other problems with it also, so
this is a general cleanup of the code.
Submitted by: Douglas Crosher <dtc@scrooge.ee.swin.oz.au> and myself.
Notes:
svn path=/head/; revision=21881
|
|
|
|
|
|
|
| |
for some code simplification.
Notes:
svn path=/head/; revision=21754
|
|
|
|
|
|
|
|
|
|
|
| |
when allocating memory for network buffers at interrupt time. This is due
to inadequate checking for the new mcl_map. Fixed by merging mb_map and
mcl_map into a single mb_map.
Reviewed by: wollman
Notes:
svn path=/head/; revision=21737
|
|
|
|
|
|
|
| |
for a bug in fork().
Notes:
svn path=/head/; revision=21733
|
|
|
|
|
|
|
|
|
|
|
| |
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
Notes:
svn path=/head/; revision=21673
|
|
|
|
|
|
|
|
| |
inactive queue. This is only a minor performance improvement, but will
not affect perf on machines that don't have ref bits.
Notes:
svn path=/head/; revision=21530
|
|
|
|
|
|
|
|
| |
pmap routine (pmap_is_referenced.) Upper level recoded to use
pmap_ts_referenced.
Notes:
svn path=/head/; revision=21529
|
|
|
|
| |
Notes:
svn path=/head/; revision=21258
|
|
|
|
|
|
|
|
|
| |
anymore with the "full" collapse fix that we added about 1yr ago!!! The
code has been removed by optioning it out for now, so we can put it back
in ASAP if any problems are found.
Notes:
svn path=/head/; revision=21157
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and objects. Previously, "fancy" memory management techniques
such as that used by the M3 RTS would have the tendancy of chopping
up processes allocated memory into lots of little objects. Alan
has come up with some improvements to migtigate the sitution to
the point where even the M3 RTS only has one object for bss and
it's managed memory (when running CVSUP.) (There are still cases where the
situation isn't improved when the system pages -- but this is much much
better for the vast majority of cases.) The system will now be able
to much more effectively merge map entries.
Submitted by: Alan Cox <alc@cs.rice.edu>
Notes:
svn path=/head/; revision=21134
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
also implies VM_PROT_EXEC. We support it that way for now,
since the break system call by default gives VM_PROT_ALL. Now
we have a better chance of coalesing map entries when mixing
mmap/break type operations. This was contributing to excessive
numbers of map entries on the modula-3 runtime system. The
problem is still not "solved", but the situation makes more
sense.
Eventually, when we work on architectures where VM_PROT_READ
is orthogonal to VM_PROT_EXEC, we will have to visit this
issue carefully (esp. regarding security issues.)
Notes:
svn path=/head/; revision=21039
|
|
|
|
|
|
|
|
|
|
| |
maps. Additionally, eliminate the map->hint distortion
associated with useracc. That may/may-not be the "right"
thing to do -- but time will tell.
Submitted by: Partially by Alan Cox <alc@cs.rice.edu>
Notes:
svn path=/head/; revision=21037
|
|
|
|
| |
Notes:
svn path=/head/; revision=20999
|
|
|
|
|
|
|
|
|
|
| |
vm_map_simplify and vm_map_simplify_entry. Make vm_map_simplify_entry
handle wired maps so that we can get rid of vm_map_simplify. Modify
the callers of vm_map_simplify to properly use vm_map_simplify_entry.
Submitted by: Alan Cox <alc@cs.rice.edu>
Notes:
svn path=/head/; revision=20993
|
|
|
|
|
|
|
|
|
| |
has the negative effect of disabling some map optimizations. This
patch defers the creation of the object until it needs to be at fault time.
Submitted by: Alan Cox <alc@cs.rice.edu>
Notes:
svn path=/head/; revision=20991
|
|
|
|
|
|
|
| |
"Don't forget to do a ``make depend''" :-)
Notes:
svn path=/head/; revision=20821
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that we do allow mlock to span unallocated regions (of course, not
mlocking them.) We also allow mlocking of RO regions (which the old
code couldn't.) The restriction there is that once a RO region is
wired (mlocked), it cannot be debugged (or EVER written to.)
Under normal usage, the new mlock code will be a significant improvement
over our old stuff.
Notes:
svn path=/head/; revision=20449
|
|
|
|
| |
Notes:
svn path=/head/; revision=20189
|
|
|
|
|
|
|
| |
vm_map_entry_dispose, because it won't help being inlined.
Notes:
svn path=/head/; revision=20187
|
|
|
|
|
|
|
|
|
|
|
|
| |
that map entries are coalesced when appropriate. Also, conditionalize
some code that is currently not used in vm_map_insert. This mod
has been added to eliminate unnecessary map entries in buffer map.
Additionally, there were some cases where map coalescing could be done
when it shouldn't. That problem has been resolved.
Notes:
svn path=/head/; revision=20182
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
scheme. Additionally, add the capability for checking for unexpected
kernel page faults. The maximum amount of kva space for buffers hasn't
been decreased from where it is, but it will now be possible to do so.
This scheme manages the kva space similar to the buffers themselves. If
there isn't enough kva space because of usage or fragementation, buffers
will be reclaimed until a buffer allocation is successful. This scheme
should be very resistant to fragmentation problems until/if the LFS code
is fixed and uses the bogus buffer locking scheme -- but a 'fixed' LFS
is not likely to use such a scheme.
Now there should be NO problem allocating buffers up to MAXPHYS.
Notes:
svn path=/head/; revision=20054
|
|
|
|
|
|
|
| |
de-inlining some VM calls. (Actually, I measured a small improvement.)
Notes:
svn path=/head/; revision=20007
|
|
|
|
|
|
|
|
| |
vm_kern by moving them from .bss to .data. With this change,
there is a measurable perf improvement in fork/exec.
Notes:
svn path=/head/; revision=19830
|
|
|
|
|
|
|
|
|
|
|
|
| |
problem of allocating contiguous buffer memory in general, but
make it much more likely to work at boot-up time. The best
chance for an LKM-type load of a sound driver is immediately
after the mount of the root filesystem.
This appears to work for a 64K allocation on an 8MB system.
Notes:
svn path=/head/; revision=19415
|
|
|
|
|
|
|
|
| |
for anonymous objects. The system will automatically change the
type to SWAP if needed (for size or pageout reasons.)
Notes:
svn path=/head/; revision=19259
|
|
|
|
|
|
|
|
|
| |
it breaks in the DEVFS_ROOT case. replicate a bit too much of bdevvp()
in here to circumvent the problem. The real problem is the magic that
lives in bdevsw[1].
Notes:
svn path=/head/; revision=19216
|
|
|
|
|
|
|
|
| |
and at best is the same speed as the unoptimized code. At worst, it
slows down trivial programs.
Notes:
svn path=/head/; revision=19142
|
|
|
|
| |
Notes:
svn path=/head/; revision=18974
|
|
|
|
|
|
|
| |
NFS problems associated with forcible dismounts.
Notes:
svn path=/head/; revision=18973
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the one place that depended on it. wakeup() is now prototyped in
<sys/systm.h> so that it is normally visible.
Added nested include of <sys/queue.h> in <vm/vm_object.h>. The queue
macros are a more fundamental prerequisite for <vm/vm_object.h> than
the wakeup prototype and previously happened to be included by
namespace pollution from <sys/proc.h> or elsewhere.
Notes:
svn path=/head/; revision=18942
|
|
|
|
|
|
|
|
| |
pmap.c. Along with the improved organization, small proc fork
performance is now about 5%-10% faster.
Notes:
svn path=/head/; revision=18937
|
|
|
|
| |
Notes:
svn path=/head/; revision=18908
|
|
|
|
|
|
|
|
| |
of gcc by definition, and __pure2 is a no-op in effect (presumably the
compiler can see when an inline function has no side effects).
Notes:
svn path=/head/; revision=18893
|
|
|
|
|
|
|
|
|
| |
64K. The change has essentially neutral effect on those machines with
little or no cache, and has a positive effect on "normal" machines
with 256K or more cache.
Notes:
svn path=/head/; revision=18779
|
|
|
|
|
|
|
|
| |
be able to use all of the free pages. This can manifest as a panic
using DIAGNOSTIC, or as a panic on an indirect memory reference.
Notes:
svn path=/head/; revision=18768
|
|
|
|
|
|
|
| |
Removed redundant #include.
Notes:
svn path=/head/; revision=18542
|
|
|
|
|
|
|
|
| |
Submitted by:
Obtained from:
Notes:
svn path=/head/; revision=18526
|
|
|
|
|
|
|
| |
trunced, end must be rounded.
Notes:
svn path=/head/; revision=18389
|
|
|
|
| |
Notes:
svn path=/head/; revision=18307
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`show vmopag', `show page' and `show pageq'. Moved all vm ddb stuff
to the ends of the vm source files.
Changed printf() to db_printf(), `indent' to db_indent, and iprintf()
to db_iprintf() in ddb commands. Moved db_indent and db_iprintf()
from vm to ddb.
vm_page.c:
Don't use __pure. Staticized.
db_output.c:
Reduced page width from 80 to 79 to inhibit double spacing for long
lines (there are still some problems if words are printed across
column 79).
Notes:
svn path=/head/; revision=18298
|
|
|
|
|
|
|
|
|
| |
rethought. This fixes YET another problem with unmounting filesystems.
The root cause is not fixed here, but at least the problem has gone
away.
Notes:
svn path=/head/; revision=18205
|
|
|
|
| |
Notes:
svn path=/head/; revision=18178
|