| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
ok guenther tb millert
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
1. Most notable: this splits argv buffer into argv-specific one
and environ-specific one. This makes ps -eww totally happy.
2. realloc() usage in kvm_argv() is now ENOMEM-prone.
3. The "int off" changed to "ptrdiff_t off", as it should be.
input & okay deraadt@, millert@
|
|
|
|
|
|
| |
initial thread
ok jsing@ kettenis@
|
|
|
|
|
|
| |
because userland doesnt have subr_tree, and the tree traversal in
this file is simple, this inlines the logic that the functions in
the kernel do.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original diff would crash at least i386 and powerpc, as spotted by
guenther@ The reason was an incorrect use of sizeof in amap_lookups().
Confirmation that powerpc works by mpi@ and mglocker@
"throw it in" deraadt@
Original commit message:
This is achieved by grouping amap slots into chunks that are allocated
on-demand by pool(9). Endless "fltamapcopy" loops because of kmem
shortage should be solved now. The kmem savings are also important to later
enable vmm(4) to use larged shared memory mappings for guest VM RAM.
This adapts libkvm also because the amap structure layout has changed.
Testing and fix of libkvm glitch in initial diff by tb@
Feedback and "time to get this in" kettenis@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is achieved by grouping amap slots into chunks that are allocated
on-demand by pool(9). Endless "fltamapcopy" loops because of kmem
shortage should be solved now. The kmem savings are also important to later
enable vmm(4) to use larged shared memory mappings for guest VM RAM.
This adapts libkvm also because the amap structure layout has changed.
Testing and fix of libkvm glitch in initial diff by tb@
Feedback and "time to get this in" kettenis@
|
| |
|
|
|
|
| |
ok millert@ doug@
|
|
|
|
| |
ok guenther
|
|
|
|
|
|
|
|
|
|
|
| |
PS_{ZOMBIE,EMBRYO} on the process instead of peeking into the process's
thread data. This eliminates the need for the thread-level SDEAD state.
Change kvm_getprocs() (both the sysctl() and kvm backends) to report the
"most active" scheduler state for the process's threads.
tweaks kettenis@
feedback and ok matthew@
|
|
|
|
| |
ok guenther millert
|
|
|
|
| |
ok deraadt@ pirofti@ kettenis@
|
| |
|
|
|
|
| |
Allows memory walks to function.
|
|
|
|
|
|
|
|
|
|
|
| |
and add an 'rtableid' keyword to ps.
Add rtable id, thread id, and socket splice info to struct kinfo_file2
and make fstat display socket splice information.
Remove old KVM_PROC2 and kinfo_proc2 interfaces; bump libkvm major
Socket splice info and corrections from bluhm@ "Lovely" deraadt@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vmmap is designed to perform address space randomized allocations,
without letting fragmentation of the address space go through the roof.
Some highlights:
- kernel address space randomization
- proper implementation of guardpages
- roughly 10% system time reduction during kernel build
Tested by alot of people on tech@ and developers.
Theo's machines are still happy.
|
|
|
|
|
|
|
|
|
| |
in libkvm with the stable-ABI versions that are currently named
KERN_PROC2, kvm_get{proc,argv,envv}2(). The latter names and symbols
will continue to be supported for a few releases.
Committing now that they ports people have had a couple releases
to update pkgs that usd the old functions
|
|
|
|
|
|
|
|
|
| |
so that the process-level stuff is to/from struct process and not
struct proc. This fixes a bunch of problem cases in rthreads.
Based on earlier work by blambert and myself, but mostly written
at c2k10.
Tested by many: deraadt, sthen, krw, ray, and in snapshots
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
/dev/mem to be direct instead of going through kvm_getprocs(), as
that function is going to get more an more broken as we move stuff
from struct proc to struct process for rthreads. To minimize the
code copying, put the common logic of filling in a kinfo_proc2
structure into a macro FILL_KPROC2() in <sys/sysctl.h> for use from
both the kernel and user-space. This also hides the KERN_PROC
#define behind "#if defined(_KERNEL)||defined(_LIBKVM)", as it's
deprecated.
Positive feedback from millert and blambert; so committing to unblock
further rthreads work.
|
|
|
|
|
|
|
| |
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms
|
| |
|
|
|
|
|
|
| |
access the swap area. Change kvm_open() to no longer require a swap area,
and to not consider failure to open() it as fatal. Post-mortem analysis
would need an image of the swap area at the time of the crash, anyway.
|
|
|
|
|
|
|
|
|
| |
Not sure what's more surprising: how long it took for NetBSD to
catch up to the rest of the BSDs (including UCB), or the amount of
code that NetBSD has claimed for itself without attributing to the
actual authors.
OK deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)
there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.
deraadt@, kettenis@ ok
|
|
|
|
| |
ckuethe@ for a while. Okay beck@, "it is good timing" deraadt@.
|
|
|
|
| |
okay miod@
|
|
|
|
|
| |
leave macros behind for now to keep the commit small
ok art beck miod pedro
|
| |
|
|
|
|
|
| |
us did not see it or get a chance to test it before it was commited. It
broke cvs, in the ami driver, making it not succeed at seeing it's devices.
|
|
|
|
|
|
| |
this results in lesse kva waste due to static preallocation of those
for every phys page and also every swap page.
tested by beck krw miod
|
|
|
|
| |
with sprinkling in size_t!
|
| |
|
| |
|
|
|
|
| |
but sysctl_proc_args() needs changes to support that.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
the KERN_PROC2 sysctl. Based on changes from NetBSD but uses our
own kvm_arg_sysctl().
|
|
|
|
| |
when the corefile is not a valid executable. otto@ OK
|
|
|
|
| |
I've skipped the GNU stuff for now. From Patrick Latifi.
|
|
|
|
| |
rescinded 22 July 1999. Proofed by myself and Theo.
|
|
|
|
|
| |
- actually use the value we've just reallocated.
- Don't return success just because the error wasn't ENOMEM (doh!).
|
| |
|
| |
|
| |
|
| |
|