History log of /netbsd/sys/sys/lwp.h (Results 76 – 100 of 216)
Revision Date Author Comments
# d65faaec 28-Jan-2011 pooka <pooka@NetBSD.org>

Some lwp-walkers expect the correct value for l_stat, so use a flag
in l_flag instead of l_stat for the purpose of flagging lwps in a
dying proc.


# 1eb72708 18-Jan-2011 rmind <rmind@NetBSD.org>

G/C unused declaration; fix few comments on locking; whitespaces.
No functional changes.


# da876597 14-Jan-2011 rmind <rmind@NetBSD.org>

Retire struct user, remove sys/user.h inclusions. Note sys/user.h header
as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.

Various #include fixes and review by matt@.


# ce6fc9b5 18-Dec-2010 rmind <rmind@NetBSD.org>

- Fix a few possible locking issues in execve1() and exit1(). Add a note
that scheduler locks are special in this regard - adaptive locks cannot
be in the path due to turnstiles. Randomly spott

- Fix a few possible locking issues in execve1() and exit1(). Add a note
that scheduler locks are special in this regard - adaptive locks cannot
be in the path due to turnstiles. Randomly spotted/reported by uebayasi@.
- Remove unused lwp_relock() and replace lwp_lock_retry() by simplifying
lwp_lock() and sleepq_enter() a little.
- Give alllwp its own cache-line and mark lwp_cache pointer as read-mostly.

OK ad@

show more ...


# 11f8c2f9 01-Sep-2010 pooka <pooka@NetBSD.org>

Implement rump_lwproc: the new lwp/proc management routines for
rump. These move the management of the pid/lwpid space from the
application into the kernel, make code more robust, and make it
possib

Implement rump_lwproc: the new lwp/proc management routines for
rump. These move the management of the pid/lwpid space from the
application into the kernel, make code more robust, and make it
possible to attach multiple lwp's to non-proc0 processes.

show more ...


# ce9dfd6a 08-Jul-2010 rmind <rmind@NetBSD.org>

