| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
for the purposes of spelling checking that left in after my last
visit to this file.
|
|
|
|
|
| |
- Minimal proc locking.
- Use queue macros.
|
|
|
|
| |
with Giant held.
|
|
|
|
|
|
|
|
| |
- Proc locking in a few places.
- faultin() now must be called with the proc lock held.
- Split up swappable() into a couple of tests so that it can be locke in
swapout_procs().
- Use queue macros.
|
| |
|
|
|
|
| |
- Assert sched_lock is held in proc_compare.
|
|
|
|
|
|
| |
- Update stopevent() to assert that the proc lock is held when it is
held and is not recursed. Note that the STOPEVENT() macro obtains
the proc lock when calling this function.
|
|
|
|
| |
- Add proc locking for selwakeup() and selrecord().
|
| |
|
|
|
|
|
|
| |
- Add in some locking ops that might fix SIGXCPU, but don't enable them
yet.
- Assert that sched_lock is not recursed when mi_switch() is called.
|
|
|
|
| |
- Catch up to proc flag changes.
|
|
|
|
| |
- Protect calcru() with sched_lock later on in the file when it is called.
|
|
|
|
|
|
| |
- Catch up to proc flag changes.
- Reorder the way we get things in fill_kinfoproc() to minimize the
number of locking operations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mtx right now as it makes debugging harder. When we are in optimizing
mode, we can revisit this.
- Fix the KTR trace messages to use %p rather than 0x%p to avoid duplicate
0x's in KTR output.
- During witness_fixup, release Giant so that witness doesn't get confused.
Also, grab all_mtx while walking the list of mutexes.
- Remove w_sleep and w_recurse. Instead, perform checks on mutexes using
the mutex's mtx_flags field.
- Allow debug.witness_ddb and debug.witness_skipspin to be set from the
loader.
- Add Giant to the front of existing order_list entries to help ensure
Giant is always first.
- Add an order entry for the various proc locks. Note that this only
helps keep proc in order mostly as the allproc and proctree mutexes are
only obtained during a lockmgr operation on the specified mutex.
|
|
|
|
| |
- Set the new P_KTHREAD flag for kthreads during kthread_create.
|
|
|
|
| |
- Add new fork_exit() and fork_return() MI C functions.
|
| |
|
|
|
|
| |
- P_FOO -> PS_FOO.
|
|
|
|
|
|
|
| |
- The MD code now initializes proc0.p_heldmtx, proc0.p_contested, and
curproc.
- The MD code calls here with Giant already held.
- Proc locking.
|
|
|
|
| |
- P_OWEUPC -> PS_OWEUPC.
|
|
|
|
|
| |
- Update userret() to take a struct trapframe * as a second argument.
- Axe have_giant and use mtx_owned(&Giant) where appropriate.
|
|
|
|
| |
- P_FOO -> PS_FOO.
|
|
|
|
| |
- Bring across forwarded_statclock() fixes from i386 and alpha.
|
|
|
|
| |
- P_INMEM -> PS_INMEM.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
- Add a globaldata_register() prototype in the SMP case.
|
|
|
|
| |
- P_OWEUPC -> PS_OWEUPC.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to extract the PC from that to send to addupc_task() so that it can be
called from MI code.
- Remove all traces of have_giant with extreme prejudice and use
mtx_owned(&Giant) instead where appropriate.
- Proc locking.
- P_FOO -> PS_FOO.
- Don't grab Giant just to look in curproc's p_addr during a trap since we
may choose to immediately exit. Instead, delay grabbing Giant a bit
until we actually need it.
- Don't reset 'p' to 'curproc' in syscall() to handle the case of a child
returning from fork1() since children don't return via syscall().
- Remove an XXX comment in ast() that questions the correctness of the
userland check. The code is correct.
|
|
|
|
| |
- P_INMEM -> PS_INMEM.
|
|
|
|
|
|
|
| |
- Don't send IPIs for pmap_invalidate_page() or pmap_invalidate_all()
in the UP case.
- Catch up to cpuno -> cpuid.
- Convert some sanity checks that were #ifdef DIAGNOSTIC to KASSERT()'s.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Rename the per-CPU variable 'cpuno' to 'cpuid'. This was done so that
there is one consistent name across all architectures for a logical
CPU id.
- Remove all traces of IRQ forwarding.
- Add globaldata_register() hook called by globaldata_init() to register
globaldata structures in the cpuid_to_globaldata array.
- Catch up to P_FOO -> PS_FOO.
- Bring across some fixes for forwarded_statclock() from the i386 version
to handle ithreads and idleproc properly.
- Rename addugd_intr_forwarded() to addupc_intr_forwarded() so that it is
the same name on all architectures.
- Set flags in p_sflag instead of calling psignal() from
forward_hardclock().
- Proc locking.
- When we handle an IPI, turn off its bit in the mask of IPI's we are
currently handling so that an IPI doesn't send a CPU into an infinite
loop.
|
|
|
|
|
|
|
|
|
| |
that mutex operations work.
- Enter Giant earlier so we hold it during boot.
- Proc locking.
- Move globaldata_init() into here from mp_machdep.c so that UP kernels
don't depend on mp_machdep.c. Use a callout in the SMP case to register
the boot processor's globaldata in the cpuid_to_globaldata array.
|
|
|
|
|
| |
- Catch up to cpuno -> cpuid change.
- Add parens around a subexpression to quiet a warning.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
- Remove #if 0'd lazy interrupt mask.
|
| |
|
|
|
|
|
| |
- P_OWEUPC -> PS_OWEUPC.
- Remove obsolete prototype for MD fork_return().
|
|
|
|
| |
- Add fork_exit.
|
|
|
|
| |
the rest of the trapframe instead of doing it in fork_return().
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that name as a variable. Use mtx_owned(&Giant) where appropriate
instead.
- Proc locking.
- P_FOO -> PS_FOO.
- Update comments about enable interrupts during trap and why this may be
bad if we trap while holding a spin mutex.
- Don't bother resetting p to curproc in syscall() in case we are the child
returning from fork. The child hasn't returned from fork through syscall
in a while.
- Remove fork_return() as it has been superseded by the MI version.
|
|
|
|
| |
- P_INMEM -> PS_INMEM.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the alpha mp_machdep.c.
- Proc locking.
- Catch up to the P_FOO -> PS_FOO proc flags changes.
- Stick ap_init()'s prototype with the other prototypes.
- Remove the Xforwardirq IPI.
- Remove unused simplelocks.
- Don't try to psignal() from forward_statclock(), but set the appropriate
signal pending flag in p_sflag instead.
- Add in KTR_SMP tracepoints for various SMP functions. (Brought over
from the alpha port)
|
|
|
|
|
|
|
| |
- Setup proc0.p_heldmtx, proc0.contested, and curproc earlier so that we
can use mutexes.
- Initialize sched_lock and Giant earlier and enter Giant during init386.
- Use suser(9) instead of checking cr_uid directly.
|