The NetBSD Project

CVS log for src/sys/sys/sleepq.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / sys

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.42 / (download) - annotate - [select for diffs], Sun Oct 15 10:30:00 2023 UTC (4 months, 1 week ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.41: +3 -2 lines
Diff to previous 1.41 (colored)

sys/sleepq.h: Sort includes.  No functional change intended.

Revision 1.41 / (download) - annotate - [select for diffs], Sun Oct 15 10:27:11 2023 UTC (4 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored)

sys/lwp.h: Nix sys/syncobj.h dependency.

Remove it in ddb/db_syncobj.h too.

New sys/wchan.h defines wchan_t so that users need not pull in
sys/syncobj.h to get it.

Sprinkle #include <sys/syncobj.h> in .c files where it is now needed.

Revision 1.40 / (download) - annotate - [select for diffs], Sun Oct 8 13:23:05 2023 UTC (4 months, 2 weeks ago) by ad
Branch: MAIN
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)

Ensure that an LWP that has taken a legitimate wakeup never produces an
error code from sleepq_block().  Then, it's possible to make cv_signal()
work as expected and only ever wake a singular LWP.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Oct 4 20:29:18 2023 UTC (4 months, 3 weeks ago) by ad
Branch: MAIN
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored)

Eliminate l->l_biglocks.  Originally I think it had a use but these days a
local variable will do.

Revision 1.38 / (download) - annotate - [select for diffs], Mon Sep 25 18:55:53 2023 UTC (5 months ago) by riastradh
Branch: MAIN
Changes since 1.37: +8 -6 lines
Diff to previous 1.37 (colored)

sys/sleepq.h: Fix more syncobj_t creep.

Revision 1.37 / (download) - annotate - [select for diffs], Sat Sep 23 18:48:05 2023 UTC (5 months ago) by ad
Branch: MAIN
Changes since 1.36: +8 -24 lines
Diff to previous 1.36 (colored)

- Simplify how priority boost for blocking in kernel is handled.  Rather
  than setting it up at each site where we block, make it a property of
  syncobj_t.  Then, do not hang onto the priority boost until userret(),
  drop it as soon as the LWP is out of the run queue and onto a CPU.
  Holding onto it longer is of questionable benefit.

- This allows two members of lwp_t to be deleted, and mi_userret() to be
  simplified a lot (next step: trim it down to a single conditional).

- While here, constify syncobj_t and de-inline a bunch of small functions
  like lwp_lock() which turn out not to be small after all (I don't know
  why, but atomic_*_relaxed() seem to provoke a compiler shitfit above and
  beyond what volatile does).

