| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
this was not done since thr_exit() unwinds giant.
|
|
|
|
|
|
|
|
| |
if (p->p_numthreads > 1) and not a flag because action is only necessary
if there are other threads. The rest of the system has no need to
identify thr threaded processes.
- In kern_thread.c use thr_exit1() instead of thread_exit() if P_THREADED
is not set.
|
| |
|
| |
|
| |
|
|
|
|
| |
- Add system calls for umtx.
|
|
|
|
| |
- Add a prototype for thr_exit1().
|
|
|
|
|
|
|
|
|
|
|
|
| |
- umtx_lock() is defined as an inline in umtx.h. It tries to do an
uncontested acquire of a lock which falls back to the _umtx_lock()
system-call if that fails.
- umtx_unlock() is also an inline which falls back to _umtx_unlock() if the
uncontested unlock fails.
- Locks are keyed off of the thr_id_t of the currently running thread which
is currently just the pointer to the 'struct thread' in kernel.
- _umtx_lock() uses the proc pointer to synchronize access to blocked thread
queues which are stored in the first blocked thread.
|
|
|
|
| |
headers.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- sys/thr.h contains the user space visible api that is intended only for
use in threading library packages.
- kern/kern_thr.c contains thr system calls and other thr specific code.
|
|
|
|
|
|
|
|
|
|
| |
a pointer that is in user space. It will be used as the basic primitive
for a kernel supported user space lock implementation.
- Implement this function in x86's support.s
- Provide stubs that return -1 in all other architectures. Implementations
will follow along shortly.
Reviewed by: jake
|
|
|
|
|
|
|
| |
curthread. Nothing currently depends on this behavior.
- Clean up an extra newline.
Obtained from: bde
|
| |
|
| |
|
|
|
|
| |
#ifdef __BSD_VISIBLE
|
|
|
|
|
|
| |
kern_sigtimedwait() which is capable of supporting all of their semantics.
- These should be POSIX compliant but more careful review is needed before
we announce this.
|
|
|
|
|
|
|
|
|
|
| |
Instead, use the generic vaccess() operation to determine whether
an operation is permitted. This avoids embedding knowledge on
vnode permission bits such as VAPPEND in the NFS client.
PR: kern/46515
vaccess() patch submitted by: "Peter Edwards" <pmedwards@eircom.net>
Approved by: tjr, roberto (mentor)
|
|
|
|
|
| |
- Move the signal mask to the thread.
- Adjust a few comments.
|
|
|
|
|
|
|
| |
a follow on commit to kern_sig.c
- signotify() now operates on a thread since unmasked pending signals are
stored in the thread.
- PS_NEEDSIGCHK moves to TDF_NEEDSIGCHK.
|
|
|
|
| |
claiming to have timed out. I don't know what I was thinking..
|
|
|
|
| |
These were missed in my last commit.
|
|
|
|
|
| |
someone more knowledgeable on standards defined namespaces may ifdef
this out.
|
|
|
|
|
| |
SA_PROC. Signals without this flag should be directed to a particular
thread if this is possible.
|
|
|
|
|
|
|
| |
- Change all consumers to pass in a thread.
Right now this does not cause any functional changes but it will be important
later when signals can be delivered to specific threads.
|
|
|
|
|
| |
action bits to allow SIGILL to work as expected. This brings this file in
line with other architectures.
|
|
|
|
|
|
|
|
| |
critical and should not be killed when pageout is looking for more
memory pages in all the wrong places.
Reviewed by: arch@
Sponsored by: St. Bernard Software
|
|
|
|
|
| |
Noticed by: jake
Tested on: i386 (compile)
|
|
|
|
|
|
|
|
| |
be overridden by setting hw.physmem.
- Fix a vm_map_find arg, we don't want to find space.
- Add tracing and statistics for off colored pages.
- Detect "stupid" pmap_kenters (same virtual and physical as existing
mapping), and do nothing in that case.
|
|
|
|
|
| |
just return ENXIO directly instead of calling tl_detach() since that would
panic since the softc mutex isn't initialized until after this check.
|
|
|
|
|
|
|
|
|
| |
parts of it.
[*] I've been asked what "OAM" means: It's an acronym used in the
telecom industry, "Operations And Maintenance", and there it covers
anything from a single unlabeled led on the frontpanel the the full
nightmare of CMIP for SS7.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove locking of the softc in the attach method, instead depending on
bus_setup_intr being at the end of attach (delaying interrupt enable until
after ether_ifattach is called)
- Call *_detach directly in the error case of attach, depending on checking
in detach to only free resources that were allocated. This puts all
resource freeing in one place, avoiding thinkos that lead to memory leaks.
- Add bus_child_present check to calls to *_stop in the detach method to
be sure hw is present before touching its registers.
- Remove bzero softc calls since device_t should do this for us.
- dc: move interrupt allocation back where it was before. It was unnecessary
to move it. This reverts part of 1.88
- rl: move irq allocation before ether_ifattach. Problems might have been
caused by allocating the irq after enabling interrupts on the card.
- rl: call rl_stop before ether_ifdetach
- sf: call sf_stop before ether_ifdetach
- sis: add missed free of sis_tag
- sis: check errors from tag creation
- sis: move dmamem_alloc and dmamap_load to happen at same time as tag creation
- sk: remove duplicate initialization of sk_dev
- ste: add missed bus_generic_detach
- ti: call ti_stop before ether_ifdetach
- ti: add missed error setting in ti_rdata alloc failure
- vr: add missed error setting in I/O, memory mapping cases
- xl: add missed error setting in I/O, memory mapping cases
- xl: remove multi-level goto on attach failure
- xl: move dmamem_alloc and dmamap_load to happen at same time as tag creation
- Calls to free(9) are unconditional because it is valid to call free with a
null pointer.
Reviewed by: imp, mdodd
|
|
|
|
|
| |
related variables to be global. Make them either local to sf_buf_init() or
static.
|
|
|
|
|
| |
curthread == fpcurthread. This is important when we're saving the fp
state for a thread other than curthread as in from set_mcontext.
|
|
|
|
|
|
|
| |
is enabled when both the size of bus_addr_t > 4 and the card claims support.
Don't wake up the kthread to allocate more commands if we know that we've
already allocated the max number of commands.
|
| |
|
| |
|
|
|
|
|
| |
Collect all the bits of bioqueue handing in subr_disk.c, vfs_bio.c is big
enough as it is and disksort already lives in subr_disk.c.
|
|
|
|
| |
committed.
|
|
|
|
|
| |
Sponsored by: DARPA, Network Associates Laboratories
Approved by: scottl
|
|
|
|
|
|
|
|
|
|
| |
kernel opition 'options PAE'. This will only work with device drivers which
either use busdma, or are able to handle 64 bit physical addresses.
Thanks to Lanny Baron from FreeBSD Systems for the loan of a test machine
with 6 gigs of ram.
Sponsored by: DARPA, Network Associates Laboratories, FreeBSD Systems
|
| |
|
|
|
|
|
|
|
| |
No functional change, the previous rl_encap was correct wrt long
mbuf chains; this just reduces code duplication.
MFC after: 2 weeks
|
|
|
|
|
| |
Check for B_DELWRI as well as B_CACHED before issuing io on a buffer. This
is especially important since we are changing the b_iocmd.
|
|
|
|
| |
Sponsored by: DARPA, Network Associates Laboratories
|
|
|
|
|
|
|
|
|
|
|
|
| |
accessing an alternate address space this causes 1 page table page at
a time to be mapped in, rather than using the recursive mapping technique
to map in an entire alternate address space. The recursive mapping
technique changes large portions of the address space and requires global
tlb flushes, which seem to cause problems when PAE is enabled. This will
also allow IPIs to be avoided when mapping in new page table pages using
the same technique as is used for pmap_copy_page and pmap_zero_page.
Sponsored by: DARPA, Network Associates Laboratories
|
|
|
|
| |
Reviewed by: peter
|