Implement direct select/poll support, currently effective for socket and
pipe subsystems. Avoids overhead of second selscan() on wake-up, and thus
improves performance on certain workloads (especial

Implement direct select/poll support, currently effective for socket and
pipe subsystems. Avoids overhead of second selscan() on wake-up, and thus
improves performance on certain workloads (especially when polling on many
file-descriptors). Also, clean-up sys/fd_set.h header and improve macros.

Welcome to 5.99.36!

show more ...


# 33fa5ccb 07-Jul-2010 chs <chs@NetBSD.org>

many changes for COMPAT_LINUX:
- update the linux syscall table for each platform.
- support new-style (NPTL) linux pthreads on all platforms.
clone() with CLONE_THREAD uses 1 process with many

many changes for COMPAT_LINUX:
- update the linux syscall table for each platform.
- support new-style (NPTL) linux pthreads on all platforms.
clone() with CLONE_THREAD uses 1 process with many LWPs
instead of separate processes.
- move the contents of sys__lwp_setprivate() into a new
lwp_setprivate() and use that everywhere.
- update linux_release[] and linux32_release[] to "2.6.18".
- adjust placement of emul fork/exec/exit hooks as needed
and adjust other emul code to match.
- convert all struct emul definitions to use named initializers.
- change the pid allocator to allow multiple pids to refer to the same proc.
- remove a few fields from struct proc that are no longer needed.
- disable the non-functional "vdso" code in linux32/amd64,
glibc works fine without it.
- fix a race in the futex code where we could miss a wakeup after
a requeue operation.
- redo futex locking to be a little more efficient.

show more ...


# 60a28584 13-Jun-2010 yamt <yamt@NetBSD.org>

remove __dead from the prototype of lwp_exit, which actually can
return these days.


# 51542301 10-Jun-2010 pooka <pooka@NetBSD.org>

lwp0 seems like an lwp instead of a process, so move bits related
to it from kern_proc.c to kern_lwp.c. This makes kern_proc
"scheduling-clean" and more easily usable in environments with a
non-inte

lwp0 seems like an lwp instead of a process, so move bits related
to it from kern_proc.c to kern_lwp.c. This makes kern_proc
"scheduling-clean" and more easily usable in environments with a
non-integrated scheduler (like, to take a random example, rump).

show more ...


# 5f2e87dd 30-May-2010 dholland <dholland@NetBSD.org>

Uses PRI_KERNEL from sys/param.h; include that explicitly instead of by
accident.


# 2e2855a6 25-Apr-2010 ad <ad@NetBSD.org>

Make select/poll work with more than 32 CPUs.
No ABI change.


# 13f624ca 23-Apr-2010 rmind <rmind@NetBSD.org>

Remove lwp_uc_pool, replace it with kmem(9), plus add some consistency.
As discussed, a while ago, with ad@.


# 290fe400 12-Apr-2010 pooka <pooka@NetBSD.org>

Separate lwp specificdata data structure management from lwp cpu/vm
management.

No functional change.

(specificdata routines went from kern_lwp.c to subr_lwp_specificdata.c)


# ca843a73 06-Apr-2010 christos <christos@NetBSD.org>

PR/43128: Paul Koning: Threads support in ptrace() is insufficient for gdb to
debug threaded live apps: Add an optional lwpid in PT_STEP and PT_CONTINUE to
indicate which lwp to operate on, and imple

PR/43128: Paul Koning: Threads support in ptrace() is insufficient for gdb to
debug threaded live apps: Add an optional lwpid in PT_STEP and PT_CONTINUE to
indicate which lwp to operate on, and implement the glue required to make it
work.

show more ...


# 1bc28ea1 21-Feb-2010 darran <darran@NetBSD.org>

Add the DTrace hooks to the kernel (KDTRACE_HOOKS config option).
DTrace adds a pointer to the lwp and proc structures which it uses to
manage its state. These are opaque from the kernel perspective

Add the DTrace hooks to the kernel (KDTRACE_HOOKS config option).
DTrace adds a pointer to the lwp and proc structures which it uses to
manage its state. These are opaque from the kernel perspective to keep
the kernel free of CDDL code. The state arenas are kmem_alloced and freed
as proccesses and threads are created and destoyed.

Also add a check for trap06 (privileged/illegal instruction) so that
DTrace can check for D scripts that may have triggered the trap so it
can clean up after them and resume normal operation.

Ok with core@.

show more ...


# bc342a4b 29-Nov-2009 rmind <rmind@NetBSD.org>

Make lwp_getpcb() C89-happy by using __inline.


# a78f91e8 25-Nov-2009 rmind <rmind@NetBSD.org>

Restore exporting of lwp_getpcb() to userland and fix DDB properly.
While the header might be abstracted better, it is a separate issue.


# 04233a4c 21-Nov-2009 dsl <dsl@NetBSD.org>

Revert last change - don't expose lwp_getpcb() to userspace.


# 4dd9ee13 21-Nov-2009 rmind <rmind@NetBSD.org>

Export lwp_getpcb() to userland, since crash(8) needs it.


# 80225f96 20-Nov-2009 rmind <rmind@NetBSD.org>

Add lwp_getpcb(). OK matt@.


# 020f4d61 01-Nov-2009 rmind <rmind@NetBSD.org>

- Fix comment: proclist_mutex was merged with proclist_lock a long time ago.
- Remove unused alllwp_mutex declaration.


# 40cf6f36 21-Oct-2009 rmind <rmind@NetBSD.org>

Remove uarea swap-out functionality:

- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pm

Remove uarea swap-out functionality:

- Addresses the issue described in PR/38828.
- Some simplification in threading and sleepq subsystems.
- Eliminates pmap_collect() and, as a side note, allows pmap optimisations.
- Eliminates XS_CTL_DATA_ONSTACK in scsipi code.
- Avoids few scans on LWP list and thus potentially long holds of proc_lock.
- Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k.
- Removes __SWAP_BROKEN cases.

Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on
acorn26 (thanks to <bjh21>).

Discussed on <tech-kern>, reviewed by <ad>.

show more ...


# 5c68e5d0 28-Jun-2009 rmind <rmind@NetBSD.org>

Ephemeral mapping (emap) implementation. Concept is based on the idea that
activity of other threads will perform the TLB flush for the processes using
emap as a side effect. To track that, global

Ephemeral mapping (emap) implementation. Concept is based on the idea that
activity of other threads will perform the TLB flush for the processes using
emap as a side effect. To track that, global and per-CPU generation numbers
are used. This idea was suggested by Andrew Doran; various improvements to
it by me. Notes:

- For now, zero-copy on pipe is not yet enabled.
- TCP socket code would likely need more work.
- Additional UVM loaning improvements are needed.

Proposed on <tech-kern>, silence there.
Quickly reviewed by <ad>.

show more ...


# 851fd837 27-May-2009 yamt <yamt@NetBSD.org>

add a comment about USER_TO_UAREA/UAREA_TO_USER.


# 2fc2b080 23-May-2009 ad <ad@NetBSD.org>

- Add lwp_pctr(), get an LWP's preemption/ctxsw counter.
- Fix a preemption bug in CURCPU_IDLE_P() that can lead to a bogus
assertion failure on DEBUG kernels.
- Fix MP/preemption races with timeco

- Add lwp_pctr(), get an LWP's preemption/ctxsw counter.
- Fix a preemption bug in CURCPU_IDLE_P() that can lead to a bogus
assertion failure on DEBUG kernels.
- Fix MP/preemption races with timecounter detachment.

show more ...


123456789