CVS log for src/sys/kern/kern_idle.c
Up to [cvs.NetBSD.org] / src / sys / kern
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Revision 1.34.20.1: download - view: text, markup, annotated - select for diffs
Wed Sep 11 10:09:19 2024 UTC (3 months ago) by martin
Branches: netbsd-10
Diff to: previous 1.34: preferred, colored; next MAIN 1.35: preferred, colored
Changes since revision 1.34: +4 -2
lines
Pull up following revision(s) (requested by rin in ticket #821):
sys/arch/x86/x86/intr.c: revision 1.169
sys/kern/kern_softint.c: revision 1.76
sys/kern/subr_workqueue.c: revision 1.48
sys/kern/kern_idle.c: revision 1.36
sys/kern/subr_xcall.c: revision 1.38
check that l_nopreempt (preemption count) doesn't change after callbacks
check that the idle loop, soft interrupt handlers, workqueue, and xcall
callbacks do not modify the preemption count, in most cases, knowing it
should be 0 currently.
this work was originally done by simonb. cleaned up slightly and some
minor enhancement made by myself, and with discussion with riastradh@.
other callback call sites could check this as well (such as MD interrupt
handlers, or really anything that includes a callback registration. x86
version to be commited separately.)
apply some more diagnostic checks for x86 interrupts
convert intr_biglock_wrapper() into a slight less complete
intr_wrapper(), and move the kernel lock/unlock points into
the new intr_biglock_wrapper().
add curlwp->l_nopreempt checking for interrupt handlers,
including the dtrace wrapper.
XXX: has to copy the i8254_clockintr hack.
tested for a few months by myself, and recently by rin@ on both
current and netbsd-10. thanks!
Revision 1.36: download - view: text, markup, annotated - select for diffs
Fri Mar 1 04:32:38 2024 UTC (9 months, 1 week ago) by mrg
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630,
perseant-exfatfs-base,
perseant-exfatfs,
HEAD
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +4 -2
lines
check that l_nopreempt (preemption count) doesn't change after callbacks
check that the idle loop, soft interrupt handlers, workqueue, and xcall
callbacks do not modify the preemption count, in most cases, knowing it
should be 0 currently.
this work was originally done by simonb. cleaned up slightly and some
minor enhancement made by myself, and with discussion with riastradh@.
other callback call sites could check this as well (such as MD interrupt
handlers, or really anything that includes a callback registration. x86
version to be commited separately.)
Revision 1.35: download - view: text, markup, annotated - select for diffs
Thu Oct 5 19:10:18 2023 UTC (14 months, 1 week ago) by ad
Branches: MAIN
CVS tags: thorpej-ifq-base,
thorpej-ifq,
thorpej-altq-separation-base,
thorpej-altq-separation
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +4 -3
lines
The idle LWP doesn't need to care about kernel_lock.
Revision 1.34: download - view: text, markup, annotated - select for diffs
Sat Sep 5 16:30:12 2020 UTC (4 years, 3 months ago) by riastradh
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,
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,
cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm
Branch point for: netbsd-10
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +2 -3
lines
Round of uvm.h cleanup.
The poorly named uvm.h is generally supposed to be for uvm-internal
users only.
- Narrow it to files that actually need it -- mostly files that need
to query whether curlwp is the pagedaemon, which should maybe be
exposed by an external header.
- Use uvm_extern.h where feasible and uvm_*.h for things not exposed
by it. We should split up uvm_extern.h but this will serve for now
to reduce the uvm.h dependencies.
- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use
UVMHIST(ubchist), since ubchist is declared in uvm.h but the
reference evaporates if UVMHIST is not defined, so we reduce header
file dependencies.
- Make uvm_device.h and uvm_swap.h independently includable while
here.
ok chs@
Revision 1.25.48.1: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:08:51 2020 UTC (4 years, 8 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.25: preferred, colored; next MAIN 1.26: preferred, colored
Changes since revision 1.25: +25 -16
lines
Merge changes from current as of 20200406
Revision 1.33: download - view: text, markup, annotated - select for diffs
Thu Mar 26 19:42:39 2020 UTC (4 years, 8 months ago) by ad
Branches: MAIN
CVS tags: phil-wifi-20200421,
phil-wifi-20200411,
phil-wifi-20200406,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1,
bouyer-xenpvh-base,
bouyer-xenpvh
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +5 -6
lines
Leave the idle LWPs in state LSIDL even when running, so they don't mess up
output from ps/top/etc. Correctness isn't at stake, LWPs in other states
are temporarily on the CPU at times too (e.g. LSZOMB, LSSLEEP).
Revision 1.29.2.4: download - view: text, markup, annotated - select for diffs
Sat Feb 29 21:50:45 2020 UTC (4 years, 9 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.29.2.3: preferred, colored; branchpoint 1.29: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29.2.3: +1 -0
lines
Sync with head.
Revision 1.29.2.3: download - view: text, markup, annotated - select for diffs
Sat Feb 29 20:21:02 2020 UTC (4 years, 9 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.29.2.2: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.2.2: +4 -4
lines
Sync with head.
Revision 1.32: download - view: text, markup, annotated - select for diffs
Sat Feb 15 18:12:15 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.31: preferred, colored
Changes since revision 1.31: +4 -4
lines
- Move the LW_RUNNING flag back into l_pflag: updating l_flag without lock
in softint_dispatch() is risky. May help with the "softint screwup"
panic.
- Correct the memory barriers around zombies switching into oblivion.
Revision 1.29.2.2: download - view: text, markup, annotated - select for diffs
Sat Jan 25 22:38:50 2020 UTC (4 years, 10 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.29.2.1: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.2.1: +18 -10
lines
Sync with head.
Revision 1.31: download - view: text, markup, annotated - select for diffs
Sat Jan 25 20:29:43 2020 UTC (4 years, 10 months ago) by ad
Branches: MAIN
CVS tags: ad-namecache-base2
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +18 -9
lines
For secondary CPUs, the idle LWP is the first to run, and it's directly
entered from MD code without a trip through mi_switch(). Make the picture
look good in case the CPU takes an interrupt before it calls idle_loop().
Revision 1.29.2.1: download - view: text, markup, annotated - select for diffs
Fri Jan 17 21:47:35 2020 UTC (4 years, 10 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +3 -3
lines
Sync with head.
Revision 1.30: download - view: text, markup, annotated - select for diffs
Wed Jan 8 17:38:42 2020 UTC (4 years, 11 months ago) by ad
Branches: MAIN
CVS tags: ad-namecache-base1
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +3 -3
lines
Hopefully fix some problems seen with MP support on non-x86, in particular
where curcpu() is defined as curlwp->l_cpu:
- mi_switch(): undo the ~2007ish optimisation to unlock curlwp before
calling cpu_switchto(). It's not safe to let other actors mess with the
LWP (in particular l->l_cpu) while it's still context switching. This
removes l->l_ctxswtch.
- Move the LP_RUNNING flag into l->l_flag and rename to LW_RUNNING since
it's now covered by the LWP's lock.
- Ditch lwp_exit_switchaway() and just call mi_switch() instead. Everything
is in cache anyway so it wasn't buying much by trying to avoid saving old
state. This means cpu_switchto() will never be called with prevlwp ==
NULL.
- Remove some KERNEL_LOCK handling which hasn't been needed for years.
Revision 1.29: download - view: text, markup, annotated - select for diffs
Tue Dec 31 22:42:51 2019 UTC (4 years, 11 months ago) by ad
Branches: MAIN
CVS tags: ad-namecache-base
Branch point for: ad-namecache
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +4 -4
lines
- Add and use wrapper functions that take and acquire page interlocks, and pairs
of page interlocks. Require that the page interlock be held over calls to
uvm_pageactivate(), uvm_pagewire() and similar.
- Solve the concurrency problem with page replacement state. Rather than
updating the global state synchronously, set an intended state on
individual pages (active, inactive, enqueued, dequeued) while holding the
page interlock. After the interlock is released put the pages on a 128
entry per-CPU queue for their state changes to be made real in batch.
This results in in a ~400 fold decrease in contention on my test system.
Proposed on tech-kern but modified to use the page interlock rather than
atomics to synchronise as it's much easier to maintain that way, and
cheaper.
Revision 1.28: download - view: text, markup, annotated - select for diffs
Fri Dec 6 21:36:10 2019 UTC (5 years ago) by ad
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +4 -2
lines
Make it possible to call mi_switch() and immediately switch to another CPU.
This seems to take about 3us on my Intel system. Two changes required:
- Have the caller to mi_switch() be responsible for calling spc_lock().
- Avoid using l->l_cpu in mi_switch().
While here:
- Add a couple of calls to membar_enter()
- Have the idle LWP set itself to LSIDL, to match softint_thread().
- Remove unused return value from mi_switch().
Revision 1.27: download - view: text, markup, annotated - select for diffs
Sun Dec 1 15:34:46 2019 UTC (5 years ago) by ad
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +3 -3
lines
Fix false sharing problems with cpu_info. Identified with tprof(8).
This was a very nice win in my tests on a 48 CPU box.
- Reorganise cpu_data slightly according to usage.
- Put cpu_onproc into struct cpu_info alongside ci_curlwp (now is ci_onproc).
- On x86, put some items in their own cache lines according to usage, like
the IPI bitmask and ci_want_resched.
Revision 1.26: download - view: text, markup, annotated - select for diffs
Sat Nov 23 19:42:52 2019 UTC (5 years ago) by ad
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +9 -10
lines
Minor scheduler cleanup:
- Adapt to cpu_need_resched() changes. Avoid lost & duplicate IPIs and ASTs.
sched_resched_cpu() and sched_resched_lwp() contain the logic for this.
- Changes for LSIDL to make the locking scheme match the intended design.
- Reduce lock contention and false sharing further.
- Numerous small bugfixes, including some corrections for SCHED_FIFO/RT.
- Use setrunnable() in more places, and merge cut & pasted code.
Revision 1.24.6.1: download - view: text, markup, annotated - select for diffs
Tue Apr 17 00:08:24 2012 UTC (12 years, 7 months ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.24: preferred, colored; next MAIN 1.25: preferred, colored
Changes since revision 1.24: +1 -0
lines
sync with head
Revision 1.24.10.1: download - view: text, markup, annotated - select for diffs
Sat Feb 18 07:35:29 2012 UTC (12 years, 9 months ago) by mrg
Branches: jmcneill-usbmp
Diff to: previous 1.24: preferred, colored; next MAIN 1.25: preferred, colored
Changes since revision 1.24: +3 -2
lines
merge to -current.
Revision 1.25: download - view: text, markup, annotated - select for diffs
Sun Jan 29 22:55:40 2012 UTC (12 years, 10 months ago) by rmind
Branches: MAIN
CVS tags: yamt-pagecache-base9,
yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
yamt-pagecache-base5,
yamt-pagecache-base4,
tls-maxphys-base-20171202,
tls-maxphys-base,
tls-maxphys,
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,
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-nb8-mediatek-base,
matt-nb8-mediatek,
matt-nb6-plus-nbase,
matt-nb6-plus-base,
matt-nb6-plus,
localcount-20160914,
khorben-n900,
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,
jdolecek-ncq-base,
jdolecek-ncq,
isaki-audio2-base,
isaki-audio2,
bouyer-socketcan-base1,
bouyer-socketcan-base,
bouyer-socketcan,
agc-symver-base,
agc-symver
Branch point for: phil-wifi
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +3 -2
lines
- Add mi_cpu_init() and initialise cpu_lock and kcpuset_attached/running there.
- Add kcpuset_running which gets set in idle_loop().
- Use kcpuset_running in pserialize_perform().
Revision 1.23.6.1: download - view: text, markup, annotated - select for diffs
Mon Jun 6 09:09:28 2011 UTC (13 years, 6 months ago) by jruoho
Branches: jruoho-x86intr
Diff to: previous 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23: +3 -3
lines
Sync with HEAD.
Revision 1.23.4.1: download - view: text, markup, annotated - select for diffs
Sat Mar 5 20:55:14 2011 UTC (13 years, 9 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.23: preferred, colored; next MAIN 1.24: preferred, colored
Changes since revision 1.23: +3 -3
lines
sync with head
Revision 1.24: download - view: text, markup, annotated - select for diffs
Mon Jan 17 07:13:31 2011 UTC (13 years, 10 months ago) by uebayasi
Branches: MAIN
CVS tags: yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
rmind-uvmplock-nbase,
rmind-uvmplock-base,
jmcneill-usbmp-pre-base2,
jmcneill-usbmp-base,
jmcneill-audiomp3-base,
jmcneill-audiomp3,
cherry-xenmp-base,
cherry-xenmp,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2
Branch point for: yamt-pagecache,
jmcneill-usbmp
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +3 -3
lines
Include internal definitions (uvm/uvm.h) only where necessary.
Revision 1.16.2.3: download - view: text, markup, annotated - select for diffs
Wed Aug 19 18:48:16 2009 UTC (15 years, 3 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.16.2.2: preferred, colored; branchpoint 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16.2.2: +3 -2
lines
sync with head.
Revision 1.21.10.1: download - view: text, markup, annotated - select for diffs
Thu Jul 23 23:32:34 2009 UTC (15 years, 4 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.21: preferred, colored; next MAIN 1.22: preferred, colored
Changes since revision 1.21: +10 -5
lines
Sync with HEAD.
Revision 1.23: download - view: text, markup, annotated - select for diffs
Sun Jul 19 10:11:55 2009 UTC (15 years, 4 months ago) by yamt
Branches: MAIN
CVS tags: yamt-nfs-mp-base9,
yamt-nfs-mp-base8,
yamt-nfs-mp-base7,
yamt-nfs-mp-base11,
yamt-nfs-mp-base10,
uebayasi-xip-base4,
uebayasi-xip-base3,
uebayasi-xip-base2,
uebayasi-xip-base1,
uebayasi-xip-base,
uebayasi-xip,
matt-premerge-20091211,
matt-mips64-premerge-20101231,
jymxensuspend-base,
jym-xensuspend-nbase,
jruoho-x86intr-base
Branch point for: rmind-uvmplock,
jruoho-x86intr
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +3 -2
lines
set LP_RUNNING when starting lwp0 and idle lwps.
add assertions.
Revision 1.16.2.2: download - view: text, markup, annotated - select for diffs
Sat Jul 18 14:53:23 2009 UTC (15 years, 4 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.16.2.1: preferred, colored; branchpoint 1.16: preferred, colored
Changes since revision 1.16.2.1: +9 -5
lines
sync with head.
Revision 1.22: download - view: text, markup, annotated - select for diffs
Sun Jun 28 09:25:05 2009 UTC (15 years, 5 months ago) by ad
Branches: MAIN
CVS tags: yamt-nfs-mp-base6
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +9 -5
lines
idle_loop: explicitly go to spl0() to sidestep potential MD bugs.
Revision 1.16.2.1: download - view: text, markup, annotated - select for diffs
Mon May 4 08:13:46 2009 UTC (15 years, 7 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +17 -63
lines
sync with head.
Revision 1.11.6.4: download - view: text, markup, annotated - select for diffs
Sun Jun 29 09:33:14 2008 UTC (16 years, 5 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.11.6.3: preferred, colored; branchpoint 1.11: preferred, colored; next MAIN 1.12: preferred, colored
Changes since revision 1.11.6.3: +3 -1
lines
Sync with HEAD.
Revision 1.16.4.1: download - view: text, markup, annotated - select for diffs
Mon Jun 23 04:31:50 2008 UTC (16 years, 5 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.16: preferred, colored; next MAIN 1.17: preferred, colored
Changes since revision 1.16: +17 -63
lines
Sync w/ -current. 34 merge conflicts to follow.
Revision 1.20.2.1: download - view: text, markup, annotated - select for diffs
Wed Jun 18 16:33:35 2008 UTC (16 years, 5 months ago) by simonb
Branches: simonb-wapbl
Diff to: previous 1.20: preferred, colored; next MAIN 1.21: preferred, colored
Changes since revision 1.20: +5 -3
lines
Sync with head.
Revision 1.13.2.3: download - view: text, markup, annotated - select for diffs
Tue Jun 17 09:15:03 2008 UTC (16 years, 5 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.13.2.2: preferred, colored; branchpoint 1.13: preferred, colored; next MAIN 1.14: preferred, colored
Changes since revision 1.13.2.2: +11 -16
lines
sync with head.
Revision 1.21: download - view: text, markup, annotated - select for diffs
Wed Jun 11 13:42:02 2008 UTC (16 years, 6 months ago) by ad
Branches: MAIN
CVS tags: yamt-pf42-base4,
yamt-nfs-mp-base5,
yamt-nfs-mp-base4,
yamt-nfs-mp-base3,
wrstuden-revivesa-base-4,
wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base,
simonb-wapbl-nbase,
simonb-wapbl-base,
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,
jym-xensuspend-base,
haad-nbase2,
haad-dm-base2,
haad-dm-base1,
haad-dm-base,
haad-dm,
ad-audiomp2-base,
ad-audiomp2
Branch point for: jym-xensuspend
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +5 -3
lines
Don't call uvm_pageidlezero() if the CPU is marked offline.
Revision 1.11.6.3: download - view: text, markup, annotated - select for diffs
Thu Jun 5 19:14:36 2008 UTC (16 years, 6 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.11.6.2: preferred, colored; branchpoint 1.11: preferred, colored
Changes since revision 1.11.6.2: +7 -14
lines
Sync with HEAD.
Also fix build.
Revision 1.20: download - view: text, markup, annotated - select for diffs
Wed Jun 4 12:45:28 2008 UTC (16 years, 6 months ago) by ad
Branches: MAIN
Branch point for: simonb-wapbl
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +9 -16
lines
- vm_page: put listq, pageq into a union alongside a LIST_ENTRY, so we can
use both types of list.
- Make page coloring and idle zero state per-CPU.
- Maintain per-CPU page freelists. When freeing, put pages onto the local
CPU's lists and the global lists. When allocating, prefer to take pages
from the local CPU. If none are available take from the global list as
done now. Proposed on tech-kern@.
Revision 1.13.2.2: download - view: text, markup, annotated - select for diffs
Wed Jun 4 02:05:39 2008 UTC (16 years, 6 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.13.2.1: preferred, colored; branchpoint 1.13: preferred, colored
Changes since revision 1.13.2.1: +13 -54
lines
sync with head
Revision 1.11.6.2: download - view: text, markup, annotated - select for diffs
Mon Jun 2 13:24:08 2008 UTC (16 years, 6 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.11.6.1: preferred, colored; branchpoint 1.11: preferred, colored
Changes since revision 1.11.6.1: +16 -2
lines
Sync with HEAD.
Revision 1.19: download - view: text, markup, annotated - select for diffs
Thu May 29 22:33:27 2008 UTC (16 years, 6 months ago) by rmind
Branches: MAIN
CVS tags: yamt-pf42-base3
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +8 -6
lines
Simplifcation for running LWP migration. Removes double-locking in
mi_switch(), migration for LSONPROC is now performed via idle loop.
Handles/fixes on-CPU case in lwp_migrate(), misc.
Closes PR/38169, idea of migration via idle loop by Andrew Doran.
Revision 1.18: download - view: text, markup, annotated - select for diffs
Tue May 27 14:48:52 2008 UTC (16 years, 6 months ago) by ad
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +6 -51
lines
PR kern/38707 scheduler related deadlock during build.sh
- Fix performance regression inroduced by the workaround by making job
stealing a lot simpler: if the local run queue is empty, let the CPU enter
the idle loop. In the idle loop, try to steal a job from another CPU's run
queue if we are idle. If we succeed, re-enter mi_switch() immediatley to
dispatch the job.
- When stealing jobs, consider a remote CPU to have one less job in its
queue if it's currently in the idle loop. It will dispatch the job soon,
so there's no point sloshing it about.
- Introduce a few event counters to monitor what's happening with the run
queues.
- Revert the idle CPU bitmap change. It's pointless considering NUMA.
Revision 1.17: download - view: text, markup, annotated - select for diffs
Sat May 24 12:59:06 2008 UTC (16 years, 6 months ago) by ad
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +4 -2
lines
Set cpu_onproc on entry to the idle loop.
Revision 1.13.2.1: download - view: text, markup, annotated - select for diffs
Sun May 18 12:35:08 2008 UTC (16 years, 6 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +9 -4
lines
sync with head.
Revision 1.16: download - view: text, markup, annotated - select for diffs
Sat Apr 26 08:09:30 2008 UTC (16 years, 7 months ago) by yamt
Branches: MAIN
CVS tags: yamt-pf42-base2,
yamt-nfs-mp-base2,
yamt-nfs-mp-base,
hpcarm-cleanup-nbase
Branch point for: yamt-nfs-mp,
wrstuden-revivesa
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +3 -3
lines
fix a comment.
Revision 1.15: download - view: text, markup, annotated - select for diffs
Sat Apr 26 08:08:27 2008 UTC (16 years, 7 months ago) by yamt
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +3 -3
lines
idle_loop: unsigned -> uint32_t to be consistent with the rest of the code.
no functional change.
Revision 1.14: download - view: text, markup, annotated - select for diffs
Thu Apr 24 13:56:30 2008 UTC (16 years, 7 months ago) by ad
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +7 -2
lines
xc_broadcast: don't try to run cross calls on CPUs that are not yet running.
Revision 1.13: download - view: text, markup, annotated - select for diffs
Fri Apr 4 17:21:22 2008 UTC (16 years, 8 months ago) by ad
Branches: MAIN
CVS tags: yamt-pf42-baseX,
yamt-pf42-base
Branch point for: yamt-pf42
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +52 -2
lines
Maintain a bitmap of idle CPUs and add idle_pick() to find an idle CPU
and remove it from the bitmap.
Revision 1.11.6.1: download - view: text, markup, annotated - select for diffs
Thu Apr 3 12:43:01 2008 UTC (16 years, 8 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +3 -3
lines
Sync with HEAD.
Revision 1.11.2.1: download - view: text, markup, annotated - select for diffs
Mon Mar 24 07:16:13 2008 UTC (16 years, 8 months ago) by keiichi
Branches: keiichi-mipv6
Diff to: previous 1.11: preferred, colored; next MAIN 1.12: preferred, colored
Changes since revision 1.11: +3 -3
lines
sync with head.
Revision 1.4.6.3: download - view: text, markup, annotated - select for diffs
Sun Mar 23 02:04:59 2008 UTC (16 years, 8 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.4.6.2: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.6.2: +4 -4
lines
sync with HEAD
Revision 1.4.8.8: download - view: text, markup, annotated - select for diffs
Mon Mar 17 09:15:33 2008 UTC (16 years, 8 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.4.8.7: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.8.7: +3 -3
lines
sync with head.
Revision 1.12: download - view: text, markup, annotated - select for diffs
Mon Mar 10 22:20:14 2008 UTC (16 years, 9 months ago) by martin
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.11: preferred, colored
Changes since revision 1.11: +3 -3
lines
Use cpu index instead of the machine dependend, not very expressive
cpuid when naming user-visible kernel entities.
Revision 1.4.8.7: download - view: text, markup, annotated - select for diffs
Wed Feb 27 08:36:55 2008 UTC (16 years, 9 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.4.8.6: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.8.6: +3 -3
lines
sync with head.
Revision 1.6.4.3: download - view: text, markup, annotated - select for diffs
Mon Feb 18 21:06:45 2008 UTC (16 years, 9 months ago) by mjf
Branches: mjf-devfs
Diff to: previous 1.6.4.2: preferred, colored; branchpoint 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6.4.2: +3 -3
lines
Sync with HEAD.
Revision 1.11: download - view: text, markup, annotated - select for diffs
Thu Feb 14 14:26:57 2008 UTC (16 years, 10 months ago) by ad
Branches: MAIN
CVS tags: nick-net80211-sync-base,
nick-net80211-sync,
mjf-devfs-base,
hpcarm-cleanup-base
Branch point for: mjf-devfs2,
keiichi-mipv6
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +3 -3
lines
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.4.8.6: download - view: text, markup, annotated - select for diffs
Mon Jan 21 09:46:04 2008 UTC (16 years, 10 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.4.8.5: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.8.5: +3 -3
lines
sync with head
Revision 1.4.6.2: download - view: text, markup, annotated - select for diffs
Wed Jan 9 01:56:02 2008 UTC (16 years, 11 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.4.6.1: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.6.1: +5 -4
lines
sync with HEAD
Revision 1.9.6.1: download - view: text, markup, annotated - select for diffs
Wed Jan 2 21:55:50 2008 UTC (16 years, 11 months ago) by bouyer
Branches: bouyer-xeni386
CVS tags: bouyer-xeni386-merge1
Diff to: previous 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9: +3 -3
lines
Sync with HEAD
Revision 1.6.4.2: download - view: text, markup, annotated - select for diffs
Thu Dec 27 00:45:59 2007 UTC (16 years, 11 months ago) by mjf
Branches: mjf-devfs
Diff to: previous 1.6.4.1: preferred, colored; branchpoint 1.6: preferred, colored
Changes since revision 1.6.4.1: +3 -3
lines
Sync with HEAD.
Revision 1.9.2.1: download - view: text, markup, annotated - select for diffs
Wed Dec 26 19:57:07 2007 UTC (16 years, 11 months ago) by ad
Branches: vmlocking2
Diff to: previous 1.9: preferred, colored; next MAIN 1.10: preferred, colored
Changes since revision 1.9: +3 -3
lines
Sync with head.
Revision 1.10: download - view: text, markup, annotated - select for diffs
Sat Dec 22 01:14:54 2007 UTC (16 years, 11 months ago) by yamt
Branches: MAIN
CVS tags: vmlocking2-base3,
matt-armv6-base,
bouyer-xeni386-nbase,
bouyer-xeni386-base
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +3 -3
lines
use binuptime for l_stime/l_rtime.
Revision 1.4.8.5: download - view: text, markup, annotated - select for diffs
Fri Dec 7 17:32:42 2007 UTC (17 years ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.4.8.4: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.8.4: +4 -2
lines
sync with head
Revision 1.4.4.5: download - view: text, markup, annotated - select for diffs
Wed Nov 21 21:55:58 2007 UTC (17 years ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.4.4.4: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.4.4: +4 -2
lines
Sync with HEAD.
Revision 1.6.4.1: download - view: text, markup, annotated - select for diffs
Mon Nov 19 00:48:38 2007 UTC (17 years ago) by mjf
Branches: mjf-devfs
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +15 -38
lines
Sync with HEAD.
Revision 1.6.2.2: download - view: text, markup, annotated - select for diffs
Sun Nov 18 19:35:48 2007 UTC (17 years ago) by bouyer
Branches: bouyer-xenamd64
Diff to: previous 1.6.2.1: preferred, colored; branchpoint 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6.2.1: +2 -1
lines
Sync with HEAD
Revision 1.9: download - view: text, markup, annotated - select for diffs
Thu Nov 15 20:12:25 2007 UTC (17 years, 1 month ago) by ad
Branches: MAIN
CVS tags: yamt-kmem-base3,
yamt-kmem-base2,
yamt-kmem-base,
yamt-kmem,
vmlocking2-base2,
vmlocking2-base1,
vmlocking-nbase,
reinoud-bufcleanup-nbase,
reinoud-bufcleanup-base,
jmcneill-pm-base,
cube-autoconf-base,
cube-autoconf,
bouyer-xenamd64-base2,
bouyer-xenamd64-base
Branch point for: vmlocking2,
bouyer-xeni386
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +4 -2
lines
Lock curlwp when updating the start time.
Revision 1.4.8.4: download - view: text, markup, annotated - select for diffs
Thu Nov 15 11:44:41 2007 UTC (17 years, 1 month ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.4.8.3: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.8.3: +13 -38
lines
sync with head.
Revision 1.4.4.4: download - view: text, markup, annotated - select for diffs
Wed Nov 14 19:04:40 2007 UTC (17 years, 1 month ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.4.4.3: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.4.3: +2 -3
lines
Sync with HEAD.
Revision 1.8: download - view: text, markup, annotated - select for diffs
Tue Nov 13 22:14:35 2007 UTC (17 years, 1 month ago) by ad
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -3
lines
Remove KERNEL_LOCK_ASSERT_LOCKED, KERNEL_LOCK_ASSERT_UNLOCKED since the
kernel_lock functions can be patched out at runtime now. Assertions are
provided by the existing functions and by LOCKDEBUG_BARRIER.
Revision 1.6.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 13 16:02:03 2007 UTC (17 years, 1 month ago) by bouyer
Branches: bouyer-xenamd64
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +13 -37
lines
Sync with HEAD
Revision 1.4.6.1: download - view: text, markup, annotated - select for diffs
Tue Nov 6 23:31:36 2007 UTC (17 years, 1 month ago) by matt
Branches: matt-armv6
CVS tags: matt-armv6-prevmlocking
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +18 -40
lines
sync with HEAD
Revision 1.4.4.3: download - view: text, markup, annotated - select for diffs
Tue Nov 6 19:25:28 2007 UTC (17 years, 1 month ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.4.4.2: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.4.2: +13 -37
lines
Sync with HEAD.
Revision 1.7: download - view: text, markup, annotated - select for diffs
Tue Nov 6 00:42:41 2007 UTC (17 years, 1 month ago) by ad
Branches: MAIN
CVS tags: jmcneill-base
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +13 -37
lines
Merge scheduler changes from the vmlocking branch. All discussed on
tech-kern:
- 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.1.6.4: download - view: text, markup, annotated - select for diffs
Thu Nov 1 21:58:17 2007 UTC (17 years, 1 month ago) by ad
Branches: vmlocking
Diff to: previous 1.1.6.3: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.6.3: +13 -37
lines
- Fix interactivity problems under high load. Beacuse soft interrupts
are being stacked on top of regular LWPs, more often than not aston()
was being called on a soft interrupt thread instead of a user thread,
meaning that preemption was not happening on EOI.
- Don't use bool in a couple of data structures. Sub-word writes are not
always atomic and may clobber other fields in the containing word.
- For SCHED_4BSD, make p_estcpu per thread (l_estcpu). Rework how the
dynamic priority level is calculated - it's much better behaved now.
- Kill the l_usrpri/l_priority split now that priorities are no longer
directly assigned by tsleep(). There are three fields describing LWP
priority:
l_priority: Dynamic priority calculated by the scheduler.
This does not change for kernel/realtime threads,
and always stays within the correct band. Eg for
timeshared LWPs it never moves out of the user
priority range. This is basically what l_usrpri
was before.
l_inheritedprio: Lent to the LWP due to priority inheritance
(turnstiles).
l_kpriority: A boolean value set true the first time an LWP
sleeps within the kernel. This indicates that the LWP
should get a priority boost as compensation for blocking.
lwp_eprio() now does the equivalent of sched_kpri() if
the flag is set. The flag is cleared in userret().
- Keep track of scheduling class (OTHER, FIFO, RR) in struct lwp, and use
this to make decisions in a few places where we previously tested for a
kernel thread.
- Partially fix itimers and usr/sys/intr time accounting in the presence
of software interrupts.
- Use kthread_create() to create idle LWPs. Move priority definitions
from the various modules into sys/param.h.
- newlwp -> lwp_create
Revision 1.4.8.3: download - view: text, markup, annotated - select for diffs
Sat Oct 27 11:35:23 2007 UTC (17 years, 1 month ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.4.8.2: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.8.2: +7 -5
lines
sync with head.
Revision 1.4.4.2: download - view: text, markup, annotated - select for diffs
Fri Oct 26 15:48:31 2007 UTC (17 years, 1 month ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.4.4.1: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.4.1: +5 -2
lines
Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
Revision 1.4.10.2: download - view: text, markup, annotated - select for diffs
Sun Oct 14 11:48:39 2007 UTC (17 years, 2 months ago) by yamt
Branches: yamt-x86pmap
Diff to: previous 1.4.10.1: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.10.1: +5 -2
lines
sync with head.
Revision 1.1.6.3: download - view: text, markup, annotated - select for diffs
Tue Oct 9 13:44:25 2007 UTC (17 years, 2 months ago) by ad
Branches: vmlocking
Diff to: previous 1.1.6.2: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.6.2: +7 -5
lines
Sync with head.
Revision 1.6: download - view: text, markup, annotated - select for diffs
Mon Oct 8 20:06:19 2007 UTC (17 years, 2 months ago) by ad
Branches: MAIN
CVS tags: yamt-x86pmap-base4,
yamt-x86pmap-base3,
vmlocking-base
Branch point for: mjf-devfs,
bouyer-xenamd64
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +5 -2
lines
Merge run time accounting changes from the vmlocking branch. These make
the LWP "start time" per-thread instead of per-CPU.
Revision 1.4.10.1: download - view: text, markup, annotated - select for diffs
Sat Oct 6 15:28:42 2007 UTC (17 years, 2 months ago) by yamt
Branches: yamt-x86pmap
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +4 -5
lines
sync with head.
Revision 1.4.4.1: download - view: text, markup, annotated - select for diffs
Tue Oct 2 18:28:59 2007 UTC (17 years, 2 months ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +4 -5
lines
Sync with HEAD.
Revision 1.5: download - view: text, markup, annotated - select for diffs
Mon Oct 1 22:14:23 2007 UTC (17 years, 2 months ago) by ad
Branches: MAIN
CVS tags: yamt-x86pmap-base2
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +4 -5
lines
Enter mi_switch() from the idle loop if ci_want_resched is set. If there
are no jobs to run it will clear it while under lock. Should fix idle.
Revision 1.4.8.2: download - view: text, markup, annotated - select for diffs
Mon Sep 3 14:40:47 2007 UTC (17 years, 3 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.4.8.1: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.8.1: +126 -0
lines
sync with head.
Revision 1.3.4.1: download - view: text, markup, annotated - select for diffs
Wed Aug 15 13:49:07 2007 UTC (17 years, 4 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: +3 -2
lines
Sync with HEAD.
Revision 1.4.12.2: download - view: text, markup, annotated - select for diffs
Sat Jul 21 19:06:23 2007 UTC (17 years, 4 months ago) by ad
Branches: matt-mips64
Diff to: previous 1.4.12.1: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.12.1: +126 -0
lines
Don't depend on uvm_extern.h pulling in proc.h.
Revision 1.4.12.1
Sat Jul 21 19:06:22 2007 UTC (17 years, 4 months ago) by ad
Branches: matt-mips64
FILE REMOVED
Changes since revision 1.4: +0 -126
lines
file kern_idle.c was added on branch matt-mips64 on 2007-07-21 19:06:23 +0000
Revision 1.4.8.1
Sat Jul 21 19:06:22 2007 UTC (17 years, 4 months ago) by yamt
Branches: yamt-lazymbuf
FILE REMOVED
Changes since revision 1.4: +0 -126
lines
file kern_idle.c was added on branch yamt-lazymbuf on 2007-09-03 14:40:47 +0000
Revision 1.4: download - view: text, markup, annotated - select for diffs
Sat Jul 21 19:06:22 2007 UTC (17 years, 4 months ago) by ad
Branches: MAIN
CVS tags: yamt-x86pmap-base,
nick-csl-alignment-base5,
matt-mips64-base,
hpcarm-cleanup
Branch point for: yamt-x86pmap,
yamt-lazymbuf,
matt-mips64,
matt-armv6,
jmcneill-pm
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -2
lines
Don't depend on uvm_extern.h pulling in proc.h.
Revision 1.3.2.2: download - view: text, markup, annotated - select for diffs
Wed Jul 11 20:09:48 2007 UTC (17 years, 5 months ago) by mjf
Branches: mjf-ufs-trans
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: +125 -0
lines
Sync with head.
Revision 1.3.2.1
Mon Jul 9 21:10:52 2007 UTC (17 years, 5 months ago) by mjf
Branches: mjf-ufs-trans
FILE REMOVED
Changes since revision 1.3: +0 -125
lines
file kern_idle.c was added on branch mjf-ufs-trans on 2007-07-11 20:09:48 +0000
Revision 1.3: download - view: text, markup, annotated - select for diffs
Mon Jul 9 21:10:52 2007 UTC (17 years, 5 months ago) by ad
Branches: MAIN
CVS tags: nick-csl-alignment-base,
mjf-ufs-trans-base
Branch point for: nick-csl-alignment,
mjf-ufs-trans
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +5 -4
lines
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.1.6.2: download - view: text, markup, annotated - select for diffs
Sun Jun 17 21:31:21 2007 UTC (17 years, 5 months ago) by ad
Branches: vmlocking
Diff to: previous 1.1.6.1: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.6.1: +4 -3
lines
- Increase the number of thread priorities from 128 to 256. How the space
is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
is provided, with hooks for fast-path MD code that can run the interrupt
threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.
Revision 1.1.6.1: download - view: text, markup, annotated - select for diffs
Sat Jun 9 21:37:27 2007 UTC (17 years, 6 months ago) by ad
Branches: vmlocking
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +125 -0
lines
Sync with head.
Revision 1.2: download - view: text, markup, annotated - select for diffs
Thu May 17 14:51:39 2007 UTC (17 years, 7 months ago) by yamt
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +124 -0
lines
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
Revision 1.1.2.9: download - view: text, markup, annotated - select for diffs
Sun May 13 17:02:58 2007 UTC (17 years, 7 months ago) by ad
Branches: yamt-idlelwp
Diff to: previous 1.1.2.8: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.2.8: +4 -3
lines
Assign a per-CPU lock to LWPs as they transition into the ONPROC state.
http://mail-index.netbsd.org/tech-kern/2007/05/06/0003.html
Revision 1.1.2.8: download - view: text, markup, annotated - select for diffs
Sat Apr 21 18:11:41 2007 UTC (17 years, 7 months ago) by mrg
Branches: yamt-idlelwp
Diff to: previous 1.1.2.7: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.7: +3 -3
lines
add a missing ";" in the !MP case.
Revision 1.1.2.7: download - view: text, markup, annotated - select for diffs
Sat Apr 21 15:50:15 2007 UTC (17 years, 7 months ago) by ad
Branches: yamt-idlelwp
Diff to: previous 1.1.2.6: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.6: +17 -3
lines
Some changes mainly for top/ps:
- Add an optional name field to struct lwp.
- Count the total number of context switches + involuntary,
not voluntary + involuntary.
- Mark the idle threads as LSIDL when not running, otherwise
they show up funny in a top(1) that shows threads.
- Make pctcpu and cpticks per-LWP attributes.
- Add to kinfo_lwp: cpticks, pctcpu, pid, name.
Revision 1.1.2.6: download - view: text, markup, annotated - select for diffs
Mon Apr 16 23:31:20 2007 UTC (17 years, 8 months ago) by ad
Branches: yamt-idlelwp
Diff to: previous 1.1.2.5: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.5: +3 -3
lines
- Nuke the seperate scheduler locking scheme for UP kernels - it has been
at the root of too many bugs.
- Add a LW_BOUND flag that indicates an LWP is bound to a specific CPU.
Revision 1.1.2.5: download - view: text, markup, annotated - select for diffs
Sat Mar 24 00:43:05 2007 UTC (17 years, 8 months ago) by rmind
Branches: yamt-idlelwp
Diff to: previous 1.1.2.4: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.4: +3 -3
lines
Checkpoint:
- Abstract for per-CPU locking of runqueues.
As a workaround for SCHED_4BSD global runqueue, covered by sched_mutex,
spc_mutex is a pointer for now. After making SCHED_4BSD runqueues
per-CPU, it will became a storage mutex.
- suspendsched: Locking is not necessary for cpu_need_resched().
- Remove mutex_spin_exit() prototype in patch.c and LOCK_ASSERT() check
in runqueue_nextlwp() in sched_4bsd.c to make them compile again.
Revision 1.1.2.4: download - view: text, markup, annotated - select for diffs
Fri Mar 9 15:16:24 2007 UTC (17 years, 9 months ago) by rmind
Branches: yamt-idlelwp
Diff to: previous 1.1.2.3: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.3: +4 -4
lines
Checkpoint:
- Addition of scheduler-specific pointers in the struct proc, lwp and
schedstate_percpu.
- Addition of sched_lwp_fork(), sched_lwp_exit() and sched_slept() hooks.
- mi_switch() now has only one argument.
- sched_nextlwp(void) becomes sched_switch(struct lwp *) and does an
enqueueing of LWP.
- Addition of general kern.sched sysctl node.
- Remove twice called uvmexp.swtch++, other cleanups.
Discussed on tech-kern@
Revision 1.1.2.3: download - view: text, markup, annotated - select for diffs
Tue Feb 27 16:54:21 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-idlelwp
Diff to: previous 1.1.2.2: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.2: +4 -4
lines
- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
Revision 1.1.2.2: download - view: text, markup, annotated - select for diffs
Fri Feb 23 15:57:45 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-idlelwp
Diff to: previous 1.1.2.1: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.1: +3 -3
lines
- introduce sys/cpu.h which has cpu_idle and cpu_need_resched.
- use it where appropriate.
- while i'm here, remove several unnecessary #include.
Revision 1.1.2.1: download - view: text, markup, annotated - select for diffs
Sat Feb 17 10:30:56 2007 UTC (17 years, 9 months ago) by yamt
Branches: yamt-idlelwp
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +109 -0
lines
- separate context switching and thread scheduling.
- introduce idle lwp.
- change some related MD/MI interfaces and implement i386 version.
Revision 1.1
Sat Feb 17 10:30:56 2007 UTC (17 years, 9 months ago) by yamt
Branches: MAIN
CVS tags: yamt-idlelwp-base8,
ad-audiomp-base,
ad-audiomp
Branch point for: yamt-idlelwp,
vmlocking
FILE REMOVED
file kern_idle.c was initially added on branch yamt-idlelwp.
CVSweb <webmaster@jp.NetBSD.org>