The NetBSD Project

CVS log for src/sys/kern/kern_kthread.c

[BACK] Up to [] / src / sys / kern

Request diff between arbitrary revisions

Default branch: MAIN
Current tag: MAIN

Revision 1.43 / (download) - annotate - [select for diffs], Tue Jan 9 22:58:45 2018 UTC (22 months ago) by pgoyette
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20190609, phil-wifi, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, netbsd-9-base, netbsd-9, isaki-audio2-base, isaki-audio2, HEAD
Changes since 1.42: +3 -2 lines
Diff to previous 1.42 (colored)

KASSERT() that kthread_join()'s target is expecting to be joined.

As discussed on IRC.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Apr 21 15:10:34 2017 UTC (2 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, bouyer-socketcan-base1
Changes since 1.41: +3 -3 lines
Diff to previous 1.41 (colored)

- Propagate the signal mask from the ucontext_t to the newly created thread
  as specified by _lwp_create(2)
- Reset the signal stack for threads created with _lwp_create(2)

Revision 1.41 / (download) - annotate - [select for diffs], Tue Apr 21 11:10:29 2015 UTC (4 years, 6 months ago) by pooka
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base
Branch point for: pgoyette-localcount, bouyer-socketcan
Changes since 1.40: +2 -15 lines
Diff to previous 1.40 (colored)

Remove the unused and all-but-unusable kthread_destroy().  Also makes
it more obvious that the opposite of kthread_create() is kthread_exit().

Revision 1.40 / (download) - annotate - [select for diffs], Tue Apr 21 10:54:52 2015 UTC (4 years, 6 months ago) by pooka
Branch: MAIN
Changes since 1.39: +2 -6 lines
Diff to previous 1.39 (colored)

Don't check if constant-sized KM_SLEEP allocations succeeded.

Revision 1.39 / (download) - annotate - [select for diffs], Sat Sep 1 00:26:37 2012 UTC (7 years, 2 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, khorben-n900, agc-symver-base, agc-symver
Branch point for: tls-maxphys, nick-nhusb
Changes since 1.38: +4 -3 lines
Diff to previous 1.38 (colored)

Add a __HAVE_CPU_UAREA_IDLELWP hook so that the MD code can allocate
special UAREAs for idle lwp's.

Revision 1.38 / (download) - annotate - [select for diffs], Tue Nov 1 15:39:37 2011 UTC (8 years ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, matt-nb6-plus
Changes since 1.37: +8 -4 lines
Diff to previous 1.37 (colored)

Avoid crashing when we do not explictly pass down a CPU when creating
a kthread(9) in the LSIDL (KTHREAD_IDLE) state.

Revision 1.37 / (download) - annotate - [select for diffs], Sat Oct 29 20:11:08 2011 UTC (8 years ago) by jym
Branch: MAIN
Changes since 1.36: +3 -3 lines
Diff to previous 1.36 (colored)

Typo fix.

Revision 1.36 / (download) - annotate - [select for diffs], Sun Aug 7 14:03:16 2011 UTC (8 years, 3 months ago) by rmind
Branch: MAIN
Changes since 1.35: +5 -5 lines
Diff to previous 1.35 (colored)

Rename slightly misleading KTHREAD_JOINABLE to KTHREAD_MUSTJOIN.

Revision 1.35 / (download) - annotate - [select for diffs], Sun Jul 17 20:54:52 2011 UTC (8 years, 3 months ago) by joerg
Branch: MAIN
Changes since 1.34: +2 -3 lines
Diff to previous 1.34 (colored)

Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.

Revision 1.34 / (download) - annotate - [select for diffs], Tue May 24 18:18:22 2011 UTC (8 years, 5 months ago) by joerg
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, cherry-xenmp
Changes since 1.33: +3 -3 lines
Diff to previous 1.33 (colored)

Use a real panic as safe guard

Revision 1.33 / (download) - annotate - [select for diffs], Thu May 19 03:07:29 2011 UTC (8 years, 5 months ago) by rmind
Branch: MAIN
Changes since 1.32: +63 -66 lines
Diff to previous 1.32 (colored)

Re-implement kthread_join(9), so that it actually works (hi haad@).

Revision 1.32 / (download) - annotate - [select for diffs], Tue Apr 26 17:40:38 2011 UTC (8 years, 6 months ago) by ahoka
Branch: MAIN
Changes since 1.31: +3 -3 lines
Diff to previous 1.31 (colored)

Hold the current lwp's mutex, instead of the lwp we want to wait for
in kthread_join(). This fixes panics with DIAGNOSTIC and possibly some
rare race conditons.

Revision 1.31 / (download) - annotate - [select for diffs], Thu Feb 17 19:27:13 2011 UTC (8 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: bouyer-quota2-nbase
Changes since 1.30: +5 -5 lines
Diff to previous 1.30 (colored)

Add support for cpu-specific uarea allocation routines.  Allows different
allocation for user and system lwps.  MIPS will use this to map uareas of
system lwp used direct-mapped addresses (to reduce the overhead of
switching to kernel threads).  ibm4xx could use to map uareas via direct
mapped addresses and avoid the problem of having the kernel stack not in
the TLB.

Revision 1.30 / (download) - annotate - [select for diffs], Sun Jun 13 04:13:31 2010 UTC (9 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.29: +2 -8 lines
Diff to previous 1.29 (colored)

increment p_nrlwps in lwp_create rather than letting callers do so
as it's always decremented by lwp_exit.  this fixes error recovery of
eg. aio_procinit.

Revision 1.29 / (download) - annotate - [select for diffs], Wed May 12 15:53:20 2010 UTC (9 years, 6 months ago) by haad
Branch: MAIN
Changes since 1.28: +6 -6 lines
Diff to previous 1.28 (colored)

Fix bogus KASSERT, typo and KNFize my previous patch.

Revision 1.28 / (download) - annotate - [select for diffs], Tue May 11 22:26:00 2010 UTC (9 years, 6 months ago) by haad
Branch: MAIN
Changes since 1.27: +54 -7 lines
Diff to previous 1.27 (colored)

Add support for kthread_join in our kernel thread implementation. This is used
by zfs but I think that it can be generaly usefull. Thread need to be created
with KTHREAD_JOINABLE flag and can be joined only once.
When joinable thread was created it will not e automatically reaped from system
and kthread_join must be called on it to reap it.

Ok by ad@.

Revision 1.27 / (download) - annotate - [select for diffs], Wed Oct 21 21:12:06 2009 UTC (10 years ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base, matt-premerge-20091211, jym-xensuspend-nbase
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.26: +7 -8 lines
Diff to previous 1.26 (colored)

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>.

Revision 1.26 / (download) - annotate - [select for diffs], Fri Jan 30 04:09:35 2009 UTC (10 years, 9 months ago) by agc
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, jymxensuspend-base, jym-xensuspend-base, jym-xensuspend
Changes since 1.25: +4 -4 lines
Diff to previous 1.25 (colored)

Fix a tyop in the previous commit

Revision 1.25 / (download) - annotate - [select for diffs], Thu Jan 29 22:00:26 2009 UTC (10 years, 9 months ago) by ad
Branch: MAIN
Changes since 1.24: +17 -6 lines
Diff to previous 1.24 (colored)

- Allow creating timeshard kthreads. To be used to fix the RAIDframe
  parity rewrite issue.
- Create kthreads in the SCHED_RR class by default, not SCHED_FIFO.

Revision 1.24 / (download) - annotate - [select for diffs], Mon Apr 28 20:24:03 2008 UTC (11 years, 6 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, netbsd-5-0-RC1, mjf-devfs2-base, matt-mips64-base2, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5
Changes since 1.23: +2 -9 lines
Diff to previous 1.23 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.23 / (download) - annotate - [select for diffs], Thu Apr 24 18:39:24 2008 UTC (11 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.22: +4 -4 lines
Diff to previous 1.22 (colored)

Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, since
we no longer need to guard against access from hardware interrupt handlers.

Additionally, if cloning a process with CLONE_SIGHAND, arrange to have the
child process share the parent's lock so that signal state may be kept in
sync. Partially addresses PR kern/37437.

Revision 1.22 / (download) - annotate - [select for diffs], Sat Apr 12 17:16:09 2008 UTC (11 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base
Branch point for: yamt-pf42
Changes since 1.21: +3 -3 lines
Diff to previous 1.21 (colored)

Move the LW_BOUND flag into the thread-private flag word. It can be tested
by other threads/CPUs but that is only done when the LWP is known to be in a
quiescent state (for example, on a run queue).

Revision 1.21 / (download) - annotate - [select for diffs], Thu Feb 14 14:26:57 2008 UTC (11 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

Make schedstate_percpu::spc_lwplock an exernally allocated item. Remove
the hacks in sparc/cpu.c to reinitialize it. This should be in its own
cache line but that's another change.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Jan 2 11:48:50 2008 UTC (11 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.19: +4 -4 lines
Diff to previous 1.19 (colored)

Merge vmlocking2 to head.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Nov 6 00:42:41 2007 UTC (12 years ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, jmcneill-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.18: +12 -12 lines
Diff to previous 1.18 (colored)

Merge scheduler changes from the vmlocking branch. All discussed on

- Invert priority space so that zero is the lowest priority. Rearrange
  number and type of priority levels into bands. Add new bands like
  'kernel real time'.
- Ignore the priority level passed to tsleep. Compute priority for
  sleep dynamically.
- For SCHED_4BSD, make priority adjustment per-LWP, not per-process.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jul 10 23:06:56 2007 UTC (12 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: mjf-devfs, matt-armv6, jmcneill-pm, bouyer-xenamd64
Changes since 1.17: +8 -4 lines
Diff to previous 1.17 (colored)

kthread_exit: l->l_name could be NULL.

Revision 1.17 / (download) - annotate - [select for diffs], Mon Jul 9 21:10:52 2007 UTC (12 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.16: +95 -79 lines
Diff to previous 1.16 (colored)

Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements

Revision 1.16 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:30 2007 UTC (12 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, yamt-idlelwp, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, post-newlock2-merge, ad-audiomp-base, ad-audiomp
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.15: +8 -13 lines
Diff to previous 1.15 (colored)

Merge newlock2 to head.

Revision 1.15 / (download) - annotate - [select for diffs], Sat Jan 18 10:06:26 2003 UTC (16 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, thorpej-vnode-attr-base, thorpej-vnode-attr, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, peter-altq-base, peter-altq, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, matt-nb4-arm-base, matt-nb4-arm, ktrace-lwp-base, ktrace-lwp, kent-audio2-base, kent-audio2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1, gdamore-uart-base, gdamore-uart, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base, chap-midi, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-lazymbuf, newlock2
Changes since 1.14: +5 -4 lines
Diff to previous 1.14 (colored)

Merge the nathanw_sa branch.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Nov 17 08:32:44 2002 UTC (16 years, 11 months ago) by chs
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)

change uvm_uarea_alloc() to indicate whether the returned uarea is already
backed by physical pages (ie. because it reused a previously-freed one),
so that we can skip a bunch of useless work in that case.
this fixes the underlying problem behind PR 18543, and also speeds up fork()
quite a bit (eg. 7% on my pc, 1% on my ultra2) when we get a cache hit.

Revision 1.13 / (download) - annotate - [select for diffs], Sat Jun 1 23:51:05 2002 UTC (17 years, 5 months ago) by lukem
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gehenna-devsw-base
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field).  whilst it's O(n),
  this mirrors the functionality of SLIST_REMOVE() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups

Revision 1.12 / (download) - annotate - [select for diffs], Mon Nov 12 15:25:10 2001 UTC (18 years ago) by lukem
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, newlock-base, newlock, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, ifpoll-base, eeh-devprop-base, eeh-devprop
Branch point for: gehenna-devsw
Changes since 1.11: +4 -1 lines
Diff to previous 1.11 (colored)

add RCSIDs

Revision 1.11 / (download) - annotate - [select for diffs], Fri Jul 14 07:15:05 2000 UTC (19 years, 4 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, thorpej-devvp, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-mips-cache, nathanw_sa, kqueue
Changes since 1.10: +5 -17 lines
Diff to previous 1.10 (colored)


Revision 1.10 / (download) - annotate - [select for diffs], Sun May 28 05:49:06 2000 UTC (19 years, 5 months ago) by thorpej
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5
Changes since 1.9: +2 -5 lines
Diff to previous 1.9 (colored)

Rather than starting init and creating kthreads by forking and then
doing a cpu_set_kpc(), just pass the entry point and argument all
the way down the fork path starting with fork1().  In order to
avoid special-casing the normal fork in every cpu_fork(), MI code
passes down child_return() and the child process pointer explicitly.

This fixes a race condition on multiprocessor systems; a CPU could
grab the newly created processes (which has been placed on a run queue)
before cpu_set_kpc() would be performed.

Revision 1.9 / (download) - annotate - [select for diffs], Mon May 8 19:59:48 2000 UTC (19 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

__predict_false() fork1() failing.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Jul 6 21:44:10 1999 UTC (20 years, 4 months ago) by thorpej
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-newbase, chs-ubc2-base
Branch point for: thorpej_scsipi
Changes since 1.7: +14 -4 lines
Diff to previous 1.7 (colored)

Make the kthread API a bit more friendly to loadable kernel modules.

Revision 1.7 / (download) - annotate - [select for diffs], Thu May 13 21:58:37 1999 UTC (20 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

Allow the caller to specify a stack for the child process.  If NULL,
the child inherits the stack pointer from the parent (traditional
behavior).  Like the signal stack, the stack area is secified as
a low address and a size; machine-dependent code accounts for stack

This is required for clone(2).

Revision 1.6 / (download) - annotate - [select for diffs], Thu May 13 00:59:04 1999 UTC (20 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Allow an alternate exit signal (i.e. not SIGCHLD) to be delivered to the
parent, specified at fork time.  Specify a new flag to wait4(2), WALTSIG,
to wait for processes which use an alternate exit signal.

This is required for clone(2).

Revision 1.5 / (download) - annotate - [select for diffs], Fri Apr 30 21:40:30 1999 UTC (20 years, 6 months ago) by thorpej
Branch: MAIN
Changes since 1.4: +4 -3 lines
Diff to previous 1.4 (colored)

Share everything with proc0.

Revision 1.4 / (download) - annotate - [select for diffs], Mon Apr 12 00:24:17 1999 UTC (20 years, 7 months ago) by gwr
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

minor nits -- replace vsprintf with vsnprinf

Revision 1.3 / (download) - annotate - [select for diffs], Tue Dec 22 21:21:36 1998 UTC (20 years, 10 months ago) by kleink
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame
Branch point for: chs-ubc2
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

#ifdef __STDC__ -> #if __STDC__

Revision 1.2 / (download) - annotate - [select for diffs], Sat Nov 14 00:08:49 1998 UTC (21 years ago) by thorpej
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach
Changes since 1.1: +46 -1 lines
Diff to previous 1.1 (colored)

Implement a way to queue kernel threads for creation after init,
pagedaemon, reaper, etc.  Caller provides a callback function and
argument which will be called to create the threads.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Nov 11 22:44:24 1998 UTC (21 years ago) by thorpej
Branch: MAIN

Move fork_kthread() to a new file, kern_kthread.c, and rename it to
kthread_create().  Implement kthread_exit() (causes a thrad to exit).
Set P_NOCLDWAIT on kernel threads, which will cause any of their children
to be reparented to init(8) (which is already prepared to wait out orphaned

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

CVSweb <>