CVS log for src/sys/sys/syncobj.h
Up to [cvs.NetBSD.org] / src / sys / sys
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Revision 1.18: download - view: text, markup, annotated - select for diffs
Sun Oct 15 10:27:11 2023 UTC (13 months, 3 weeks ago) by riastradh
Branches: MAIN
CVS tags: thorpej-ifq-base,
thorpej-ifq,
thorpej-altq-separation-base,
thorpej-altq-separation,
perseant-exfatfs-base-20240630,
perseant-exfatfs-base,
perseant-exfatfs,
HEAD
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +3 -3
lines
sys/lwp.h: Nix sys/syncobj.h dependency.
Remove it in ddb/db_syncobj.h too.
New sys/wchan.h defines wchan_t so that users need not pull in
sys/syncobj.h to get it.
Sprinkle #include <sys/syncobj.h> in .c files where it is now needed.
Revision 1.17: download - view: text, markup, annotated - select for diffs
Sun Oct 8 13:23:05 2023 UTC (13 months, 4 weeks ago) by ad
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +2 -1
lines
Ensure that an LWP that has taken a legitimate wakeup never produces an
error code from sleepq_block(). Then, it's possible to make cv_signal()
work as expected and only ever wake a singular LWP.
Revision 1.16: download - view: text, markup, annotated - select for diffs
Sat Sep 23 18:48:05 2023 UTC (14 months, 1 week ago) by ad
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +4 -3
lines
- Simplify how priority boost for blocking in kernel is handled. Rather
than setting it up at each site where we block, make it a property of
syncobj_t. Then, do not hang onto the priority boost until userret(),
drop it as soon as the LWP is out of the run queue and onto a CPU.
Holding onto it longer is of questionable benefit.
- This allows two members of lwp_t to be deleted, and mi_userret() to be
simplified a lot (next step: trim it down to a single conditional).
- While here, constify syncobj_t and de-inline a bunch of small functions
like lwp_lock() which turn out not to be small after all (I don't know
why, but atomic_*_relaxed() seem to provoke a compiler shitfit above and
beyond what volatile does).
Revision 1.15: download - view: text, markup, annotated - select for diffs
Mon Jul 17 12:54:53 2023 UTC (16 months, 2 weeks ago) by riastradh
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +2 -2
lines
sys/syncobj.h: Expose this to _KMEMUSER for future use by crash(8).
This will allow crash(8) to get at the syncobj name.
Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon Jul 17 12:54:29 2023 UTC (16 months, 2 weeks ago) by riastradh
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +2 -1
lines
kern: New struct syncobj::sobj_name member for diagnostics.
XXX potential kernel ABI change -- not sure any modules actually use
struct syncobj but it's hard to rule that out because sys/syncobj.h
leaks into sys/lwp.h
Revision 1.8.64.1: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:09:03 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8: +8 -4
lines
Merge changes from current as of 20200406
Revision 1.13: download - view: text, markup, annotated - select for diffs
Thu Mar 26 21:15:14 2020 UTC (4 years, 8 months ago) by ad
Branches: MAIN
CVS tags: thorpej-i2c-spi-conf2-base,
thorpej-i2c-spi-conf2,
thorpej-i2c-spi-conf-base,
thorpej-i2c-spi-conf,
thorpej-futex2-base,
thorpej-futex2,
thorpej-futex-base,
thorpej-futex,
thorpej-cfargs2-base,
thorpej-cfargs2,
thorpej-cfargs-base,
thorpej-cfargs,
phil-wifi-20200421,
phil-wifi-20200411,
phil-wifi-20200406,
netbsd-10-base,
netbsd-10-0-RELEASE,
netbsd-10-0-RC6,
netbsd-10-0-RC5,
netbsd-10-0-RC4,
netbsd-10-0-RC3,
netbsd-10-0-RC2,
netbsd-10-0-RC1,
netbsd-10,
cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1,
bouyer-xenpvh-base,
bouyer-xenpvh,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +1 -2
lines
SOBJ_SLEEPQ_FIFO is gone
Revision 1.12: download - view: text, markup, annotated - select for diffs
Mon Mar 23 19:14:06 2020 UTC (4 years, 8 months ago) by ad
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -2
lines
Cosmetic tweak
Revision 1.8.70.1: download - view: text, markup, annotated - select for diffs
Sat Feb 29 20:21:10 2020 UTC (4 years, 9 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.8: preferred, colored; next MAIN 1.9: preferred, colored
Changes since revision 1.8: +8 -3
lines
Sync with head.
Revision 1.11: download - view: text, markup, annotated - select for diffs
Sun Feb 23 16:27:09 2020 UTC (4 years, 9 months ago) by ad
Branches: MAIN
CVS tags: is-mlppp-base,
is-mlppp,
ad-namecache-base3
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +2 -1
lines
kpause(): is only awoken via timeout or signal, so use SOBJ_SLEEPQ_NULL like
_lwp_park() does, and dispense with the hashed sleepq & lock.
Revision 1.10: download - view: text, markup, annotated - select for diffs
Sat Feb 15 17:09:24 2020 UTC (4 years, 9 months ago) by ad
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +5 -3
lines
- List all of the syncobjs in syncobj.h.
- Update a comment.
Revision 1.9: download - view: text, markup, annotated - select for diffs
Sun Jan 26 19:01:56 2020 UTC (4 years, 10 months ago) by ad
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +4 -2
lines
Add SOBJ_SLEEPQ_NULL: means there is no TAILQ and the caller tracks the
sleeping LWPs some other way, which sleepq_*() doesn't know about.
Revision 1.6.4.2: download - view: text, markup, annotated - select for diffs
Thu Mar 11 15:04:43 2010 UTC (14 years, 8 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.6.4.1: preferred, colored; branchpoint 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6.4.1: +2 -2
lines
sync with head
Revision 1.8: download - view: text, markup, annotated - select for diffs
Wed Oct 21 21:12:07 2009 UTC (15 years, 1 month ago) by rmind
Branches: MAIN
CVS tags: yamt-pagecache-tag8,
yamt-pagecache-base9,
yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
yamt-pagecache-base5,
yamt-pagecache-base4,
yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
yamt-pagecache,
yamt-nfs-mp-base9,
yamt-nfs-mp-base11,
yamt-nfs-mp-base10,
uebayasi-xip-base7,
uebayasi-xip-base6,
uebayasi-xip-base5,
uebayasi-xip-base4,
uebayasi-xip-base3,
uebayasi-xip-base2,
uebayasi-xip-base1,
uebayasi-xip-base,
uebayasi-xip,
tls-maxphys-base-20171202,
tls-maxphys-base,
tls-maxphys,
tls-earlyentropy-base,
tls-earlyentropy,
rmind-uvmplock-nbase,
rmind-uvmplock-base,
rmind-uvmplock,
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,
prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
phil-wifi-base,
phil-wifi-20191119,
phil-wifi-20190609,
pgoyette-localcount-base,
pgoyette-localcount-20170426,
pgoyette-localcount-20170320,
pgoyette-localcount-20170107,
pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
pgoyette-localcount,
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,
perseant-stdc-iso10646-base,
perseant-stdc-iso10646,
nick-nhusb-base-20170825,
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,
nick-nhusb-base-20150406,
nick-nhusb-base,
nick-nhusb,
netbsd-9-base,
netbsd-9-4-RELEASE,
netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1,
netbsd-9,
netbsd-8-base,
netbsd-8-3-RELEASE,
netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1,
netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1,
netbsd-8,
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,
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-premerge-20091211,
matt-nb8-mediatek-base,
matt-nb8-mediatek,
matt-nb6-plus-nbase,
matt-nb6-plus-base,
matt-nb6-plus,
matt-mips64-premerge-20101231,
localcount-20160914,
khorben-n900,
jym-xensuspend-nbase,
jruoho-x86intr-base,
jruoho-x86intr,
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,
jdolecek-ncq-base,
jdolecek-ncq,
isaki-audio2-base,
isaki-audio2,
cherry-xenmp-base,
cherry-xenmp,
bouyer-socketcan-base1,
bouyer-socketcan-base,
bouyer-socketcan,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2,
agc-symver-base,
agc-symver,
ad-namecache-base2,
ad-namecache-base1,
ad-namecache-base
Branch point for: phil-wifi,
ad-namecache
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -2
lines
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.4.20.2: download - view: text, markup, annotated - select for diffs
Mon Jun 2 13:24:34 2008 UTC (16 years, 6 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.4.20.1: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.20.1: +0 -7
lines
Sync with HEAD.
Revision 1.6.2.1: download - view: text, markup, annotated - select for diffs
Sun May 18 12:35:50 2008 UTC (16 years, 6 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6: +1 -8
lines
sync with head.
Revision 1.6.4.1: download - view: text, markup, annotated - select for diffs
Fri May 16 02:25:51 2008 UTC (16 years, 6 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +1 -8
lines
sync with head.
Revision 1.7: download - view: text, markup, annotated - select for diffs
Mon Apr 28 20:24:11 2008 UTC (16 years, 7 months ago) by martin
Branches: MAIN
CVS tags: yamt-pf42-base4,
yamt-pf42-base3,
yamt-pf42-base2,
yamt-nfs-mp-base8,
yamt-nfs-mp-base7,
yamt-nfs-mp-base6,
yamt-nfs-mp-base5,
yamt-nfs-mp-base4,
yamt-nfs-mp-base3,
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,
nick-hppapmap-base4,
nick-hppapmap-base3,
nick-hppapmap-base2,
nick-hppapmap-base,
nick-hppapmap,
netbsd-5-base,
netbsd-5-2-RELEASE,
netbsd-5-2-RC1,
netbsd-5-2-3-RELEASE,
netbsd-5-2-2-RELEASE,
netbsd-5-2-1-RELEASE,
netbsd-5-2,
netbsd-5-1-RELEASE,
netbsd-5-1-RC4,
netbsd-5-1-RC3,
netbsd-5-1-RC2,
netbsd-5-1-RC1,
netbsd-5-1-5-RELEASE,
netbsd-5-1-4-RELEASE,
netbsd-5-1-3-RELEASE,
netbsd-5-1-2-RELEASE,
netbsd-5-1-1-RELEASE,
netbsd-5-1,
netbsd-5-0-RELEASE,
netbsd-5-0-RC4,
netbsd-5-0-RC3,
netbsd-5-0-RC2,
netbsd-5-0-RC1,
netbsd-5-0-2-RELEASE,
netbsd-5-0-1-RELEASE,
netbsd-5-0,
netbsd-5,
mjf-devfs2-base,
matt-nb5-pq3-base,
matt-nb5-pq3,
matt-nb5-mips64-u2-k2-k4-k7-k8-k9,
matt-nb5-mips64-u1-k1-k5,
matt-nb5-mips64-premerge-20101231,
matt-nb5-mips64-premerge-20091211,
matt-nb5-mips64-k15,
matt-nb5-mips64,
matt-nb4-mips64-k7-u2a-k9b,
matt-mips64-base2,
jymxensuspend-base,
jym-xensuspend-base,
jym-xensuspend,
hpcarm-cleanup-nbase,
haad-nbase2,
haad-dm-base2,
haad-dm-base1,
haad-dm-base,
haad-dm,
ad-audiomp2-base,
ad-audiomp2
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +1 -8
lines
Remove clause 3 and 4 from TNF licenses
Revision 1.4.20.1: download - view: text, markup, annotated - select for diffs
Thu Apr 3 12:43:12 2008 UTC (16 years, 8 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +4 -3
lines
Sync with HEAD.
Revision 1.6: download - view: text, markup, annotated - select for diffs
Thu Mar 27 12:01:23 2008 UTC (16 years, 8 months ago) by ad
Branches: MAIN
CVS tags: yamt-pf42-baseX,
yamt-pf42-base,
yamt-nfs-mp-base
Branch point for: yamt-pf42,
yamt-nfs-mp
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -1
lines
Declare sleep_syncobj.
Revision 1.3.20.4: download - view: text, markup, annotated - select for diffs
Mon Mar 24 09:39:10 2008 UTC (16 years, 8 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.3.20.3: preferred, colored; branchpoint 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3.20.3: +3 -3
lines
sync with head.
Revision 1.4.16.1: download - view: text, markup, annotated - select for diffs
Mon Mar 24 07:16:29 2008 UTC (16 years, 8 months ago) by keiichi
Branches: keiichi-mipv6
Diff to: previous 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4: +3 -3
lines
sync with head.
Revision 1.3.18.2: download - view: text, markup, annotated - select for diffs
Sun Mar 23 02:05:11 2008 UTC (16 years, 8 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.3.18.1: preferred, colored; branchpoint 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3.18.1: +3 -3
lines
sync with HEAD
Revision 1.5: download - view: text, markup, annotated - select for diffs
Mon Mar 17 16:54:51 2008 UTC (16 years, 8 months ago) by ad
Branches: MAIN
CVS tags: yamt-lazymbuf-base15,
yamt-lazymbuf-base14,
matt-armv6-nbase,
keiichi-mipv6-nbase,
keiichi-mipv6-base,
ad-socklock-base1
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +3 -3
lines
Add a boolean parameter to syncobj_t::sobj_unsleep. If true we want the
existing behaviour: the unsleep method unlocks and wakes the swapper if
needs be. If false, the caller is doing a batch operation and will take
care of that later. This is kind of ugly, but it's difficult for the caller
to know which lock to release in some situations.
Revision 1.3.18.1: download - view: text, markup, annotated - select for diffs
Tue Nov 6 23:34:58 2007 UTC (17 years, 1 month ago) by matt
Branches: matt-armv6
CVS tags: matt-armv6-prevmlocking
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +2 -1
lines
sync with HEAD
Revision 1.3.20.3: download - view: text, markup, annotated - select for diffs
Sat Oct 27 11:36:34 2007 UTC (17 years, 1 month ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.3.20.2: preferred, colored; branchpoint 1.3: preferred, colored
Changes since revision 1.3.20.2: +2 -1
lines
sync with head.
Revision 1.3.16.1: download - view: text, markup, annotated - select for diffs
Tue Oct 2 18:29:30 2007 UTC (17 years, 2 months ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3: +2 -1
lines
Sync with HEAD.
Revision 1.3.12.1: download - view: text, markup, annotated - select for diffs
Mon Sep 10 10:56:22 2007 UTC (17 years, 2 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3: +2 -1
lines
Sync with HEAD.
Revision 1.3.4.1: download - view: text, markup, annotated - select for diffs
Sun Sep 9 23:12:21 2007 UTC (17 years, 2 months ago) by ad
Branches: vmlocking
Diff to: previous 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3: +2 -1
lines
Sync with _lwp_park/priority changes on HEAD.
Revision 1.4: download - view: text, markup, annotated - select for diffs
Thu Sep 6 23:59:02 2007 UTC (17 years, 3 months ago) by ad
Branches: MAIN
CVS tags: yamt-x86pmap-base4,
yamt-x86pmap-base3,
yamt-x86pmap-base2,
yamt-x86pmap-base,
yamt-x86pmap,
yamt-kmem-base3,
yamt-kmem-base2,
yamt-kmem-base,
yamt-kmem,
vmlocking2-base3,
vmlocking2-base2,
vmlocking2-base1,
vmlocking2,
vmlocking-nbase,
vmlocking-base,
reinoud-bufcleanup-nbase,
reinoud-bufcleanup-base,
nick-net80211-sync-base,
nick-net80211-sync,
nick-csl-alignment-base5,
mjf-devfs-base,
mjf-devfs,
matt-armv6-base,
jmcneill-pm-base,
jmcneill-base,
hpcarm-cleanup-base,
cube-autoconf-base,
cube-autoconf,
bouyer-xeni386-nbase,
bouyer-xeni386-merge1,
bouyer-xeni386-base,
bouyer-xeni386,
bouyer-xenamd64-base2,
bouyer-xenamd64-base,
bouyer-xenamd64
Branch point for: mjf-devfs2,
keiichi-mipv6
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +2 -1
lines
- Fix sleepq_block() to return EINTR if the LWP is cancelled. Pointed out
by yamt@.
- Introduce SOBJ_SLEEPQ_LIFO, and use for LWPs sleeping via _lwp_park.
libpthread enqueues most waiters in LIFO order to try and wake LWPs that
ran recently, since their working set is more likely to be in cache.
Matching the order of insertion reduces the time spent searching queues
in the kernel.
- Do not boost the priority of LWPs sleeping in _lwp_park, just let them
sleep at their user priority level. LWPs waiting for some I/O event in
the kernel still wait with kernel priority and get woken more quickly.
This needs more evaluation and is to be revisited, but the effect on a
variety of benchmarks is positive.
- When waking LWPs, do not send an IPI to remote CPUs or arrange for the
current LWP to be preempted unless (a) the thread being awoken has kernel
priority and has higher priority than the currently running thread or (b)
the remote CPU is idle.
Revision 1.3.20.2: download - view: text, markup, annotated - select for diffs
Mon Sep 3 14:46:38 2007 UTC (17 years, 3 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.3.20.1: preferred, colored; branchpoint 1.3: preferred, colored
Changes since revision 1.3.20.1: +70 -0
lines
sync with head.
Revision 1.3.2.2: download - view: text, markup, annotated - select for diffs
Tue Feb 27 16:55:17 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-idlelwp
Diff to: previous 1.3.2.1: preferred, colored; branchpoint 1.3: preferred, colored; next MAIN 1.4: preferred, colored
Changes since revision 1.3.2.1: +70 -0
lines
- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
Revision 1.3.20.1
Tue Feb 27 15:07:28 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-lazymbuf
FILE REMOVED
Changes since revision 1.3: +0 -70
lines
file syncobj.h was added on branch yamt-lazymbuf on 2007-09-03 14:46:38 +0000
Revision 1.3.2.1
Tue Feb 27 15:07:28 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-idlelwp
FILE REMOVED
Changes since revision 1.3: +0 -70
lines
file syncobj.h was added on branch yamt-idlelwp on 2007-02-27 16:55:17 +0000
Revision 1.3: download - view: text, markup, annotated - select for diffs
Tue Feb 27 15:07:28 2007 UTC (17 years, 9 months ago) by yamt
Branches: MAIN
CVS tags: yamt-idlelwp-base8,
thorpej-atomic-base,
thorpej-atomic,
reinoud-bufcleanup,
nick-csl-alignment-base,
mjf-ufs-trans-base,
mjf-ufs-trans,
matt-mips64-base,
matt-mips64,
hpcarm-cleanup
Branch point for: yamt-lazymbuf,
yamt-idlelwp,
vmlocking,
nick-csl-alignment,
matt-armv6,
jmcneill-pm
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +3 -3
lines
typedef pri_t and use it instead of int and u_char.
Revision 1.2: download - view: text, markup, annotated - select for diffs
Mon Feb 26 19:04:47 2007 UTC (17 years, 9 months ago) by ad
Branches: MAIN
CVS tags: ad-audiomp-base,
ad-audiomp
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +3 -3
lines
Fix copyright at yamt's request.
Revision 1.1: download - view: text, markup, annotated - select for diffs
Mon Feb 26 10:50:31 2007 UTC (17 years, 9 months ago) by yamt
Branches: MAIN
move wchan_t and syncobj_t to a dedicated header to simplify dependencies.
fix "XXX wchan_t".
CVSweb <webmaster@jp.NetBSD.org>