The NetBSD Project

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

[BACK] Up to [cvs.netbsd.org] / src / sys / kern

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.30 / (download) - annotate - [select for diffs], Fri Sep 16 01:03:52 2011 UTC (8 months, 1 week ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, netbsd-6-base, netbsd-6, 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-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, HEAD
Changes since 1.29: +6 -5 lines
Diff to previous 1.29 (colored)

This is no place to attach the primary cpu. Things go wrong from here because
for example it is missing its name.

Revision 1.24.4.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:18 2010 UTC (2 years, 2 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.24.4.2: +3 -3 lines
Diff to previous 1.24.4.2 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

sync with head

Revision 1.29 / (download) - annotate - [select for diffs], Sun Nov 22 19:09:16 2009 UTC (2 years, 6 months ago) by mbalmer
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, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, matt-premerge-20091211, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

more s/the the/the/

Revision 1.27.8.1 / (download) - annotate - [select for diffs], Thu Jul 23 23:32:35 2009 UTC (2 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.27: +2 -3 lines
Diff to previous 1.27 (colored) next main 1.28 (colored)

Sync with HEAD.

Revision 1.24.4.2 / (download) - annotate - [select for diffs], Sat Jul 18 14:53:23 2009 UTC (2 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.24.4.1: +2 -3 lines
Diff to previous 1.24.4.1 (colored) to branchpoint 1.24 (colored)

sync with head.

Revision 1.28 / (download) - annotate - [select for diffs], Mon Jul 6 12:37:17 2009 UTC (2 years, 10 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, jymxensuspend-base, jym-xensuspend-nbase
Changes since 1.27: +2 -3 lines
Diff to previous 1.27 (colored)

Remove unused include.

Revision 1.24.4.1 / (download) - annotate - [select for diffs], Mon May 4 08:13:47 2009 UTC (3 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.24: +54 -113 lines
Diff to previous 1.24 (colored)

sync with head.

Revision 1.20.6.3 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:19 2009 UTC (3 years, 4 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.20.6.2: +47 -42 lines
Diff to previous 1.20.6.2 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored)

Sync with HEAD.

Revision 1.25.4.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:17:28 2008 UTC (3 years, 7 months ago) by haad
Branch: haad-dm
Changes since 1.25: +49 -44 lines
Diff to previous 1.25 (colored) next main 1.26 (colored)

Sync with HEAD.

Revision 1.27 / (download) - annotate - [select for diffs], Sat Oct 18 03:44:04 2008 UTC (3 years, 7 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jym-xensuspend-base, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, ad-audiomp2-base, ad-audiomp2
Branch point for: jym-xensuspend
Changes since 1.26: +37 -4 lines
Diff to previous 1.26 (colored)

Make SCHED_M2 nice with nice(1).  Closes PR/38048.

Revision 1.24.6.2 / (download) - annotate - [select for diffs], Fri Oct 10 22:34:14 2008 UTC (3 years, 7 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.24.6.1: +14 -42 lines
Diff to previous 1.24.6.1 (colored) to branchpoint 1.24 (colored) next main 1.25 (colored)

Sync with HEAD.

Revision 1.26 / (download) - annotate - [select for diffs], Tue Oct 7 09:48:27 2008 UTC (3 years, 7 months ago) by rmind
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4
Changes since 1.25: +14 -42 lines
Diff to previous 1.25 (colored)

- Replace lwp_t::l_sched_info with union: pointer and timeslice.
- Change minimal time-quantum to ~20 ms.
- Thus remove unneeded pool in M2, and unused sched_lwp_exit().
- Do not increase l_slptime twice for SCHED_4BSD (regression fix).

Revision 1.24.6.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:31:51 2008 UTC (3 years, 11 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.24: +8 -72 lines
Diff to previous 1.24 (colored)

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

Revision 1.24.2.1 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:39 2008 UTC (3 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.24: +8 -72 lines
Diff to previous 1.24 (colored) next main 1.25 (colored)

sync with head

Revision 1.20.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:10 2008 UTC (3 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.20.6.1: +16 -662 lines
Diff to previous 1.20.6.1 (colored) to branchpoint 1.20 (colored)

Sync with HEAD.

Revision 1.25 / (download) - annotate - [select for diffs], Mon May 19 12:48:54 2008 UTC (4 years ago) by rmind
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, hpcarm-cleanup-nbase
Branch point for: haad-dm
Changes since 1.24: +8 -72 lines
Diff to previous 1.24 (colored)

- Make periodical balancing mandatory.
- Fix priority raising in M2 (broken after making runqueues mandatory).

Revision 1.24 / (download) - annotate - [select for diffs], Sat Apr 12 17:02:08 2008 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base2, yamt-pf42-base, yamt-nfs-mp-base2, yamt-nfs-mp-base
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa
Changes since 1.23: +15 -597 lines
Diff to previous 1.23 (colored)

Take the run queue management code from the M2 scheduler, and make it
mandatory. Remove the 4BSD run queue code. Effects:

- Pluggable scheduler is only responsible for co-ordinating timeshared jobs.
- All systems run with per-CPU run queues.
- 4BSD scheduler gets processor sets / affinity.
- 4BSD scheduler gets a significant peformance boost on some workloads.

Discussed on tech-kern@.

Revision 1.20.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:03 2008 UTC (4 years, 1 month ago) by mjf
Branch: mjf-devfs2
Changes since 1.20: +46 -27 lines
Diff to previous 1.20 (colored)

Sync with HEAD.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Mar 27 18:30:15 2008 UTC (4 years, 1 month ago) by ad
Branch: MAIN
Changes since 1.22: +5 -5 lines
Diff to previous 1.22 (colored)

Replace use of CACHE_LINE_SIZE in some obvious places.

Revision 1.20.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:14 2008 UTC (4 years, 2 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.20: +43 -24 lines
Diff to previous 1.20 (colored) next main 1.21 (colored)

sync with head.

Revision 1.10.2.5 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:00 2008 UTC (4 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.10.2.4: +140 -99 lines
Diff to previous 1.10.2.4 (colored) to branchpoint 1.10 (colored) next main 1.11 (colored)

sync with HEAD

Revision 1.6.4.8 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:34 2008 UTC (4 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.7: +43 -24 lines
Diff to previous 1.6.4.7 (colored) next main 1.7 (colored)

sync with head.

Revision 1.22 / (download) - annotate - [select for diffs], Tue Mar 11 18:18:49 2008 UTC (4 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, ad-socklock-base1
Changes since 1.21: +40 -21 lines
Diff to previous 1.21 (colored)

- Perform periodical balancing of CPU-bound threads, which tends to
  never sleep.  Should fix PR/37245 by <yamt>.
- Fix a regression - dissalow catching of bound threads.  Also, allow
  migration of non-bound kthreads, this restriction seems pointless.
- Few micro-optimisations, misc.

Revision 1.21 / (download) - annotate - [select for diffs], Mon Mar 10 22:20:14 2008 UTC (4 years, 2 months ago) by martin
Branch: MAIN
Changes since 1.20: +5 -5 lines
Diff to previous 1.20 (colored)

Use cpu index instead of the machine dependend, not very expressive
cpuid when naming user-visible kernel entities.

Revision 1.6.4.7 / (download) - annotate - [select for diffs], Wed Feb 27 08:36:56 2008 UTC (4 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.6: +17 -9 lines
Diff to previous 1.6.4.6 (colored)

sync with head.

Revision 1.9.2.4 / (download) - annotate - [select for diffs], Mon Feb 18 21:06:46 2008 UTC (4 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.9.2.3: +101 -79 lines
Diff to previous 1.9.2.3 (colored) next main 1.10 (colored)

Sync with HEAD.

Revision 1.20 / (download) - annotate - [select for diffs], Thu Feb 14 14:26:57 2008 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, hpcarm-cleanup-base
Branch point for: mjf-devfs2, keiichi-mipv6
Changes since 1.19: +17 -9 lines
Diff to previous 1.19 (colored)

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

Revision 1.6.4.6 / (download) - annotate - [select for diffs], Mon Feb 4 09:24:15 2008 UTC (4 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.5: +22 -26 lines
Diff to previous 1.6.4.5 (colored)

sync with head.

Revision 1.19 / (download) - annotate - [select for diffs], Thu Jan 31 00:46:55 2008 UTC (4 years, 3 months ago) by rmind
Branch: MAIN
Changes since 1.18: +22 -26 lines
Diff to previous 1.18 (colored)

- sched_cpuattach: fix address calculation, use roundup2();
  Fixes the problems with systems having > 2GB of memory;
  From <drochner>, thanks for catching this!
- Convert pool to pool-cache;
- Adjust copyright while here;

Revision 1.6.4.5 / (download) - annotate - [select for diffs], Mon Jan 21 09:46:17 2008 UTC (4 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.4: +69 -51 lines
Diff to previous 1.6.4.4 (colored)

sync with head

Revision 1.13.4.2 / (download) - annotate - [select for diffs], Sat Jan 19 12:15:24 2008 UTC (4 years, 4 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.13.4.1: +66 -48 lines
Diff to previous 1.13.4.1 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)

Sync with HEAD

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jan 15 18:41:37 2008 UTC (4 years, 4 months ago) by rmind
Branch: MAIN
CVS Tags: bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

sched_slept: Revert inclusion of PRI_HIGHEST_TS into the range.
Reported by <drochner>.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Jan 15 16:14:19 2008 UTC (4 years, 4 months ago) by rmind
Branch: MAIN
Changes since 1.16: +3 -14 lines
Diff to previous 1.16 (colored)

Remove PRI_DEFAULT, which was left previously..

Note: nice(1) is only for historical purposes, schedctl(8) should be used.

Revision 1.16 / (download) - annotate - [select for diffs], Tue Jan 15 04:16:27 2008 UTC (4 years, 4 months ago) by rmind
Branch: MAIN
Changes since 1.15: +24 -21 lines
Diff to previous 1.15 (colored)

- Estimate cache-hotness in all states, except LSIDL;
- Include PRI_HIGHEST_TS value into the increasion range,
  it was missed previously by mistake;
- More KASSERTs to handle invalid priorities of threads;
- Remove PRI_DEFAULT;
- Misc;

Revision 1.15 / (download) - annotate - [select for diffs], Tue Jan 15 03:37:11 2008 UTC (4 years, 4 months ago) by rmind
Branch: MAIN
Changes since 1.14: +45 -19 lines
Diff to previous 1.14 (colored)

Implementation of processor-sets, affinity and POSIX real-time extensions.
Add schedctl(8) - a program to control scheduling of processes and threads.

Notes:
- This is supported only by SCHED_M2;
- Migration of LWP mechanism will be revisited;

Proposed on: <tech-kern>. Reviewed by: <ad>.

Revision 1.10.2.4 / (download) - annotate - [select for diffs], Wed Jan 9 01:56:14 2008 UTC (4 years, 4 months ago) by matt
Branch: matt-armv6
Changes since 1.10.2.3: +6 -5 lines
Diff to previous 1.10.2.3 (colored) to branchpoint 1.10 (colored)

sync with HEAD

Revision 1.13.4.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:56:06 2008 UTC (4 years, 4 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)

Sync with HEAD

Revision 1.9.2.3 / (download) - annotate - [select for diffs], Thu Dec 27 00:46:06 2007 UTC (4 years, 5 months ago) by mjf
Branch: mjf-devfs
Changes since 1.9.2.2: +3 -3 lines
Diff to previous 1.9.2.2 (colored)

Sync with HEAD.

Revision 1.12.2.2 / (download) - annotate - [select for diffs], Wed Dec 26 21:39:42 2007 UTC (4 years, 5 months ago) by ad
Branch: vmlocking2
Changes since 1.12.2.1: +3 -3 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], Fri Dec 21 12:05:39 2007 UTC (4 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: vmlocking2-base3, matt-armv6-base
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)

KM_NOSLEEP -> KM_SLEEP for clarity.

Revision 1.6.2.7 / (download) - annotate - [select for diffs], Sun Dec 9 19:38:23 2007 UTC (4 years, 5 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.6.2.6: +3 -3 lines
Diff to previous 1.6.2.6 (colored) next main 1.7 (colored)

Sync with HEAD.

Revision 1.9.2.2 / (download) - annotate - [select for diffs], Sat Dec 8 18:20:35 2007 UTC (4 years, 5 months ago) by mjf
Branch: mjf-devfs
Changes since 1.9.2.1: +5 -4 lines
Diff to previous 1.9.2.1 (colored)

Sync with HEAD.

Revision 1.12.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 17:57:45 2007 UTC (4 years, 5 months ago) by ad
Branch: vmlocking2
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

Sync with head.

Revision 1.6.4.4 / (download) - annotate - [select for diffs], Fri Dec 7 17:32:56 2007 UTC (4 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.3: +5 -4 lines
Diff to previous 1.6.4.3 (colored)

sync with head

Revision 1.13 / (download) - annotate - [select for diffs], Wed Dec 5 07:06:54 2007 UTC (4 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base2, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

Match the docs: MUTEX_DRIVER/SPIN are now only for porting code written
for Solaris.

Revision 1.6.2.6 / (download) - annotate - [select for diffs], Mon Dec 3 16:14:55 2007 UTC (4 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.6.2.5: +4 -3 lines
Diff to previous 1.6.2.5 (colored)

Sync with HEAD.

Revision 1.12 / (download) - annotate - [select for diffs], Wed Nov 28 19:30:56 2007 UTC (4 years, 5 months ago) by rmind
Branch: MAIN
CVS Tags: vmlocking2-base1, vmlocking-nbase
Branch point for: vmlocking2
Changes since 1.11: +4 -3 lines
Diff to previous 1.11 (colored)

Unify the license: All rights reserved.
No functional change.

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:48:47 2007 UTC (4 years, 6 months ago) by mjf
Branch: mjf-devfs
Changes since 1.9: +125 -91 lines
Diff to previous 1.9 (colored)

Sync with HEAD.

Revision 1.6.4.3 / (download) - annotate - [select for diffs], Thu Nov 15 11:44:47 2007 UTC (4 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.2: +140 -105 lines
Diff to previous 1.6.4.2 (colored)

sync with head.

Revision 1.5.2.2 / (download) - annotate - [select for diffs], Tue Nov 13 16:02:16 2007 UTC (4 years, 6 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.5.2.1: +138 -103 lines
Diff to previous 1.5.2.1 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored)

Sync with HEAD

Revision 1.6.2.5 / (download) - annotate - [select for diffs], Sun Nov 11 16:48:06 2007 UTC (4 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.6.2.4: +25 -11 lines
Diff to previous 1.6.2.4 (colored)

Sync with HEAD.

Revision 1.10.2.3 / (download) - annotate - [select for diffs], Thu Nov 8 11:00:04 2007 UTC (4 years, 6 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.10.2.2: +25 -11 lines
Diff to previous 1.10.2.2 (colored) to branchpoint 1.10 (colored)

sync with -HEAD

Revision 1.11 / (download) - annotate - [select for diffs], Wed Nov 7 03:07:14 2007 UTC (4 years, 6 months ago) by rmind
Branch: MAIN
CVS Tags: bouyer-xenamd64-base2, bouyer-xenamd64-base
Changes since 1.10: +25 -11 lines
Diff to previous 1.10 (colored)

Modifications for the recent vmlocking changes:
- Re-enqueue the thread when priority changes and it is in LSRUN state;
- Handle the __HAVE_FAST_SOFTINTS case in sched_curcpu_runnable_p();
- Few minor changes;

Revision 1.10.2.2 / (download) - annotate - [select for diffs], Tue Nov 6 23:32:09 2007 UTC (4 years, 6 months ago) by matt
Branch: matt-armv6
Changes since 1.10.2.1: +1044 -0 lines
Diff to previous 1.10.2.1 (colored) to branchpoint 1.10 (colored)

sync with HEAD

Revision 1.6.2.4 / (download) - annotate - [select for diffs], Tue Nov 6 19:25:33 2007 UTC (4 years, 6 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.6.2.3: +109 -89 lines
Diff to previous 1.6.2.3 (colored)

Sync with HEAD.

Revision 1.10.2.1, Tue Nov 6 00:42:43 2007 UTC (4 years, 6 months ago) by matt
Branch: matt-armv6
Changes since 1.10: +0 -1044 lines
FILE REMOVED

file sched_m2.c was added on branch matt-armv6 on 2007-11-06 23:32:09 +0000

Revision 1.10 / (download) - annotate - [select for diffs], Tue Nov 6 00:42:43 2007 UTC (4 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: jmcneill-base
Branch point for: matt-armv6
Changes since 1.9: +109 -89 lines
Diff to previous 1.9 (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.3.2.7 / (download) - annotate - [select for diffs], Mon Nov 5 15:04:43 2007 UTC (4 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.3.2.6: +18 -12 lines
Diff to previous 1.3.2.6 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

- Locking tweaks for estcpu/nice. XXX The schedclock musn't run above
  IPL_SCHED.
- Hide most references to l_estcpu.
- l_policy was here first, but l_class is referenced in more places now.

Revision 1.6.2.3 / (download) - annotate - [select for diffs], Sun Nov 4 21:03:33 2007 UTC (4 years, 6 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.6.2.2: +17 -16 lines
Diff to previous 1.6.2.2 (colored)

Sync with HEAD.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Nov 4 14:15:34 2007 UTC (4 years, 6 months ago) by rmind
Branch: MAIN
Branch point for: mjf-devfs
Changes since 1.8: +4 -4 lines
Diff to previous 1.8 (colored)

Fix sysctl_createv "pasto" in previous.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Nov 4 12:36:01 2007 UTC (4 years, 6 months ago) by rmind
Branch: MAIN
Changes since 1.7: +15 -14 lines
Diff to previous 1.7 (colored)

- sched_setup: use ilog2() for min_catch, which fixes the case when count
  of CPU is non-power of 2.  Fixes PR/37244.
- sched_enqueue: initialize sl_lrtime, when it is zero (new thread).
  Part of PR/37245.
- Fix the mints/maxts sysctl helpers, use mstohz() for the checks.  Also,
  I meant miliseconds, not microseconds.  Found by <bjs>.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Nov 4 11:43:07 2007 UTC (4 years, 6 months ago) by rmind
Branch: MAIN
Changes since 1.6: +4 -4 lines
Diff to previous 1.6 (colored)

- Migrate all threads when the state of CPU is changed to offline;
- Fix inverted logic with r_mcount in M2;
- setrunnable: perform sched_takecpu() when making the LWP runnable;
- setrunnable: l_mutex cannot be spc_mutex here;

This makes cpuctl(8) work with SCHED_M2.

OK by <ad>.

Revision 1.3.2.6 / (download) - annotate - [select for diffs], Thu Nov 1 21:58:22 2007 UTC (4 years, 6 months ago) by ad
Branch: vmlocking
Changes since 1.3.2.5: +20 -17 lines
Diff to previous 1.3.2.5 (colored) to branchpoint 1.3 (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.6.4.2 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:31 2007 UTC (4 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6.4.1: +1023 -0 lines
Diff to previous 1.6.4.1 (colored)

sync with head.

Revision 1.6.2.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:38 2007 UTC (4 years, 7 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.6.2.1: +1023 -0 lines
Diff to previous 1.6.2.1 (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.1 / (download) - annotate - [select for diffs], Thu Oct 25 22:40:02 2007 UTC (4 years, 7 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.5: +1 -1 lines
Diff to previous 1.5 (colored)

Sync with HEAD.

Revision 1.3.2.5 / (download) - annotate - [select for diffs], Tue Oct 23 20:17:13 2007 UTC (4 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.3.2.4: +2 -5 lines
Diff to previous 1.3.2.4 (colored) to branchpoint 1.3 (colored)

Sync with head.

Revision 1.6.4.1, Fri Oct 19 12:16:43 2007 UTC (4 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.6: +0 -1023 lines
FILE REMOVED

file sched_m2.c was added on branch yamt-lazymbuf on 2007-10-27 11:35:31 +0000

Revision 1.6.2.1, Fri Oct 19 12:16:43 2007 UTC (4 years, 7 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.6: +0 -1023 lines
FILE REMOVED

file sched_m2.c was added on branch jmcneill-pm on 2007-10-26 15:48:38 +0000

Revision 1.6 / (download) - annotate - [select for diffs], Fri Oct 19 12:16:43 2007 UTC (4 years, 7 months ago) by ad
Branch: MAIN
Branch point for: yamt-lazymbuf, jmcneill-pm
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (colored)

machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h

Revision 1.4.2.3 / (download) - annotate - [select for diffs], Thu Oct 18 08:33:12 2007 UTC (4 years, 7 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.4.2.2: +3 -3 lines
Diff to previous 1.4.2.2 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

sync with head.

Revision 1.5 / (download) - annotate - [select for diffs], Sun Oct 14 13:56:32 2007 UTC (4 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-x86pmap-base4
Branch point for: bouyer-xenamd64
Changes since 1.4: +1 -1 lines
Diff to previous 1.4 (colored)

fix typos in a comment.

Revision 1.4.2.2 / (download) - annotate - [select for diffs], Sun Oct 14 11:48:45 2007 UTC (4 years, 7 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.4.2.1: +1023 -0 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored)

sync with head.

Revision 1.4.2.1, Sat Oct 13 12:05:32 2007 UTC (4 years, 7 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.4: +0 -1023 lines
FILE REMOVED

file sched_m2.c was added on branch yamt-x86pmap on 2007-10-14 11:48:45 +0000

Revision 1.4 / (download) - annotate - [select for diffs], Sat Oct 13 12:05:32 2007 UTC (4 years, 7 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-x86pmap-base3
Branch point for: yamt-x86pmap
Changes since 1.3: +2 -3 lines
Diff to previous 1.3 (colored)

sched_wakeup: remove a wrong assertion.

Revision 1.3.2.4 / (download) - annotate - [select for diffs], Sat Oct 13 08:46:58 2007 UTC (4 years, 7 months ago) by rmind
Branch: vmlocking
Changes since 1.3.2.3: +23 -19 lines
Diff to previous 1.3.2.3 (colored) to branchpoint 1.3 (colored)

- Estimate and modify SL_BATCH in any case;
- Decrease the priority only in a case of time-sharing queue;
- Set l_priority in case when time-quantum expires;

Revision 1.3.2.3 / (download) - annotate - [select for diffs], Thu Oct 11 20:43:32 2007 UTC (4 years, 7 months ago) by rmind
Branch: vmlocking
Changes since 1.3.2.2: +84 -77 lines
Diff to previous 1.3.2.2 (colored) to branchpoint 1.3 (colored)

Adapt SCHED_M2 to the vmlocking branch.
- Priorities are inverted;
- New priority scheme;
- Few minor clean ups;
Now it builds and runs, but some bug is still hiding in the source tree.

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Wed Oct 10 23:03:25 2007 UTC (4 years, 7 months ago) by rmind
Branch: vmlocking
Changes since 1.3.2.1: +1024 -0 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored)

Sync with HEAD.

Revision 1.3.2.1, Wed Oct 10 22:21:17 2007 UTC (4 years, 7 months ago) by rmind
Branch: vmlocking
Changes since 1.3: +0 -1024 lines
FILE REMOVED

file sched_m2.c was added on branch vmlocking on 2007-10-10 23:03:25 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Wed Oct 10 22:21:17 2007 UTC (4 years, 7 months ago) by rmind
Branch: MAIN
CVS Tags: vmlocking-base
Branch point for: vmlocking
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored)

sched_catchlwp: Estimate the pointers of CPU structures, not spc_mutex'es,
when double-locking the runqueues.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Oct 10 21:24:53 2007 UTC (4 years, 7 months ago) by rmind
Branch: MAIN
Changes since 1.1: +20 -17 lines
Diff to previous 1.1 (colored)

sched_tick: There is no need to re-schedule in a case when
CURCPU_IDLE_P() is true.  Simplify a little bit.

OK by <ad>.

Revision 1.1 / (download) - annotate - [select for diffs], Tue Oct 9 19:00:15 2007 UTC (4 years, 7 months ago) by rmind
Branch: MAIN

Import of SCHED_M2 - the implementation of new scheduler, which is based
on the original approach of SVR4 with some inspirations about balancing
and migration from Solaris.  It implements per-CPU runqueues, provides a
real-time (RT) and time-sharing (TS) queues, ready to support a POSIX
real-time extensions, and also prepared for the support of CPU affinity.

The following lines in the kernel config enables the SCHED_M2:

no options SCHED_4BSD
options SCHED_M2

The scheduler seems to be stable.  Further work will come soon.

http://mail-index.netbsd.org/tech-kern/2007/10/04/0001.html
http://www.netbsd.org/~rmind/m2/mysql_bench_ro_4x_local.png
Thanks <ad> for the benchmarks!

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>