Up to [cvs.NetBSD.org] / src / sys / kern
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.54 / (download) - annotate - [select for diffs], Wed Jun 29 22:27:01 2022 UTC (10 months, 4 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base,
netbsd-10,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm,
HEAD
Changes since 1.53: +6 -6
lines
Diff to previous 1.53 (colored)
sleepq(9): Pass syncobj through to sleepq_block. Previously the usage pattern was: sleepq_enter(sq, l, lock); // locks l ... sleepq_enqueue(sq, ..., sobj, ...); // assumes l locked, sets l_syncobj ... (*) sleepq_block(...); // unlocks l As long as l remains locked from sleepq_enter to sleepq_block, l_syncobj is stable, and sleepq_block uses it via ktrcsw to determine whether the sleep is on a mutex in order to avoid creating ktrace context-switch records (which involves allocation which is forbidden in softint context, while taking and even sleeping for a mutex is allowed). However, in turnstile_block, the logic at (*) also involves turnstile_lendpri, which sometimes unlocks and relocks l. At that point, another thread can swoop in and sleepq_remove l, which sets l_syncobj to sched_syncobj. If that happens, ktrcsw does what is forbidden -- tries to allocate a ktrace record for the context switch. As an optimization, sleepq_block or turnstile_block could stop early if it detects that l_syncobj doesn't match -- we've already been requested to wake up at this point so there's no need to mi_switch. (And then it would be unnecessary to pass the syncobj through sleepq_block, because l_syncobj would remain stable.) But I'll leave that to another change. Reported-by: syzbot+8b9d7b066c32dbcdc63b@syzkaller.appspotmail.com
Revision 1.52.2.1 / (download) - annotate - [select for diffs], Mon Dec 14 14:38:13 2020 UTC (2 years, 5 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.52: +3 -2
lines
Diff to previous 1.52 (colored) next main 1.53 (colored)
Sync w/ HEAD.
Revision 1.53 / (download) - annotate - [select for diffs], Sun Nov 1 20:55:15 2020 UTC (2 years, 6 months ago) by christos
Branch: 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-cfargs2-base,
thorpej-cfargs2,
thorpej-cfargs-base,
thorpej-cfargs,
cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1,
cjep_staticlib_x-base,
cjep_staticlib_x
Changes since 1.52: +3 -2
lines
Diff to previous 1.52 (colored)
PR/55664: Ruslan Nikolaev: Split out sleepq guts and turnstiles not used in rump into a separate header file. Add a sleepq_destroy() empty hook.
Revision 1.52 / (download) - annotate - [select for diffs], Mon May 11 03:59:33 2020 UTC (3 years ago) by riastradh
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.51: +2 -71
lines
Diff to previous 1.51 (colored)
Remove timedwaitclock. This did not fix the bug I hoped it would fix in futex, and needs more design thought. Might redo it somewhat differently later.
Revision 1.51 / (download) - annotate - [select for diffs], Mon May 4 18:23:37 2020 UTC (3 years ago) by riastradh
Branch: MAIN
Changes since 1.50: +6 -14
lines
Diff to previous 1.50 (colored)
New timedwaitclock_setup. C99 initializers would have been nice, but part of the struct is explicit parameters and part of the struct is implicit state, and -Wmissing-field-initializers can't discriminate between them (although for some reason it doesn't always fire!). Instead, just do: struct timedwaitclock T; timedwaitclock_setup(&T, timeout, clockid, flags, epsilon); while (...) { error = timedwaitclock_begin(&T, &timo); if (error) ... error = waitwhatever(timo); timedwaitclock_end(&T); ... }
Revision 1.50 / (download) - annotate - [select for diffs], Sun May 3 17:36:33 2020 UTC (3 years ago) by thorpej
Branch: MAIN
Changes since 1.49: +6 -112
lines
Diff to previous 1.49 (colored)
Move timedwaitclock_begin() and timedwaitclock_end() to subr_time.c so they can be used by other things.
Revision 1.49 / (download) - annotate - [select for diffs], Sun May 3 01:24:37 2020 UTC (3 years ago) by riastradh
Branch: MAIN
Changes since 1.48: +185 -2
lines
Diff to previous 1.48 (colored)
New cv_timedwaitclock, cv_timedwaitclock_sig. Usage: given a struct timespec timeout copied from userland, along with a clockid and TIMER_* flags, error = cv_timedwaitclock(cv, lock, timeout, clockid, flags, DEFAULT_TIMEOUT_EPSILON); if (error) /* fail */ If flags is relative (i.e., (flags & TIMER_ABSTIME) == 0), then this deducts the time spent waiting from timeout, so you can run it in a loop: struct timespec timeout; error = copyin(SCARG(uap, timeout), &timeout, sizeof timeout); if (error) return error; mutex_enter(lock); while (!ready()) { error = cv_timedwaitclock_sig(cv, lock, &timeout, SCARG(uap, clockid), SCARG(uap, flags), DEFAULT_TIMEOUT_EPSILON); if (error) break; } mutex_exit(lock); CAVEAT: If the system call is interrupted by a signal with SA_RESTART so cv_timedwaitclock_sig fails with ERESTART, then the system call will be restarted with the _original_ relative timeout, not counting the time that was already spent waiting. This is a problem but it's not a problem I want to deal with at the moment.
Revision 1.48 / (download) - annotate - [select for diffs], Sun May 3 01:19:47 2020 UTC (3 years ago) by riastradh
Branch: MAIN
Changes since 1.47: +52 -8
lines
Diff to previous 1.47 (colored)
Fix edge cases in cv_timedwaitbt, cv_timedwaitbt_sig. - If the timeout is exactly zero, fail immediately with EWOULDBLOCK. - If the timeout is just so small it would be rounded to zero ticks, make sure to wait at least one tick. - Make sure we never return with a negative timeout left.
Revision 1.41.4.3 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:42 2020 UTC (3 years, 1 month ago) by martin
Branch: phil-wifi
Changes since 1.41.4.2: +12 -12
lines
Diff to previous 1.41.4.2 (colored) to branchpoint 1.41 (colored) next main 1.42 (colored)
Sync with HEAD
Revision 1.44.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:10 2020 UTC (3 years, 1 month ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.44: +42 -118
lines
Diff to previous 1.44 (colored) next main 1.45 (colored)
Sync with HEAD
Revision 1.47 / (download) - annotate - [select for diffs], Sun Apr 19 20:35:29 2020 UTC (3 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1
Changes since 1.46: +8 -8
lines
Diff to previous 1.46 (colored)
Set LW_SINTR earlier so it doesn't pose a problem for doing interruptable waits with turnstiles (not currently done).
Revision 1.46 / (download) - annotate - [select for diffs], Mon Apr 13 15:54:45 2020 UTC (3 years, 1 month ago) by maxv
Branch: MAIN
Changes since 1.45: +8 -8
lines
Diff to previous 1.45 (colored)
hardclock_ticks -> getticks()
Revision 1.41.4.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:03 2020 UTC (3 years, 1 month ago) by martin
Branch: phil-wifi
Changes since 1.41.4.1: +28 -104
lines
Diff to previous 1.41.4.1 (colored) to branchpoint 1.41 (colored)
Mostly merge changes from HEAD upto 20200411
Revision 1.45 / (download) - annotate - [select for diffs], Fri Apr 10 17:16:21 2020 UTC (3 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200411
Changes since 1.44: +30 -106
lines
Diff to previous 1.44 (colored)
- Make this needed sequence always work for condvars, by not touching the CV again after wakeup. Previously it could panic because cv_signal() could be called by cv_wait_sig() + others: cv_broadcast(cv); cv_destroy(cv); - In support of the above, if an LWP doing a timed wait is awoken by cv_broadcast() or cv_signal(), don't return an error if the timer fires after the fact, i.e. either succeed or fail, not both. - Remove LOCKDEBUG code for CVs which never worked properly and is of questionable use.
Revision 1.41.4.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:51 2020 UTC (3 years, 1 month ago) by martin
Branch: phil-wifi
Changes since 1.41: +37 -24
lines
Diff to previous 1.41 (colored)
Merge changes from current as of 20200406
Revision 1.44 / (download) - annotate - [select for diffs], Thu Mar 26 19:46:42 2020 UTC (3 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200406,
bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.43: +14 -15
lines
Diff to previous 1.43 (colored)
Change sleepq_t from a TAILQ to a LIST and remove SOBJ_SLEEPQ_FIFO. Only select/poll used the FIFO method and that was for collisions which rarely occur. Shrinks sleep_t and condvar_t.
Revision 1.42.2.1 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:02 2020 UTC (3 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.42: +5 -5
lines
Diff to previous 1.42 (colored) next main 1.43 (colored)
Sync with head.
Revision 1.43 / (download) - annotate - [select for diffs], Sat Feb 15 17:09:24 2020 UTC (3 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base,
is-mlppp,
ad-namecache-base3
Changes since 1.42: +5 -5
lines
Diff to previous 1.42 (colored)
- List all of the syncobjs in syncobj.h. - Update a comment.
Revision 1.42 / (download) - annotate - [select for diffs], Wed Nov 20 21:49:00 2019 UTC (3 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2,
ad-namecache-base1,
ad-namecache-base
Branch point for: ad-namecache
Changes since 1.41: +23 -9
lines
Diff to previous 1.41 (colored)
- Put back a microoptimisation that was accidentally removed. - Comments.
Revision 1.41 / (download) - annotate - [select for diffs], Tue Jan 30 07:52:22 2018 UTC (5 years, 3 months ago) by ozaki-r
Branch: MAIN
CVS Tags: phil-wifi-base,
phil-wifi-20191119,
phil-wifi-20190609,
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-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1,
netbsd-9,
isaki-audio2-base,
isaki-audio2
Branch point for: phil-wifi
Changes since 1.40: +7 -7
lines
Diff to previous 1.40 (colored)
Apply C99-style struct initialization to syncobj_t
Revision 1.35.10.1 / (download) - annotate - [select for diffs], Sat Jan 13 21:57:11 2018 UTC (5 years, 4 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1,
netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1
Changes since 1.35: +5 -5
lines
Diff to previous 1.35 (colored) next main 1.36 (colored)
Pull up following revision(s) (requested by ozaki-r in ticket #495): lib/librumpuser/rumpfiber.c: revision 1.13 lib/librumpuser/rumpuser_pth.c: revision 1.46 lib/librumpuser/rumpuser_pth_dummy.c: revision 1.18 sys/kern/kern_condvar.c: revision 1.40 sys/kern/kern_lock.c: revision 1.161 sys/kern/kern_mutex.c: revision 1.68 sys/kern/kern_rwlock.c: revision 1.48 sys/rump/include/rump/rumpuser.h: revision 1.115 sys/rump/librump/rumpkern/locks.c: revision 1.76-1.79 Apply C99-style struct initialization to lockops_t -- Tweak LOCKDEBUG macros (NFC) -- Distinguish spin mutex and adaptive mutex on rump kernels for LOCKDEBUG Formerly rump kernels treated the two types of mutexes as both adaptive for LOCKDEBUG for some reasons. Now we can detect violations of mutex restrictions on rump kernels such as taking an adaptive mutex with holding a spin mutex as well as normal kernels. -- rump: check if the mutex is surely owned by the caller in mutex_exit Unlocking a not-owned mutex wasn't detected well (it could detect if the mutex is not held by anyone but that's not enough). Let's check it (the check is the same as normal kernel's mutex). If LOCKDEBUG is enabled, give the check over LOCKDEBUG because it can provide better debugging information.
Revision 1.40 / (download) - annotate - [select for diffs], Mon Dec 25 09:13:40 2017 UTC (5 years, 5 months ago) by ozaki-r
Branch: MAIN
Changes since 1.39: +5 -5
lines
Diff to previous 1.39 (colored)
Apply C99-style struct initialization to lockops_t
Revision 1.30.12.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:38:44 2017 UTC (5 years, 5 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.30.12.2: +197 -8
lines
Diff to previous 1.30.12.2 (colored) to branchpoint 1.30 (colored) next main 1.31 (colored)
update from HEAD
Revision 1.39 / (download) - annotate - [select for diffs], Sun Nov 12 20:04:51 2017 UTC (5 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.38: +6 -3
lines
Diff to previous 1.38 (colored)
Apply same treatment to cv_timedwaitbt.
Revision 1.38 / (download) - annotate - [select for diffs], Sun Nov 12 19:46:34 2017 UTC (5 years, 6 months ago) by riastradh
Branch: MAIN
Changes since 1.37: +13 -4
lines
Diff to previous 1.37 (colored)
Clarify interpretation of timeout/epsilon in cv_timedwaitbt.
Revision 1.34.6.2 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:07 2017 UTC (5 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.34.6.1: +186 -8
lines
Diff to previous 1.34.6.1 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored)
Sync with HEAD
Revision 1.37 / (download) - annotate - [select for diffs], Mon Jul 3 02:12:47 2017 UTC (5 years, 10 months ago) by riastradh
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base,
perseant-stdc-iso10646,
nick-nhusb-base-20170825
Changes since 1.36: +145 -2
lines
Diff to previous 1.36 (colored)
Add cv_timedwaitbt, cv_timedwaitbt_sig. Takes struct bintime maximum delay, and decrements it in place so that you can use it in a loop in case of spurious wakeup. Discussed on tech-kern a couple years ago: https://mail-index.netbsd.org/tech-kern/2015/03/23/msg018557.html Added a parameter for expressing desired precision -- not currently interpreted, but intended for a future tickless kernel with a choice of high-resolution timers.
Revision 1.36 / (download) - annotate - [select for diffs], Thu Jun 8 01:09:52 2017 UTC (5 years, 11 months ago) by chs
Branch: MAIN
Changes since 1.35: +43 -8
lines
Diff to previous 1.35 (colored)
allow cv_signal() immediately followed by cv_destroy(). this sequence is used by ZFS in a couple places and by supporting it natively we can undo our local ZFS changes that avoided it. note that this is only legal when all of the waiters use cv_wait() and not any of the other variations, and lockdebug will catch any violations of this rule.
Revision 1.34.6.1 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:07 2015 UTC (7 years, 8 months ago) by skrll
Branch: nick-nhusb
Changes since 1.34: +3 -4
lines
Diff to previous 1.34 (colored)
Sync with HEAD
Revision 1.35 / (download) - annotate - [select for diffs], Fri Aug 7 06:22:12 2015 UTC (7 years, 9 months ago) by uebayasi
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
pgoyette-localcount-base,
pgoyette-localcount-20170426,
pgoyette-localcount-20170320,
pgoyette-localcount-20170107,
pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
pgoyette-localcount-20160726,
pgoyette-localcount,
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,
netbsd-8-base,
matt-nb8-mediatek-base,
matt-nb8-mediatek,
localcount-20160914,
jdolecek-ncq-base,
jdolecek-ncq,
bouyer-socketcan-base1,
bouyer-socketcan-base,
bouyer-socketcan
Branch point for: netbsd-8
Changes since 1.34: +3 -4
lines
Diff to previous 1.34 (colored)
o Don't include sys/sched.h. Scheduler-related operation is done by sleepq(9) via SOBJ_SLEEPQ_SORTED. o Include sys/lwp.h instead of sys/proc.h.
Revision 1.30.12.2 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:28 2014 UTC (8 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.30.12.1: +3 -1
lines
Diff to previous 1.30.12.1 (colored) to branchpoint 1.30 (colored)
Rebase to HEAD as of a few days ago.
Revision 1.30.2.1 / (download) - annotate - [select for diffs], Thu May 22 11:41:03 2014 UTC (9 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.30: +9 -3
lines
Diff to previous 1.30 (colored) next main 1.31 (colored)
sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
Revision 1.32.6.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:07 2014 UTC (9 years ago) by rmind
Branch: rmind-smpnet
Changes since 1.32: +5 -3
lines
Diff to previous 1.32 (colored) next main 1.33 (colored)
sync with head
Revision 1.34 / (download) - annotate - [select for diffs], Fri Oct 25 15:51:36 2013 UTC (9 years, 7 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pagecache-base9,
tls-maxphys-base,
tls-earlyentropy-base,
tls-earlyentropy,
rmind-smpnet-nbase,
rmind-smpnet-base,
riastradh-xf86-video-intel-2-7-1-pre-2-21-15,
riastradh-drm2-base3,
nick-nhusb-base-20150606,
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
Branch point for: nick-nhusb
Changes since 1.33: +3 -3
lines
Diff to previous 1.33 (colored)
Mark a diagnostic-only variable
Revision 1.33 / (download) - annotate - [select for diffs], Sat Sep 14 13:18:31 2013 UTC (9 years, 8 months ago) by joerg
Branch: MAIN
Changes since 1.32: +4 -2
lines
Diff to previous 1.32 (colored)
nodebug is only used with LOCKDEBUG
Revision 1.30.12.1 / (download) - annotate - [select for diffs], Sun Jun 23 06:18:57 2013 UTC (9 years, 11 months ago) by tls
Branch: tls-maxphys
Changes since 1.30: +4 -0
lines
Diff to previous 1.30 (colored)
resync from head
Revision 1.32 / (download) - annotate - [select for diffs], Fri Mar 8 08:36:37 2013 UTC (10 years, 2 months ago) by apb
Branch: MAIN
CVS Tags: riastradh-drm2-base2,
riastradh-drm2-base1,
riastradh-drm2-base,
riastradh-drm2,
khorben-n900,
agc-symver-base,
agc-symver
Branch point for: rmind-smpnet
Changes since 1.31: +4 -2
lines
Diff to previous 1.31 (colored)
also comment on the meaning of timo=0 for cv_timedwait_sig.
Revision 1.31 / (download) - annotate - [select for diffs], Fri Mar 8 08:35:09 2013 UTC (10 years, 2 months ago) by apb
Branch: MAIN
Changes since 1.30: +4 -2
lines
Diff to previous 1.30 (colored)
Add comments saying that a cv_timedwait and sleepq_block interpret timo = 0 as an infinite timeout. This is already documented in the cv_timedwait(9) man page, and there is no sleeq_block(9) man page.
Revision 1.30 / (download) - annotate - [select for diffs], Wed Jul 27 14:35:33 2011 UTC (11 years, 10 months ago) by uebayasi
Branch: MAIN
CVS Tags: yamt-pagecache-tag8,
yamt-pagecache-base8,
yamt-pagecache-base7,
yamt-pagecache-base6,
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,
matt-nb6-plus,
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,
tls-maxphys
Changes since 1.29: +2 -4
lines
Diff to previous 1.29 (colored)
These don't need uvm/uvm_extern.h.
Revision 1.28.6.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:09:27 2011 UTC (11 years, 11 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.28: +4 -4
lines
Diff to previous 1.28 (colored) next main 1.29 (colored)
Sync with HEAD.
Revision 1.28.4.1 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:07 2011 UTC (12 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.28: +4 -4
lines
Diff to previous 1.28 (colored) next main 1.29 (colored)
sync with head
Revision 1.29 / (download) - annotate - [select for diffs], Thu Apr 14 20:19:35 2011 UTC (12 years, 1 month ago) by jym
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase,
rmind-uvmplock-base,
cherry-xenmp-base,
cherry-xenmp
Changes since 1.28: +4 -4
lines
Diff to previous 1.28 (colored)
Typo fix.
Revision 1.16.4.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:16 2010 UTC (13 years, 2 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.16.4.2: +7 -39
lines
Diff to previous 1.16.4.2 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)
sync with head
Revision 1.28 / (download) - annotate - [select for diffs], Sat Dec 5 22:38:19 2009 UTC (13 years, 5 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9,
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,
jruoho-x86intr-base,
bouyer-quota2-nbase,
bouyer-quota2-base,
bouyer-quota2
Branch point for: rmind-uvmplock,
jruoho-x86intr
Changes since 1.27: +2 -17
lines
Diff to previous 1.27 (colored)
tsleep() on lbolt is now illegal. Convert cv_wakeup(&lbolt) to cv_broadcast(&lbolt) and get rid of the prior.
Revision 1.27 / (download) - annotate - [select for diffs], Wed Oct 21 21:12:06 2009 UTC (13 years, 7 months ago) by rmind
Branch: MAIN
CVS Tags: jym-xensuspend-nbase
Changes since 1.26: +7 -24
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.16.4.2 / (download) - annotate - [select for diffs], Mon May 4 08:13:46 2009 UTC (14 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.16.4.1: +133 -86
lines
Diff to previous 1.16.4.1 (colored) to branchpoint 1.16 (colored)
sync with head.
Revision 1.25.4.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:19:38 2009 UTC (14 years, 4 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.25: +25 -8
lines
Diff to previous 1.25 (colored) next main 1.26 (colored)
Sync with HEAD.
Revision 1.14.14.5 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:18 2009 UTC (14 years, 4 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.14.14.4: +23 -6
lines
Diff to previous 1.14.14.4 (colored) to branchpoint 1.14 (colored) next main 1.15 (colored)
Sync with HEAD.
Revision 1.26 / (download) - annotate - [select for diffs], Fri Dec 19 07:57:28 2008 UTC (14 years, 5 months ago) by thorpej
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,
mjf-devfs2-base,
jymxensuspend-base,
jym-xensuspend-base,
jym-xensuspend
Changes since 1.25: +25 -8
lines
Diff to previous 1.25 (colored)
Make condvars really opaque -- hide the wait message member from consumers of the API.
Revision 1.14.14.4 / (download) - annotate - [select for diffs], Sun Jun 29 09:33:13 2008 UTC (14 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.14.14.3: +11 -13
lines
Diff to previous 1.14.14.3 (colored) to branchpoint 1.14 (colored)
Sync with HEAD.
Revision 1.17.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:31:50 2008 UTC (14 years, 11 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.17: +113 -83
lines
Diff to previous 1.17 (colored) next main 1.18 (colored)
Sync w/ -current. 34 merge conflicts to follow.
Revision 1.22.2.1 / (download) - annotate - [select for diffs], Wed Jun 18 16:33:35 2008 UTC (14 years, 11 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.22: +13 -15
lines
Diff to previous 1.22 (colored) next main 1.23 (colored)
Sync with head.
Revision 1.16.2.3 / (download) - annotate - [select for diffs], Tue Jun 17 09:15:02 2008 UTC (14 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.16.2.2: +15 -17
lines
Diff to previous 1.16.2.2 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)
sync with head.
Revision 1.25 / (download) - annotate - [select for diffs], Mon Jun 16 12:03:01 2008 UTC (14 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4,
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,
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,
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,
haad-nbase2,
haad-dm-base2,
haad-dm-base1,
haad-dm-base,
haad-dm,
ad-audiomp2-base,
ad-audiomp2
Branch point for: nick-hppapmap
Changes since 1.24: +3 -13
lines
Diff to previous 1.24 (colored)
PR kern/38761: new (?) race in buffer cache code Back out the workaround from cv_has_waiters(), which is not longer needed. Removal was missed earlier.
Revision 1.24 / (download) - annotate - [select for diffs], Mon Jun 16 10:03:47 2008 UTC (14 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.23: +15 -14
lines
Diff to previous 1.23 (colored)
PR kern/38761: new (?) race in buffer cache code - Back out the previous workaround now that the sleep queue code has been changed to never let the queue become empty if there are valid waiters. - Use sleepq_hashlock() to improve clarity. - Sprinkle some assertions.
Revision 1.23 / (download) - annotate - [select for diffs], Sun Jun 15 09:56:18 2008 UTC (14 years, 11 months ago) by chris
Branch: MAIN
Changes since 1.22: +15 -8
lines
Diff to previous 1.22 (colored)
Fix for biowait hangs, and possibly other condvar hangs. Also should fix PR kern/38761. The condvar must access the sleepq with the sleepq lock held, doing so is causing inconsistent sleepq state to be read. This is because some accesses to the sleepq don't come via the cv code, but are call directly into sleepq_changepri and sleepq_lendpri, which take the sleepq lock, and removes then re-inserts lwps into the sleepq. Running a build.sh with -j8 now completes on my quad-core, also tested by Simon@ on a 8-core server and matt@ on a quad-core. I believe there is room to be more efficient with this, as we now take the sleepq lock for all cv_broadcast and cv_signal calls. I'll look into this and post a diff to tech-kern.
Revision 1.14.14.3 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:36 2008 UTC (14 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.14.14.2: +2 -2
lines
Diff to previous 1.14.14.2 (colored) to branchpoint 1.14 (colored)
Sync with HEAD. Also fix build.
Revision 1.22 / (download) - annotate - [select for diffs], Wed Jun 4 11:22:55 2008 UTC (14 years, 11 months ago) by ad
Branch: MAIN
Branch point for: simonb-wapbl
Changes since 1.21: +4 -4
lines
Diff to previous 1.21 (colored)
Disable the wakeup assertion for the time being because the tty code triggers it.
Revision 1.16.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:39 2008 UTC (14 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.16.2.1: +109 -77
lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored)
sync with head
Revision 1.14.14.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:07 2008 UTC (14 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.14.14.1: +107 -82
lines
Diff to previous 1.14.14.1 (colored) to branchpoint 1.14 (colored)
Sync with HEAD.
Revision 1.21 / (download) - annotate - [select for diffs], Sat May 31 16:25:23 2008 UTC (15 years ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base3
Changes since 1.20: +8 -8
lines
Diff to previous 1.20 (colored)
Fix wmesg for !LOCKDEBUG.
Revision 1.20 / (download) - annotate - [select for diffs], Sat May 31 13:36:25 2008 UTC (15 years ago) by ad
Branch: MAIN
Changes since 1.19: +105 -77
lines
Diff to previous 1.19 (colored)
- Give each condition variable its own sleep queue head. Helps the system to scale more gracefully when there are thousands of active threads. Proposed on tech-kern@. - Use LOCKDEBUG to catch some errors in the use of condition variables: freeing an active CV re-initializing an active CV using multiple distinct mutexes during concurrent waits not holding the interlocking mutex when calling cv_broadcast/cv_signal waking waiters and destroying the CV before they run and exit it
Revision 1.19 / (download) - annotate - [select for diffs], Mon May 26 12:58:24 2008 UTC (15 years ago) by ad
Branch: MAIN
Changes since 1.18: +3 -3
lines
Diff to previous 1.18 (colored)
Broken assertion.
Revision 1.18 / (download) - annotate - [select for diffs], Mon May 26 12:08:39 2008 UTC (15 years ago) by ad
Branch: MAIN
Changes since 1.17: +16 -12
lines
Diff to previous 1.17 (colored)
Take the mutex pointer and waiters count out of sleepq_t: the values can be or are maintained elsewhere. Now a sleepq_t is just a TAILQ_HEAD.
Revision 1.16.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:07 2008 UTC (15 years ago) by yamt
Branch: yamt-pf42
Changes since 1.16: +2 -9
lines
Diff to previous 1.16 (colored)
sync with head.
Revision 1.16.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:24 2008 UTC (15 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.16: +2 -9
lines
Diff to previous 1.16 (colored)
sync with head.
Revision 1.17 / (download) - annotate - [select for diffs], Mon Apr 28 20:24:02 2008 UTC (15 years, 1 month ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base2,
yamt-nfs-mp-base2,
hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa
Changes since 1.16: +2 -9
lines
Diff to previous 1.16 (colored)
Remove clause 3 and 4 from TNF licenses
Revision 1.14.14.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:00 2008 UTC (15 years, 1 month ago) by mjf
Branch: mjf-devfs2
Changes since 1.14: +46 -14
lines
Diff to previous 1.14 (colored)
Sync with HEAD.
Revision 1.3.4.7 / (download) - annotate - [select for diffs], Mon Mar 24 09:39:01 2008 UTC (15 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.4.6: +6 -6
lines
Diff to previous 1.3.4.6 (colored) next main 1.4 (colored)
sync with head.
Revision 1.14.10.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:13 2008 UTC (15 years, 2 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.14: +46 -14
lines
Diff to previous 1.14 (colored) next main 1.15 (colored)
sync with head.
Revision 1.12.4.2 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:58 2008 UTC (15 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.12.4.1: +46 -14
lines
Diff to previous 1.12.4.1 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)
sync with HEAD
Revision 1.16 / (download) - annotate - [select for diffs], Mon Mar 17 16:54:51 2008 UTC (15 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX,
yamt-pf42-base,
yamt-nfs-mp-base,
yamt-lazymbuf-base15,
yamt-lazymbuf-base14,
matt-armv6-nbase,
keiichi-mipv6-nbase,
keiichi-mipv6-base,
ad-socklock-base1
Branch point for: yamt-pf42,
yamt-nfs-mp
Changes since 1.15: +6 -6
lines
Diff to previous 1.15 (colored)
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.4.6 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:32 2008 UTC (15 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.4.5: +42 -10
lines
Diff to previous 1.3.4.5 (colored)
sync with head.
Revision 1.15 / (download) - annotate - [select for diffs], Wed Mar 5 17:05:21 2008 UTC (15 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.14: +42 -10
lines
Diff to previous 1.14 (colored)
- Add cv_is_valid(), for use in assertions. Performs basic sanity checks. - Add more assertions.
Revision 1.13.4.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:48:35 2007 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs
Changes since 1.13: +6 -29
lines
Diff to previous 1.13 (colored) next main 1.14 (colored)
Sync with HEAD.
Revision 1.3.4.5 / (download) - annotate - [select for diffs], Thu Nov 15 11:44:39 2007 UTC (15 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.4.4: +6 -29
lines
Diff to previous 1.3.4.4 (colored)
sync with head.
Revision 1.13.2.1 / (download) - annotate - [select for diffs], Tue Nov 13 16:01:57 2007 UTC (15 years, 6 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.13: +6 -29
lines
Diff to previous 1.13 (colored) next main 1.14 (colored)
Sync with HEAD
Revision 1.12.4.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:31:31 2007 UTC (15 years, 6 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.12: +6 -29
lines
Diff to previous 1.12 (colored)
sync with HEAD
Revision 1.12.2.2 / (download) - annotate - [select for diffs], Tue Nov 6 19:25:26 2007 UTC (15 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.12.2.1: +6 -29
lines
Diff to previous 1.12.2.1 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)
Sync with HEAD.
Revision 1.14 / (download) - annotate - [select for diffs], Tue Nov 6 00:42:41 2007 UTC (15 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base3,
yamt-kmem-base2,
yamt-kmem-base,
yamt-kmem,
vmlocking2-base3,
vmlocking2-base2,
vmlocking2-base1,
vmlocking2,
vmlocking-nbase,
reinoud-bufcleanup-nbase,
reinoud-bufcleanup-base,
nick-net80211-sync-base,
nick-net80211-sync,
mjf-devfs-base,
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
Branch point for: mjf-devfs2,
keiichi-mipv6
Changes since 1.13: +6 -29
lines
Diff to previous 1.13 (colored)
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.5.2.9 / (download) - annotate - [select for diffs], Thu Nov 1 21:58:16 2007 UTC (15 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.5.2.8: +5 -28
lines
Diff to previous 1.5.2.8 (colored) next main 1.6 (colored)
- 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.3.4.4 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:20 2007 UTC (15 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.4.3: +3 -3
lines
Diff to previous 1.3.4.3 (colored)
sync with head.
Revision 1.12.2.1 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:28 2007 UTC (15 years, 7 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.12: +3 -3
lines
Diff to previous 1.12 (colored)
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.5.2.8 / (download) - annotate - [select for diffs], Thu Oct 18 15:47:32 2007 UTC (15 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.5.2.7: +3 -3
lines
Diff to previous 1.5.2.7 (colored)
Update for soft interrupt changes. See kern_softint.c 1.1.2.17 for details.
Revision 1.12.6.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:48:38 2007 UTC (15 years, 7 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.12: +3 -3
lines
Diff to previous 1.12 (colored) next main 1.13 (colored)
sync with head.
Revision 1.13 / (download) - annotate - [select for diffs], Mon Oct 8 14:07:08 2007 UTC (15 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4,
yamt-x86pmap-base3,
vmlocking-base
Branch point for: mjf-devfs,
bouyer-xenamd64
Changes since 1.12: +3 -3
lines
Diff to previous 1.12 (colored)
Merge from vmlocking: relax an assertion if panicstr != NULL.
Revision 1.3.4.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:40:43 2007 UTC (15 years, 8 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.4.2: +77 -57
lines
Diff to previous 1.3.4.2 (colored)
sync with head.
Revision 1.5.2.7 / (download) - annotate - [select for diffs], Mon Aug 20 21:27:28 2007 UTC (15 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.5.2.6: +32 -9
lines
Diff to previous 1.5.2.6 (colored)
Sync with HEAD.
Revision 1.9.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:49:06 2007 UTC (15 years, 9 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.9: +32 -9
lines
Diff to previous 1.9 (colored) next main 1.10 (colored)
Sync with HEAD.
Revision 1.12.8.2 / (download) - annotate - [select for diffs], Thu Aug 2 22:01:41 2007 UTC (15 years, 10 months ago) by ad
Branch: matt-mips64
Changes since 1.12.8.1: +374 -0
lines
Diff to previous 1.12.8.1 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)
cv_wakeup: the entire queue has to be searched, as we can't know how many waiters there are.
Revision 1.12.8.1, Thu Aug 2 22:01:40 2007 UTC (15 years, 10 months ago) by ad
Branch: matt-mips64
Changes since 1.12: +0 -374
lines
FILE REMOVED
file kern_condvar.c was added on branch matt-mips64 on 2007-08-02 22:01:41 +0000
Revision 1.12 / (download) - annotate - [select for diffs], Thu Aug 2 22:01:40 2007 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base2,
yamt-x86pmap-base,
nick-csl-alignment-base5,
matt-mips64-base
Branch point for: yamt-x86pmap,
matt-mips64,
matt-armv6,
jmcneill-pm
Changes since 1.11: +4 -8
lines
Diff to previous 1.11 (colored)
cv_wakeup: the entire queue has to be searched, as we can't know how many waiters there are.
Revision 1.11 / (download) - annotate - [select for diffs], Wed Aug 1 23:21:14 2007 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.10: +23 -2
lines
Diff to previous 1.10 (colored)
Ressurect cv_wakeup() and use it on lbolt. Should fix PR kern/36714. (background/foreground signal lossage in -current with various programs).
Revision 1.10 / (download) - annotate - [select for diffs], Wed Aug 1 20:30:38 2007 UTC (15 years, 10 months ago) by ad
Branch: MAIN
Changes since 1.9: +15 -9
lines
Diff to previous 1.9 (colored)
Improve assertions slightly. When awakening assert that the CV has not been destroyed.
Revision 1.5.2.6 / (download) - annotate - [select for diffs], Sun Jul 15 15:52:53 2007 UTC (15 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.5.2.5: +5 -5
lines
Diff to previous 1.5.2.5 (colored)
Sync with head.
Revision 1.5.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:09:43 2007 UTC (15 years, 10 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.5: +53 -58
lines
Diff to previous 1.5 (colored) next main 1.6 (colored)
Sync with head.
Revision 1.9 / (download) - annotate - [select for diffs], Mon Jul 9 21:10:51 2007 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base,
mjf-ufs-trans-base,
hpcarm-cleanup
Branch point for: nick-csl-alignment
Changes since 1.8: +3 -2
lines
Diff to previous 1.8 (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.5.2.5 / (download) - annotate - [select for diffs], Mon Jul 9 20:33:14 2007 UTC (15 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.5.2.4: +3 -3
lines
Diff to previous 1.5.2.4 (colored)
KASSERT((l->l_flag & LW_INTR) == 0) -> KASSERT((l->l_flag & LW_INTR) == 0 || panicstr != NULL)
Revision 1.5.2.4 / (download) - annotate - [select for diffs], Sun Jun 17 21:31:20 2007 UTC (15 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.5.2.3: +3 -2
lines
Diff to previous 1.5.2.3 (colored)
- 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.8 / (download) - annotate - [select for diffs], Thu May 17 14:51:38 2007 UTC (16 years ago) by yamt
Branch: MAIN
Changes since 1.7: +12 -15
lines
Diff to previous 1.7 (colored)
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.3.2.3 / (download) - annotate - [select for diffs], Thu Apr 19 04:19:43 2007 UTC (16 years, 1 month ago) by ad
Branch: yamt-idlelwp
Changes since 1.3.2.2: +12 -15
lines
Diff to previous 1.3.2.2 (colored) next main 1.4 (colored)
Pull up a change from the vmlocking branch: - Ensure that LWPs going to sleep are on the sleep queue before releasing any interlocks. This is so that calls to turnstile_wakeup will have the correct locks held when adjusting priority. Avoids another deadlock. - Assume that LWPs blocked on a turnstile will never be swapped out. - LWPs blocking on a turnstile must have kernel priority, as they are consuming kernel resources.
Revision 1.3.2.2 / (download) - annotate - [select for diffs], Sun Apr 15 16:03:48 2007 UTC (16 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.3.2.1: +42 -45
lines
Diff to previous 1.3.2.1 (colored)
sync with head.
Revision 1.5.2.3 / (download) - annotate - [select for diffs], Tue Apr 10 18:34:04 2007 UTC (16 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.5.2.2: +7 -10
lines
Diff to previous 1.5.2.2 (colored)
- Ensure that that LWPs going to sleep are on the sleep queue and so have their syncobj pointer updated, so that calls to turnstile_wakeup will have the correct locks held when adjusting the current LWP's priority. Avoids another deadlock. - Assume that LWPs blocked on a turnstile will never be swapped out. - LWPs blocking on a turnstile must have kernel priority, as they are consuming kernel resources.
Revision 1.5.2.2 / (download) - annotate - [select for diffs], Tue Apr 10 13:26:37 2007 UTC (16 years, 1 month ago) by ad
Branch: vmlocking
Changes since 1.5.2.1: +42 -45
lines
Diff to previous 1.5.2.1 (colored)
Sync with head.
Revision 1.5.6.1 / (download) - annotate - [select for diffs], Thu Mar 29 19:27:56 2007 UTC (16 years, 2 months ago) by reinoud
Branch: reinoud-bufcleanup
Changes since 1.5: +42 -45
lines
Diff to previous 1.5 (colored) next main 1.6 (colored)
Pullup to -current
Revision 1.7 / (download) - annotate - [select for diffs], Thu Mar 29 17:39:34 2007 UTC (16 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: yamt-idlelwp-base8,
thorpej-atomic-base,
thorpej-atomic
Changes since 1.6: +4 -4
lines
Diff to previous 1.6 (colored)
Make cv_has_waiters() return type bool.
Revision 1.6 / (download) - annotate - [select for diffs], Thu Mar 29 17:34:39 2007 UTC (16 years, 2 months ago) by ad
Branch: MAIN
Changes since 1.5: +40 -43
lines
Diff to previous 1.5 (colored)
- cv_wakeup: remove this. There are ~zero situations where it's useful. - cv_wait and friends: after resuming execution, check to see if we have been restarted as a result of cv_signal. If we have, but cannot take the wakeup (because of eg a pending Unix signal or timeout) then try to ensure that another LWP sees it. This is necessary because there may be multiple waiters, and at least one should take the wakeup if possible. Prompted by a discussion with pooka@. - typedef struct lwp lwp_t; - int -> bool, struct lwp -> lwp_t in a few places.
Revision 1.5.2.1 / (download) - annotate - [select for diffs], Wed Mar 21 20:10:20 2007 UTC (16 years, 2 months ago) by ad
Branch: vmlocking
Changes since 1.5: +7 -7
lines
Diff to previous 1.5 (colored)
GC the simplelock/spinlock debugging stuff.
Revision 1.3.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:54:19 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.3: +10 -8
lines
Diff to previous 1.3 (colored)
- sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
Revision 1.5 / (download) - annotate - [select for diffs], Tue Feb 27 15:07:28 2007 UTC (16 years, 3 months ago) by yamt
Branch: MAIN
Branch point for: vmlocking,
reinoud-bufcleanup,
mjf-ufs-trans
Changes since 1.4: +3 -3
lines
Diff to previous 1.4 (colored)
typedef pri_t and use it instead of int and u_char.
Revision 1.4 / (download) - annotate - [select for diffs], Mon Feb 26 09:20:52 2007 UTC (16 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: ad-audiomp-base,
ad-audiomp
Changes since 1.3: +7 -5
lines
Diff to previous 1.3 (colored)
implement priority inheritance.
Revision 1.3.4.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:11:04 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3.4.1: +354 -0
lines
Diff to previous 1.3.4.1 (colored)
sync with head.
Revision 1.3.4.1, Sun Feb 11 15:41:53 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.3: +0 -354
lines
FILE REMOVED
file kern_condvar.c was added on branch yamt-lazymbuf on 2007-02-26 09:11:04 +0000
Revision 1.3 / (download) - annotate - [select for diffs], Sun Feb 11 15:41:53 2007 UTC (16 years, 3 months ago) by yamt
Branch: MAIN
Branch point for: yamt-lazymbuf,
yamt-idlelwp
Changes since 1.2: +6 -10
lines
Diff to previous 1.2 (colored)
unwrap short lines.
Revision 1.2 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:30 2007 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Changes since 1.1: +358 -0
lines
Diff to previous 1.1 (colored)
Merge newlock2 to head.
Revision 1.1.2.7 / (download) - annotate - [select for diffs], Fri Feb 9 19:58:10 2007 UTC (16 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.1.2.6: +29 -5
lines
Diff to previous 1.1.2.6 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)
- Change syncobj_t::sobj_changepri() to alter both the user priority and the effective priority of LWPs. How the effective priority is adjusted depends on the type of object. - Add a couple of comments to sched_kpri() and remrunqueue().
Revision 1.1.2.6 / (download) - annotate - [select for diffs], Mon Feb 5 13:16:11 2007 UTC (16 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.1.2.5: +7 -23
lines
Diff to previous 1.1.2.5 (colored) to branchpoint 1.1 (colored)
Redo previous to be less ugly.
Revision 1.1.2.5 / (download) - annotate - [select for diffs], Sat Feb 3 16:32:50 2007 UTC (16 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.1.2.4: +57 -6
lines
Diff to previous 1.1.2.4 (colored) to branchpoint 1.1 (colored)
- Require that cv_signal/cv_broadcast be called with the interlock held. - Provide 'async' versions that's don't need the interlock.
Revision 1.1.2.4 / (download) - annotate - [select for diffs], Fri Dec 29 20:27:43 2006 UTC (16 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.1.2.3: +35 -24
lines
Diff to previous 1.1.2.3 (colored) to branchpoint 1.1 (colored)
Checkpoint work in progress.
Revision 1.1.2.3 / (download) - annotate - [select for diffs], Fri Nov 17 16:53:08 2006 UTC (16 years, 6 months ago) by ad
Branch: newlock2
Changes since 1.1.2.2: +6 -5
lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored)
Fix an obvious sleep/wakeup bug introduced in previous.
Revision 1.1.2.2 / (download) - annotate - [select for diffs], Fri Nov 17 16:34:35 2006 UTC (16 years, 6 months ago) by ad
Branch: newlock2
Changes since 1.1.2.1: +83 -45
lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored)
Checkpoint work in progress.
Revision 1.1.2.1 / (download) - annotate - [select for diffs], Fri Oct 20 19:40:17 2006 UTC (16 years, 7 months ago) by ad
Branch: newlock2
Changes since 1.1: +249 -0
lines
Diff to previous 1.1 (colored)
Add a condition variable implementation (untested).
Revision 1.1, Fri Oct 20 19:40:17 2006 UTC (16 years, 7 months ago) by ad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5,
yamt-splraiseipl-base4,
yamt-splraiseipl-base3,
yamt-splraiseipl-base2,
newlock2-nbase,
newlock2-base
Branch point for: newlock2
FILE REMOVED
file kern_condvar.c was initially added on branch newlock2.