Revision 1.36 / (download) - annotate - [select for diffs], Wed Oct 26 23:24:59 2022 UTC (16 months ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10
Changes since 1.35: +5 -2 lines
Diff to previous 1.35 (colored)

sys/sleepq.h: Get cold from sys/kernel.h.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Jun 29 22:27:01 2022 UTC (19 months, 4 weeks ago) by riastradh
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.34: +2 -2 lines
Diff to previous 1.34 (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.32.2.1 / (download) - annotate - [select for diffs], Mon Dec 14 14:38:17 2020 UTC (3 years, 2 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.32: +2 -95 lines
Diff to previous 1.32 (colored) next main 1.33 (colored)

Sync w/ HEAD.

Revision 1.34 / (download) - annotate - [select for diffs], Sun Nov 1 20:56:13 2020 UTC (3 years, 3 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.33: +1 -2 lines
Diff to previous 1.33 (colored)

turned sleepq_destroy this into a macro

Revision 1.33 / (download) - annotate - [select for diffs], Sun Nov 1 20:55:15 2020 UTC (3 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.32: +3 -95 lines
Diff to previous 1.32 (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.32 / (download) - annotate - [select for diffs], Fri Oct 23 00:25:45 2020 UTC (3 years, 4 months ago) by thorpej
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.31: +2 -1 lines
Diff to previous 1.31 (colored)

- sleepq_block(): Add a new LWP flag, LW_CATCHINTR, that is used to track
  the intent to catch signals while sleeping.  Initialize this flag based
  on the catch_p argument to sleepq_block(), and rather than test catch_p
  when awakened, test LW_CATCHINTR.  This allows the intent to change
  (based on whatever criteria the owner of the sleepq wishes) while the
  LWP is asleep.  This is separate from LW_SINTR in order to leave all
  other logic around LW_SINTR unaffected.
- In sleepq_transfer(), adjust also LW_CATCHINTR based on the catch_p
  argument.  Also allow the new LWP lock argument to be NULL, which
  will cause the lwp_setlock() call to be skipped; this allows transfer
  to another sleepq that is known to be protected by the same lock.
- Add a new function, sleepq_uncatch(), that will transition an LWP
  from "interruptible sleep" to "uninterruptible sleep" on its current
  sleepq.

Revision 1.31 / (download) - annotate - [select for diffs], Sat May 23 20:45:11 2020 UTC (3 years, 9 months ago) by ad
Branch: MAIN
Changes since 1.30: +3 -2 lines
Diff to previous 1.30 (colored)

- Replace pid_table_lock with a lockless lookup covered by pserialize, with
  the "writer" side being pid_table expansion.  The basic idea is that when
  doing an LWP lookup there is usually already a lock held (p->p_lock), or a
  spin mutex that needs to be taken (l->l_mutex), and either can be used to
  get the found LWP stable and confidently determine that all is correct.

- For user processes LSLARVAL implies the same thing as LSIDL ("not visible
  by ID"), and lookup by ID in proc0 doesn't really happen.  In-tree the new
  state should be understood by top(1), the tty subsystem and so on, and
  would attract the attention of 3rd party kernel grovellers in time, so
  remove it and just rely on LSIDL.

Revision 1.30 / (download) - annotate - [select for diffs], Fri May 8 03:26:51 2020 UTC (3 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.29: +4 -2 lines
Diff to previous 1.29 (colored)

Add a new function, sleepq_transfer(), that moves an lwp from one
sleepq to another.

Revision 1.25.2.2 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:45 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.25.2.1: +2 -1 lines
Diff to previous 1.25.2.1 (colored) to branchpoint 1.25 (colored) next main 1.26 (colored)

Sync with HEAD

Revision 1.28.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:13 2020 UTC (3 years, 10 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.28: +3 -2 lines
Diff to previous 1.28 (colored) next main 1.29 (colored)

Sync with HEAD

Revision 1.29 / (download) - annotate - [select for diffs], Sun Apr 19 20:35:29 2020 UTC (3 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Changes since 1.28: +3 -2 lines
Diff to previous 1.28 (colored)

Set LW_SINTR earlier so it doesn't pose a problem for doing interruptable
waits with turnstiles (not currently done).

Revision 1.25.2.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:09:03 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.25: +22 -15 lines
Diff to previous 1.25 (colored)

Merge changes from current as of 20200406

Revision 1.28 / (download) - annotate - [select for diffs], Thu Mar 26 19:46:42 2020 UTC (3 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.27: +5 -4 lines
Diff to previous 1.27 (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.27 / (download) - annotate - [select for diffs], Mon Dec 16 19:43:36 2019 UTC (4 years, 2 months ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.26: +11 -5 lines
Diff to previous 1.26 (colored)

As with turnstiles, don't bother allocating sleepq locks with mutex_obj_alloc(),
and avoid the indirect reference.

Revision 1.26 / (download) - annotate - [select for diffs], Thu Nov 21 18:56:55 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.25: +13 -13 lines
Diff to previous 1.25 (colored)

Sleep queues & turnstiles:

- Avoid false sharing.
- Make the turnstile hash function more suitable.
- Increase turnstile hash table size.
- Make amends by having only one set of system wide sleep queue hash locks.

Revision 1.24.16.1 / (download) - annotate - [select for diffs], Sun Apr 22 07:20:29 2018 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.24: +5 -5 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

Sync with HEAD

Revision 1.25 / (download) - annotate - [select for diffs], Thu Apr 19 21:19:07 2018 UTC (5 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, 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, 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.24: +5 -5 lines
Diff to previous 1.24 (colored)

s/static inline/static __inline/g for consistency with other include
headers.

Revision 1.22.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:21 2017 UTC (6 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.22.2.1: +3 -1 lines
Diff to previous 1.22.2.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored)

update from HEAD

Revision 1.23.4.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:32 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.23: +4 -2 lines
Diff to previous 1.23 (colored) next main 1.24 (colored)

Sync with HEAD

Revision 1.24 / (download) - annotate - [select for diffs], Sun Feb 8 19:39:09 2015 UTC (9 years ago) by christos
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, 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, netbsd-8-base, 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, 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: pgoyette-compat
Changes since 1.23: +4 -2 lines
Diff to previous 1.23 (colored)

make this kmemuser friendly.

Revision 1.22.2.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:44 2014 UTC (9 years, 6 months ago) by tls
Branch: tls-maxphys
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.22.12.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:56:54 2014 UTC (9 years, 6 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

Rebase.

Revision 1.19.8.2 / (download) - annotate - [select for diffs], Thu May 22 11:41:18 2014 UTC (9 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.19.8.1: +2 -2 lines
Diff to previous 1.19.8.1 (colored) to branchpoint 1.19 (colored) next main 1.20 (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.22.4.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:21 2014 UTC (9 years, 9 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored) next main 1.23 (colored)

sync with head

Revision 1.23 / (download) - annotate - [select for diffs], Thu Apr 24 12:04:28 2014 UTC (9 years, 10 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, rmind-smpnet-nbase, rmind-smpnet-base, 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.22: +2 -2 lines
Diff to previous 1.22 (colored)

Make sleepq_wake() type void.  The return value hasn't been used in
almost 6 years.  Even if it were, returning an arbitrary lwp is a bit
of a wonky interface and can really work only when expected == 1.

Revision 1.19.8.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:08:53 2012 UTC (11 years, 10 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored)

sync with head

Revision 1.21.2.1 / (download) - annotate - [select for diffs], Fri Feb 24 09:11:51 2012 UTC (12 years ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.21: +1 -2 lines
Diff to previous 1.21 (colored) next main 1.22 (colored)

sync to -current.

Revision 1.22 / (download) - annotate - [select for diffs], Sun Feb 19 21:07:00 2012 UTC (12 years ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, 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, 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-base10, agc-symver-base, agc-symver
Branch point for: tls-maxphys, tls-earlyentropy, rmind-smpnet
Changes since 1.21: +1 -2 lines
Diff to previous 1.21 (colored)

Remove COMPAT_SA / KERN_SA.  Welcome to 6.99.3!
Approved by core@.

Revision 1.21 / (download) - annotate - [select for diffs], Mon Nov 21 04:36:06 2011 UTC (12 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: 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-base2, jmcneill-usbmp-base
Branch point for: jmcneill-usbmp
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored)

change printf gcc attribute to __printflike(), requested by joerg.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Nov 20 23:37:00 2011 UTC (12 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.19: +3 -2 lines
Diff to previous 1.19 (colored)

add more missing printf attributes.

Revision 1.18.4.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:56:25 2011 UTC (12 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.18: +5 -12 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

sync with head

Revision 1.19 / (download) - annotate - [select for diffs], Sat Dec 18 01:36:20 2010 UTC (13 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, uebayasi-xip-base7, rmind-uvmplock-nbase, rmind-uvmplock-base, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache
Changes since 1.18: +5 -12 lines
Diff to previous 1.18 (colored)

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

OK ad@

Revision 1.10.4.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:43 2010 UTC (13 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.10.4.2: +5 -5 lines
Diff to previous 1.10.4.2 (colored) to branchpoint 1.10 (colored) next main 1.11 (colored)

sync with head

Revision 1.18 / (download) - annotate - [select for diffs], Sun Nov 22 18:40:26 2009 UTC (14 years, 3 months ago) by mbalmer
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, matt-premerge-20091211
Branch point for: rmind-uvmplock
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

s/the the/the/

Revision 1.17 / (download) - annotate - [select for diffs], Wed Oct 21 21:12:07 2009 UTC (14 years, 4 months ago) by rmind
Branch: MAIN
CVS Tags: jym-xensuspend-nbase
Changes since 1.16: +4 -4 lines
Diff to previous 1.16 (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.15.8.1 / (download) - annotate - [select for diffs], Wed May 13 17:23:03 2009 UTC (14 years, 9 months ago) by jym
Branch: jym-xensuspend
Changes since 1.15: +8 -17 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.10.4.2 / (download) - annotate - [select for diffs], Mon May 4 08:14:36 2009 UTC (14 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.10.4.1: +43 -50 lines
Diff to previous 1.10.4.1 (colored) to branchpoint 1.10 (colored)

sync with head.

Revision 1.15.2.1 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:53 2009 UTC (14 years, 10 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.15: +8 -17 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

Sync with HEAD.

Revision 1.16 / (download) - annotate - [select for diffs], Sat Mar 21 13:11:14 2009 UTC (14 years, 11 months ago) by ad
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-base, jymxensuspend-base, jym-xensuspend-base
Changes since 1.15: +8 -17 lines
Diff to previous 1.15 (colored)

Allocate sleep queue locks with mutex_obj_alloc. Reduces memory usage
on !MP kernels, and reduces false sharing on MP ones.

Revision 1.9.14.4 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:41 2009 UTC (15 years, 1 month ago) by mjf
Branch: mjf-devfs2
Changes since 1.9.14.3: +3 -1 lines
Diff to previous 1.9.14.3 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored)

Sync with HEAD.

Revision 1.14.2.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:18:09 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.14: +4 -2 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

Sync with HEAD.

Revision 1.11.2.2 / (download) - annotate - [select for diffs], Fri Oct 10 22:37:09 2008 UTC (15 years, 4 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.11.2.1: +4 -2 lines
Diff to previous 1.11.2.1 (colored) to branchpoint 1.11 (colored) next main 1.12 (colored)

Sync with HEAD.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Oct 10 09:44:35 2008 UTC (15 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, nick-hppapmap-base2, 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, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, jym-xensuspend
Changes since 1.14: +4 -2 lines
Diff to previous 1.14 (colored)

include prerequisite headers

Revision 1.9.14.3 / (download) - annotate - [select for diffs], Sun Jun 29 09:33:20 2008 UTC (15 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.9.14.2: +19 -2 lines
Diff to previous 1.9.14.2 (colored) to branchpoint 1.9 (colored)

Sync with HEAD.

Revision 1.11.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:32:03 2008 UTC (15 years, 8 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.11: +35 -35 lines
Diff to previous 1.11 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Wed Jun 18 16:33:51 2008 UTC (15 years, 8 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.13: +20 -3 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

Sync with head.

Revision 1.10.2.3 / (download) - annotate - [select for diffs], Tue Jun 17 09:15:17 2008 UTC (15 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.10.2.2: +20 -3 lines
Diff to previous 1.10.2.2 (colored) to branchpoint 1.10 (colored) next main 1.11 (colored)

sync with head.

Revision 1.14 / (download) - annotate - [select for diffs], Mon Jun 16 09:56:46 2008 UTC (15 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base
Branch point for: haad-dm
Changes since 1.13: +20 -3 lines
Diff to previous 1.13 (colored)

- Add sleepq_hashlock(). Like sleeptab_lookup() but only returns the lock
  corresponding to a given wait channel.
- sleepq_enter: reduce number of function calls made.

No functional change.

Revision 1.10.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:49 2008 UTC (15 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.10.2.1: +17 -34 lines
Diff to previous 1.10.2.1 (colored) to branchpoint 1.10 (colored)

sync with head

Revision 1.9.14.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:33 2008 UTC (15 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.9.14.1: +16 -40 lines
Diff to previous 1.9.14.1 (colored) to branchpoint 1.9 (colored)

Sync with HEAD.

Revision 1.13 / (download) - annotate - [select for diffs], Mon May 26 12:08:39 2008 UTC (15 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base3
Branch point for: simonb-wapbl
Changes since 1.12: +17 -29 lines
Diff to previous 1.12 (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.12 / (download) - annotate - [select for diffs], Mon May 19 17:06:02 2008 UTC (15 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: hpcarm-cleanup-nbase
Changes since 1.11: +1 -6 lines
Diff to previous 1.11 (colored)

Reduce ifdefs due to MULTIPROCESSOR slightly.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:50 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.10: +1 -8 lines
Diff to previous 1.10 (colored)

sync with head.

Revision 1.10.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:51 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.10: +1 -8 lines
Diff to previous 1.10 (colored)

sync with head.

Revision 1.11 / (download) - annotate - [select for diffs], Mon Apr 28 20:24:11 2008 UTC (15 years, 10 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base2, yamt-nfs-mp-base2
Branch point for: wrstuden-revivesa
Changes since 1.10: +1 -8 lines
Diff to previous 1.10 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.9.14.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:12 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.9: +4 -4 lines
Diff to previous 1.9 (colored)

Sync with HEAD.

Revision 1.2.4.5 / (download) - annotate - [select for diffs], Mon Mar 24 09:39:10 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.4.4: +4 -4 lines
Diff to previous 1.2.4.4 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

sync with head.

Revision 1.9.10.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:28 2008 UTC (15 years, 11 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.9: +4 -4 lines
Diff to previous 1.9 (colored) next main 1.10 (colored)

sync with head.

Revision 1.7.8.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:11 2008 UTC (15 years, 11 months ago) by matt
Branch: matt-armv6
Changes since 1.7.8.2: +4 -4 lines
Diff to previous 1.7.8.2 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)

sync with HEAD

Revision 1.10 / (download) - annotate - [select for diffs], Mon Mar 17 16:54:51 2008 UTC (15 years, 11 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.9: +4 -4 lines
Diff to previous 1.9 (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.7.14.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:49:32 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.7: +4 -7 lines
Diff to previous 1.7 (colored) next main 1.8 (colored)

Sync with HEAD.

Revision 1.2.4.4 / (download) - annotate - [select for diffs], Thu Nov 15 11:45:34 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.4.3: +4 -7 lines
Diff to previous 1.2.4.3 (colored) to branchpoint 1.2 (colored)

sync with head.

Revision 1.7.12.1 / (download) - annotate - [select for diffs], Tue Nov 13 16:03:25 2007 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.7: +4 -7 lines
Diff to previous 1.7 (colored) next main 1.8 (colored)

Sync with HEAD

Revision 1.7.6.2 / (download) - annotate - [select for diffs], Sun Nov 11 16:48:52 2007 UTC (16 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.7.6.1: +2 -2 lines
Diff to previous 1.7.6.1 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)

Sync with HEAD.

Revision 1.7.8.2 / (download) - annotate - [select for diffs], Thu Nov 8 11:00:22 2007 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.7.8.1: +2 -2 lines
Diff to previous 1.7.8.1 (colored) to branchpoint 1.7 (colored)

sync with -HEAD

Revision 1.9 / (download) - annotate - [select for diffs], Wed Nov 7 00:23:44 2007 UTC (16 years, 3 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, 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.8: +2 -2 lines
Diff to previous 1.8 (colored)

Merge from vmlocking:

- pool_cache changes.
- Debugger/procfs locking fixes.
- Other minor changes.

Revision 1.7.8.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:34:55 2007 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.7: +3 -6 lines
Diff to previous 1.7 (colored)

sync with HEAD

Revision 1.7.6.1 / (download) - annotate - [select for diffs], Tue Nov 6 19:25:40 2007 UTC (16 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.7: +3 -6 lines
Diff to previous 1.7 (colored)

Sync with HEAD.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Nov 6 00:42:46 2007 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: jmcneill-base
Changes since 1.7: +3 -6 lines
Diff to previous 1.7 (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.5 / (download) - annotate - [select for diffs], Thu Nov 1 21:58:27 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.5.2.4: +2 -5 lines
Diff to previous 1.5.2.4 (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.2.4.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:46:36 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.4.2: +35 -68 lines
Diff to previous 1.2.4.2 (colored) to branchpoint 1.2 (colored)

sync with head.

Revision 1.5.2.4 / (download) - annotate - [select for diffs], Sat Sep 1 12:56:52 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.5.2.3: +3 -3 lines
Diff to previous 1.5.2.3 (colored)

Update for pool_cache API changes.

Revision 1.5.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:12:36 2007 UTC (16 years, 7 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.5: +27 -73 lines
Diff to previous 1.5 (colored) next main 1.6 (colored)

Sync with head.

Revision 1.5.2.3 / (download) - annotate - [select for diffs], Fri Jun 8 14:18:12 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.5.2.2: +11 -44 lines
Diff to previous 1.5.2.2 (colored)

Sync with head.

Revision 1.7 / (download) - annotate - [select for diffs], Thu May 17 14:51:43 2007 UTC (16 years, 9 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, vmlocking-base, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: mjf-devfs, matt-armv6, jmcneill-pm, bouyer-xenamd64
Changes since 1.6: +13 -57 lines
Diff to previous 1.6 (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.2.2.7 / (download) - annotate - [select for diffs], Mon Apr 30 16:38:37 2007 UTC (16 years, 10 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.2.2.6: +1 -2 lines
Diff to previous 1.2.2.6 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

- Remove KERN_SCHED, do not break KERN_MAXID and use dynamic node creation,
  since we are moving to dynamic sysctl anyway - note by <mrg>.
- Remove sched_slept() hook - we are not going to use it.

Revision 1.2.2.6 / (download) - annotate - [select for diffs], Thu Apr 19 04:19:43 2007 UTC (16 years, 10 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.2.2.5: +3 -14 lines
Diff to previous 1.2.2.5 (colored) to branchpoint 1.2 (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.2.2.5 / (download) - annotate - [select for diffs], Mon Apr 16 23:31:19 2007 UTC (16 years, 10 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.2.2.4: +10 -43 lines
Diff to previous 1.2.2.4 (colored) to branchpoint 1.2 (colored)

- 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.2.2.4 / (download) - annotate - [select for diffs], Sun Apr 15 16:04:05 2007 UTC (16 years, 10 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.2.2.3: +17 -19 lines
Diff to previous 1.2.2.3 (colored) to branchpoint 1.2 (colored)

sync with head.

Revision 1.5.2.2 / (download) - annotate - [select for diffs], Tue Apr 10 18:34:04 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.5.2.1: +3 -14 lines
Diff to previous 1.5.2.1 (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.1 / (download) - annotate - [select for diffs], Tue Apr 10 13:26:20 2007 UTC (16 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.5: +17 -19 lines
Diff to previous 1.5 (colored)

Sync with head.

Revision 1.5.6.1 / (download) - annotate - [select for diffs], Thu Mar 29 19:28:03 2007 UTC (16 years, 11 months ago) by reinoud
Branch: reinoud-bufcleanup
Changes since 1.5: +17 -19 lines
Diff to previous 1.5 (colored) next main 1.6 (colored)

Pullup to -current

Revision 1.6 / (download) - annotate - [select for diffs], Thu Mar 29 17:34:39 2007 UTC (16 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic
Changes since 1.5: +17 -19 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.2.2.3 / (download) - annotate - [select for diffs], Fri Mar 9 15:16:26 2007 UTC (16 years, 11 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.2.2.2: +2 -1 lines
Diff to previous 1.2.2.2 (colored) to branchpoint 1.2 (colored)

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.2.2.2 / (download) - annotate - [select for diffs], Tue Feb 27 16:55:17 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.2.2.1: +18 -5 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (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 (17 years ago) by yamt
Branch: MAIN
Branch point for: vmlocking, reinoud-bufcleanup, mjf-ufs-trans
Changes since 1.4: +6 -6 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 10:50:30 2007 UTC (17 years ago) by yamt
Branch: MAIN
CVS Tags: ad-audiomp-base, ad-audiomp
Changes since 1.3: +1 -0 lines
Diff to previous 1.3 (colored)

move wchan_t and syncobj_t to a dedicated header to simplify dependencies.
fix "XXX wchan_t".

Revision 1.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:20:52 2007 UTC (17 years ago) by yamt
Branch: MAIN
Changes since 1.2: +14 -2 lines
Diff to previous 1.2 (colored)

implement priority inheritance.

Revision 1.2.4.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:12:15 2007 UTC (17 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.4.1: +240 -0 lines
Diff to previous 1.2.4.1 (colored) to branchpoint 1.2 (colored)

sync with head.

Revision 1.2.2.1 / (download) - annotate - [select for diffs], Sat Feb 17 10:31:06 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.2: +1 -1 lines
Diff to previous 1.2 (colored)

- separate context switching and thread scheduling.
- introduce idle lwp.
- change some related MD/MI interfaces and implement i386 version.

Revision 1.2.4.1, Fri Feb 9 21:55:37 2007 UTC (17 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2: +0 -240 lines
FILE REMOVED

file sleepq.h was added on branch yamt-lazymbuf on 2007-02-26 09:12:15 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:37 2007 UTC (17 years ago) by ad
Branch: MAIN
CVS Tags: post-newlock2-merge
Branch point for: yamt-lazymbuf, yamt-idlelwp
Changes since 1.1: +240 -0 lines
Diff to previous 1.1 (colored)

Merge newlock2 to head.

Revision 1.1.2.10 / (download) - annotate - [select for diffs], Fri Feb 9 19:58:10 2007 UTC (17 years ago) by ad
Branch: newlock2
Changes since 1.1.2.9: +3 -2 lines
Diff to previous 1.1.2.9 (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.9 / (download) - annotate - [select for diffs], Mon Feb 5 17:58:13 2007 UTC (17 years ago) by ad
Branch: newlock2
Changes since 1.1.2.8: +33 -6 lines
Diff to previous 1.1.2.8 (colored) to branchpoint 1.1 (colored)

Try to reduce cache line ping-ponging.

Revision 1.1.2.8 / (download) - annotate - [select for diffs], Mon Feb 5 13:06:34 2007 UTC (17 years ago) by ad
Branch: newlock2
Changes since 1.1.2.7: +3 -2 lines
Diff to previous 1.1.2.7 (colored) to branchpoint 1.1 (colored)

Declare turnstile_print().

Revision 1.1.2.7 / (download) - annotate - [select for diffs], Sat Jan 27 14:00:02 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.1.2.6: +4 -4 lines
Diff to previous 1.1.2.6 (colored) to branchpoint 1.1 (colored)

Rename some functions to better describe what they do.

Revision 1.1.2.6 / (download) - annotate - [select for diffs], Tue Jan 16 01:28:27 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.1.2.5: +7 -4 lines
Diff to previous 1.1.2.5 (colored) to branchpoint 1.1 (colored)

Adjust arguments to _lwp_park() and friends so that in the best case
_lwp_unpark_all() only has to traverse one sleep queue.

Revision 1.1.2.5 / (download) - annotate - [select for diffs], Thu Jan 11 22:23:00 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.1.2.4: +5 -2 lines
Diff to previous 1.1.2.4 (colored) to branchpoint 1.1 (colored)

Checkpoint work in progress.

Revision 1.1.2.4 / (download) - annotate - [select for diffs], Fri Dec 29 20:27:45 2006 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.1.2.3: +45 -11 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 (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.1.2.2: +2 -3 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:40 2006 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.1.2.1: +33 -10 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:38:44 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.1: +149 -0 lines
Diff to previous 1.1 (colored)

Add a sleep queue implementation.

Revision 1.1, Fri Oct 20 19:38:44 2006 UTC (17 years, 4 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 sleepq.h was initially added on branch newlock2.

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




CVSweb <webmaster@jp.NetBSD.org>