The NetBSD Project

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

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.46 / (download) - annotate - [selected], Wed Oct 26 23:24:09 2022 UTC (17 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, HEAD
Changes since 1.45: +2 -4 lines
Diff to previous 1.45 (colored)

sys/sched.h: New home for extern sched_pstats_ticks in kernel.

Revision 1.45 / (download) - annotate - [select for diffs], Mon Aug 9 19:57:57 2021 UTC (2 years, 7 months ago) by andvar
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (colored) to selected 1.46 (colored)

fix typos in asymmetry, asymmetric(al), symmetrical.

Revision 1.44 / (download) - annotate - [select for diffs], Sat May 23 21:24:41 2020 UTC (3 years, 10 months ago) by ad
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-futex, 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.43: +7 -7 lines
Diff to previous 1.43 (colored) to selected 1.46 (colored)

Oops.  If a SCHED_RR thread is preempted and has exceeded its timeslice it
needs to go to the back of the run queue so round-robin actually happens,
otherwise it should go to the front.

Revision 1.33.6.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:51 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.33.6.1: +32 -11 lines
Diff to previous 1.33.6.1 (colored) to branchpoint 1.33 (colored) next main 1.34 (colored) to selected 1.46 (colored)

Merge changes from current as of 20200406

Revision 1.43 / (download) - annotate - [select for diffs], Thu Mar 12 10:44:00 2020 UTC (4 years ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Changes since 1.42: +4 -2 lines
Diff to previous 1.42 (colored) to selected 1.46 (colored)

Put back missing set of SPCF_SHOULDYIELD.

Revision 1.41.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:35 2020 UTC (4 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.41: +10 -3 lines
Diff to previous 1.41 (colored) next main 1.42 (colored) to selected 1.46 (colored)

Sync with head.

Revision 1.42 / (download) - annotate - [select for diffs], Thu Jan 9 16:35:03 2020 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
Changes since 1.41: +10 -3 lines
Diff to previous 1.41 (colored) to selected 1.46 (colored)

- Many small tweaks to the SMT awareness in the scheduler.  It does a much
  better job now at keeping all physical CPUs busy, while using the extra
  threads to help out.  In particular, during preempt() if we're using SMT,
  try to find a better CPU to run on and teleport curlwp there.

- Change the CPU topology stuff so it can work on asymmetric systems.  This
  mainly entails rearranging one of the CPU lists so it makes sense in all
  configurations.

- Add a parameter to cpu_topology_set() to note that a CPU is "slow", for
  where there are fast CPUs and slow CPUs, like with the Rockwell RK3399.
  Extend the SMT awareness to try and handle that situation too (keep fast
  CPUs busy, use slow CPUs as helpers).

Revision 1.41 / (download) - annotate - [select for diffs], Fri Dec 6 18:33:19 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.40: +15 -18 lines
Diff to previous 1.40 (colored) to selected 1.46 (colored)

sched_tick(): don't try to optimise something that's called 10 times a
second, it's a fine way to introduce bugs (and I did).  Use the MI
interface for rescheduling which always does the correct thing.

Revision 1.40 / (download) - annotate - [select for diffs], Sun Dec 1 15:34:46 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.39: +3 -3 lines
Diff to previous 1.39 (colored) to selected 1.46 (colored)

Fix false sharing problems with cpu_info.  Identified with tprof(8).
This was a very nice win in my tests on a 48 CPU box.

- Reorganise cpu_data slightly according to usage.
- Put cpu_onproc into struct cpu_info alongside ci_curlwp (now is ci_onproc).
- On x86, put some items in their own cache lines according to usage, like
  the IPI bitmask and ci_want_resched.

Revision 1.39 / (download) - annotate - [select for diffs], Sun Dec 1 13:20:42 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.38: +7 -7 lines
Diff to previous 1.38 (colored) to selected 1.46 (colored)

PR port-sparc/54718 (sparc install hangs since recent scheduler changes)

- sched_tick: cpu_need_resched is no longer the correct thing to do here.
  All we need to do is OR the request into the local ci_want_resched.

- sched_resched_cpu: we need to set RESCHED_UPREEMPT even on softint LWPs,
  especially in the !__HAVE_FAST_SOFTINTS case, because the LWP with the
  LP_INTR flag could be running via softint_overlay() - i.e. it has been
  temporarily borrowed from a user process, and it needs to notice the
  resched after it has stopped running softints.

Revision 1.38 / (download) - annotate - [select for diffs], Fri Nov 29 18:29:45 2019 UTC (4 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.37: +10 -2 lines
Diff to previous 1.37 (colored) to selected 1.46 (colored)

Don't try to kpreempt a CPU hog unless __HAVE_PREEMPTION (oops).

Revision 1.37 / (download) - annotate - [select for diffs], Sat Nov 23 22:35:08 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.36: +3 -2 lines
Diff to previous 1.36 (colored) to selected 1.46 (colored)

Pull in sys/atomic.h.

Revision 1.36 / (download) - annotate - [select for diffs], Sat Nov 23 19:42:52 2019 UTC (4 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.35: +16 -10 lines
Diff to previous 1.35 (colored) to selected 1.46 (colored)

Minor scheduler cleanup:

- Adapt to cpu_need_resched() changes. Avoid lost & duplicate IPIs and ASTs.
  sched_resched_cpu() and sched_resched_lwp() contain the logic for this.
- Changes for LSIDL to make the locking scheme match the intended design.
- Reduce lock contention and false sharing further.
- Numerous small bugfixes, including some corrections for SCHED_FIFO/RT.
- Use setrunnable() in more places, and merge cut & pasted code.

Revision 1.33.6.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:03 2019 UTC (4 years, 9 months ago) by christos
Branch: phil-wifi
Changes since 1.33: +3 -4 lines
Diff to previous 1.33 (colored) to selected 1.46 (colored)

Sync with HEAD

Revision 1.33.4.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:42 2018 UTC (5 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.33.4.1: +3 -3 lines
Diff to previous 1.33.4.1 (colored) to branchpoint 1.33 (colored) next main 1.34 (colored) to selected 1.46 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.35 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:35 2018 UTC (5 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: 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, 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
Changes since 1.34: +3 -3 lines
Diff to previous 1.34 (colored) to selected 1.46 (colored)

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) < (b) ? (a) : (b))
	#define max(a, b)	((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)

Revision 1.33.4.1 / (download) - annotate - [select for diffs], Sat Jul 28 04:38:08 2018 UTC (5 years, 8 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.33: +2 -3 lines
Diff to previous 1.33 (colored) to selected 1.46 (colored)

Sync with HEAD

Revision 1.34 / (download) - annotate - [select for diffs], Thu Jul 12 10:46:48 2018 UTC (5 years, 8 months ago) by maxv
Branch: MAIN
CVS Tags: pgoyette-compat-0728
Changes since 1.33: +2 -3 lines
Diff to previous 1.33 (colored) to selected 1.46 (colored)

Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

 * Removes "options PERFCTRS", the associated includes, and the associated
   ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
   good.

 * Removes the PMC code of ARM XSCALE.

 * Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

 * Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
   definitions are put in sysarch.h.

 * Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
   and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
   netbsd32 and rump.

 * Removes the pmc_evid_t and pmc_ctr_t types.

 * Removes all the associated man pages. The sets are marked as obsolete.

Revision 1.28.8.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:38:45 2017 UTC (6 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.28.8.1: +82 -64 lines
Diff to previous 1.28.8.1 (colored) to branchpoint 1.28 (colored) next main 1.29 (colored) to selected 1.46 (colored)

update from HEAD

Revision 1.30.4.1 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:07 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.30: +84 -66 lines
Diff to previous 1.30 (colored) next main 1.31 (colored) to selected 1.46 (colored)

Sync with HEAD

Revision 1.30.20.1 / (download) - annotate - [select for diffs], Wed Jul 26 07:29:34 2017 UTC (6 years, 8 months ago) by martin
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, matt-nb8-mediatek-base, matt-nb8-mediatek
Changes since 1.30: +84 -66 lines
Diff to previous 1.30 (colored) next main 1.31 (colored) to selected 1.46 (colored)

Pull up following revision(s) (requested by maxv in ticket #158):
	sys/kern/sched_4bsd.c: revision 1.31-1.33

explain a bit
-
Revert rev1.26. l_estcpu is increased by only one cpu, not all of them.
-
Should be loadfactor().

Revision 1.33 / (download) - annotate - [select for diffs], Fri Jul 14 13:23:48 2017 UTC (6 years, 8 months ago) by maxv
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, pgoyette-compat-base, 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, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Branch point for: phil-wifi, pgoyette-compat
Changes since 1.32: +2 -1 lines
Diff to previous 1.32 (colored) to selected 1.46 (colored)

Should be loadfactor().

Revision 1.32 / (download) - annotate - [select for diffs], Fri Jul 14 13:02:20 2017 UTC (6 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.31: +1 -1 lines
Diff to previous 1.31 (colored) to selected 1.46 (colored)

Revert rev1.26. l_estcpu is increased by only one cpu, not all of them.

Revision 1.31 / (download) - annotate - [select for diffs], Sat Jul 8 15:15:43 2017 UTC (6 years, 8 months ago) by maxv
Branch: MAIN
Changes since 1.30: +81 -64 lines
Diff to previous 1.30 (colored) to selected 1.46 (colored)

explain a bit

Revision 1.28.8.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:04:29 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.28: +1 -6 lines
Diff to previous 1.28 (colored) to selected 1.46 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:55:58 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored) next main 1.30 (colored) to selected 1.46 (colored)

Rebase.

Revision 1.30 / (download) - annotate - [select for diffs], Tue Jun 24 10:08:45 2014 UTC (9 years, 9 months ago) by maxv
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, 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, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, netbsd-8-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, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: nick-nhusb, netbsd-8
Changes since 1.29: +3 -3 lines
Diff to previous 1.29 (colored) to selected 1.46 (colored)

'miliseconds' -> 'milliseconds'.

Revision 1.27.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:41:03 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.27.2.1: +2 -7 lines
Diff to previous 1.27.2.1 (colored) to branchpoint 1.27 (colored) next main 1.28 (colored) to selected 1.46 (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.28.12.1 / (download) - annotate - [select for diffs], Sun May 18 17:46:07 2014 UTC (9 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.28: +2 -7 lines
Diff to previous 1.28 (colored) next main 1.29 (colored) to selected 1.46 (colored)

sync with head

Revision 1.29 / (download) - annotate - [select for diffs], Tue Feb 25 18:30:11 2014 UTC (10 years, 1 month ago) by pooka
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3
Branch point for: tls-earlyentropy
Changes since 1.28: +2 -7 lines
Diff to previous 1.28 (colored) to selected 1.46 (colored)

Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
the sysctl link sets are processed, and remove redundancy.

Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.

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

sync with head

Revision 1.28 / (download) - annotate - [select for diffs], Fri Dec 2 12:29:35 2011 UTC (12 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, 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, khorben-n900, 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, agc-symver-base, agc-symver
Branch point for: tls-maxphys, rmind-smpnet
Changes since 1.27: +10 -11 lines
Diff to previous 1.27 (colored) to selected 1.46 (colored)

update a comment

Revision 1.27 / (download) - annotate - [select for diffs], Wed Jul 27 14:35:34 2011 UTC (12 years, 8 months ago) by uebayasi
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache
Changes since 1.26: +2 -4 lines
Diff to previous 1.26 (colored) to selected 1.46 (colored)

These don't need uvm/uvm_extern.h.

Revision 1.25.6.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:09:33 2011 UTC (12 years, 9 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored) next main 1.26 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.25.4.1 / (download) - annotate - [select for diffs], Thu Apr 21 01:42:09 2011 UTC (12 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored) next main 1.26 (colored) to selected 1.46 (colored)

sync with head

Revision 1.26 / (download) - annotate - [select for diffs], Thu Apr 14 16:19:35 2011 UTC (12 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base, cherry-xenmp
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored) to selected 1.46 (colored)

bluntly balance estcpu decay for ncpu > 1.  PR/31966.

Revision 1.24.10.1.2.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:28:17 2010 UTC (13 years, 11 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.24.10.1: +2 -2 lines
Diff to previous 1.24.10.1 (colored) next main 1.25 (colored) to selected 1.46 (colored)

sync to netbsd-5

Revision 1.24.8.1 / (download) - annotate - [select for diffs], Thu Jul 23 23:32:35 2009 UTC (14 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.24: +11 -6 lines
Diff to previous 1.24 (colored) next main 1.25 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.20.2.3 / (download) - annotate - [select for diffs], Sat Jun 20 07:20:31 2009 UTC (14 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.20.2.2: +11 -6 lines
Diff to previous 1.20.2.2 (colored) to branchpoint 1.20 (colored) next main 1.21 (colored) to selected 1.46 (colored)

sync with head

Revision 1.24.10.1 / (download) - annotate - [select for diffs], Sat Jun 6 22:13:04 2009 UTC (14 years, 9 months ago) by bouyer
Branch: netbsd-5-0
CVS Tags: netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b
Branch point for: matt-nb5-mips64
Changes since 1.24: +11 -6 lines
Diff to previous 1.24 (colored) next main 1.25 (colored) to selected 1.46 (colored)

Pull up following revision(s) (requested by rmind in ticket #791):
	sys/kern/sched_4bsd.c: revision 1.25
sched_pstats_hook: fix estcpu decay.
this makes my desktop usable when running "make -j4".

Revision 1.24.4.1 / (download) - annotate - [select for diffs], Sat Jun 6 22:12:44 2009 UTC (14 years, 9 months ago) by bouyer
Branch: netbsd-5
CVS Tags: 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, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.24: +11 -6 lines
Diff to previous 1.24 (colored) next main 1.25 (colored) to selected 1.46 (colored)

Pull up following revision(s) (requested by rmind in ticket #791):
	sys/kern/sched_4bsd.c: revision 1.25
sched_pstats_hook: fix estcpu decay.
this makes my desktop usable when running "make -j4".

Revision 1.25 / (download) - annotate - [select for diffs], Sun May 31 04:13:33 2009 UTC (14 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, matt-premerge-20091211, matt-mips64-premerge-20101231, jymxensuspend-base, jym-xensuspend-nbase, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: rmind-uvmplock, jruoho-x86intr
Changes since 1.24: +11 -6 lines
Diff to previous 1.24 (colored) to selected 1.46 (colored)

sched_pstats_hook: fix estcpu decay.
this makes my desktop usable when running "make -j4".

Revision 1.20.2.2 / (download) - annotate - [select for diffs], Mon May 4 08:13:47 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.20.2.1: +38 -33 lines
Diff to previous 1.20.2.1 (colored) to branchpoint 1.20 (colored) to selected 1.46 (colored)

sync with head.

Revision 1.13.6.3 / (download) - annotate - [select for diffs], Sat Jan 17 13:29:19 2009 UTC (15 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.13.6.2: +3 -18 lines
Diff to previous 1.13.6.2 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.23.4.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:17:28 2008 UTC (15 years, 5 months ago) by haad
Branch: haad-dm
Changes since 1.23: +5 -20 lines
Diff to previous 1.23 (colored) next main 1.24 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.21.2.2 / (download) - annotate - [select for diffs], Fri Oct 10 22:34:14 2008 UTC (15 years, 5 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.21.2.1: +5 -20 lines
Diff to previous 1.21.2.1 (colored) to branchpoint 1.21 (colored) next main 1.22 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.24 / (download) - annotate - [select for diffs], Tue Oct 7 09:48:27 2008 UTC (15 years, 5 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base4, yamt-nfs-mp-base3, wrstuden-revivesa-base-4, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, mjf-devfs2-base, 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: netbsd-5-0, netbsd-5, jym-xensuspend
Changes since 1.23: +5 -20 lines
Diff to previous 1.23 (colored) to selected 1.46 (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.21.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:31:51 2008 UTC (15 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.21: +35 -15 lines
Diff to previous 1.21 (colored) to selected 1.46 (colored)

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

Revision 1.19.2.2 / (download) - annotate - [select for diffs], Wed Jun 4 02:05:39 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.19.2.1: +35 -15 lines
Diff to previous 1.19.2.1 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored) to selected 1.46 (colored)

sync with head

Revision 1.13.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:10 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.13.6.1: +60 -320 lines
Diff to previous 1.13.6.1 (colored) to branchpoint 1.13 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.23 / (download) - annotate - [select for diffs], Sun May 25 22:04:50 2008 UTC (15 years, 10 months ago) by ad
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
Branch point for: haad-dm
Changes since 1.22: +34 -13 lines
Diff to previous 1.22 (colored) to selected 1.46 (colored)

sched_tick:

- Do timeslicing for SCHED_RR threads. At ~16Hz it's too slow but better
  than nothing. XXX

- If a SCHED_OTHER thread has hogged the CPU for 1/8s without taking a
  trip through mi_switch(), try to force a kernel preemption to give other
  threads a chance.

Revision 1.22 / (download) - annotate - [select for diffs], Mon May 19 12:48:54 2008 UTC (15 years, 10 months ago) by rmind
Branch: MAIN
CVS Tags: hpcarm-cleanup-nbase
Changes since 1.21: +3 -4 lines
Diff to previous 1.21 (colored) to selected 1.46 (colored)

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

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:09 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.19: +6 -13 lines
Diff to previous 1.19 (colored) to selected 1.46 (colored)

sync with head.

Revision 1.20.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:26 2008 UTC (15 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.20: +2 -9 lines
Diff to previous 1.20 (colored) to selected 1.46 (colored)

sync with head.

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

Remove clause 3 and 4 from TNF licenses

Revision 1.20 / (download) - annotate - [select for diffs], Thu Apr 24 18:39:24 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.19: +6 -6 lines
Diff to previous 1.19 (colored) to selected 1.46 (colored)

Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, since
we no longer need to guard against access from hardware interrupt handlers.

Additionally, if cloning a process with CLONE_SIGHAND, arrange to have the
child process share the parent's lock so that signal state may be kept in
sync. Partially addresses PR kern/37437.

Revision 1.19 / (download) - annotate - [select for diffs], Thu Apr 17 14:03:42 2008 UTC (15 years, 11 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base
Branch point for: yamt-pf42
Changes since 1.18: +5 -3 lines
Diff to previous 1.18 (colored) to selected 1.46 (colored)

sched_tick: don't expire timeslices for SCHED_FIFO lwps.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Apr 14 09:40:43 2008 UTC (15 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.17: +2 -4 lines
Diff to previous 1.17 (colored) to selected 1.46 (colored)

remove unnecessary __MUTEX_PRIVATE.

Revision 1.17 / (download) - annotate - [select for diffs], Mon Apr 14 09:39:31 2008 UTC (15 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.16: +3 -5 lines
Diff to previous 1.16 (colored) to selected 1.46 (colored)

make decay_cpu static.

Revision 1.16 / (download) - annotate - [select for diffs], Sat Apr 12 17:02:08 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.15: +23 -294 lines
Diff to previous 1.15 (colored) to selected 1.46 (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.13.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:43:03 2008 UTC (15 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.13: +8 -7 lines
Diff to previous 1.13 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Apr 2 17:40:15 2008 UTC (15 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.14: +6 -5 lines
Diff to previous 1.14 (colored) to selected 1.46 (colored)

sched_tick: only case a preemption if the current thread is hogging the CPU,
or if we are idle and should look for new work (matters with per-CPU queues).

Revision 1.13.2.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:16:14 2008 UTC (16 years ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.13: +4 -4 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.46 (colored)

sync with head.

Revision 1.4.2.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:00 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.4.2.2: +35 -8 lines
Diff to previous 1.4.2.2 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored) to selected 1.46 (colored)

sync with HEAD

Revision 1.4.4.8 / (download) - annotate - [select for diffs], Mon Mar 17 09:15:33 2008 UTC (16 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.4.4.7: +4 -4 lines
Diff to previous 1.4.4.7 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored) to selected 1.46 (colored)

sync with head.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Feb 27 19:57:32 2008 UTC (16 years, 1 month ago) by matt
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.13: +4 -4 lines
Diff to previous 1.13 (colored) to selected 1.46 (colored)

Convert to ansi definitions from old-style definitons.
Remember that func() is not ansi, func(void) is.

Revision 1.4.4.7 / (download) - annotate - [select for diffs], Wed Feb 27 08:36:56 2008 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.4.4.6: +7 -4 lines
Diff to previous 1.4.4.6 (colored) to branchpoint 1.4 (colored) to selected 1.46 (colored)

sync with head.

Revision 1.7.4.4 / (download) - annotate - [select for diffs], Mon Feb 18 21:06:46 2008 UTC (16 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.7.4.3: +33 -6 lines
Diff to previous 1.7.4.3 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Feb 14 14:26:57 2008 UTC (16 years, 1 month 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.12: +7 -4 lines
Diff to previous 1.12 (colored) to selected 1.46 (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.4.4.6 / (download) - annotate - [select for diffs], Mon Jan 21 09:46:16 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.4.4.5: +32 -8 lines
Diff to previous 1.4.4.5 (colored) to branchpoint 1.4 (colored) to selected 1.46 (colored)

sync with head

Revision 1.9.4.2 / (download) - annotate - [select for diffs], Sat Jan 19 12:15:23 2008 UTC (16 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.9.4.1: +26 -2 lines
Diff to previous 1.9.4.1 (colored) to branchpoint 1.9 (colored) next main 1.10 (colored) to selected 1.46 (colored)

Sync with HEAD

Revision 1.12 / (download) - annotate - [select for diffs], Tue Jan 15 03:37:11 2008 UTC (16 years, 2 months ago) by rmind
Branch: MAIN
CVS Tags: bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.11: +28 -4 lines
Diff to previous 1.11 (colored) to selected 1.46 (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.4.2.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:56:13 2008 UTC (16 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.4.2.1: +6 -6 lines
Diff to previous 1.4.2.1 (colored) to branchpoint 1.4 (colored) to selected 1.46 (colored)

sync with HEAD

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

Sync with HEAD

Revision 1.7.4.3 / (download) - annotate - [select for diffs], Thu Dec 27 00:46:06 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.7.4.2: +6 -6 lines
Diff to previous 1.7.4.2 (colored) to branchpoint 1.7 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.8.2.2 / (download) - annotate - [select for diffs], Wed Dec 26 21:39:42 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.8.2.1: +6 -6 lines
Diff to previous 1.8.2.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored) to selected 1.46 (colored)

Sync with head.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Dec 21 12:05:39 2007 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: vmlocking2-base3, matt-armv6-base
Changes since 1.10: +3 -3 lines
Diff to previous 1.10 (colored) to selected 1.46 (colored)

KM_NOSLEEP -> KM_SLEEP for clarity.

Revision 1.10 / (download) - annotate - [select for diffs], Sat Dec 15 03:31:36 2007 UTC (16 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.9: +5 -5 lines
Diff to previous 1.9 (colored) to selected 1.46 (colored)

sched_mutex -> runqueue_lock

Revision 1.3.8.4 / (download) - annotate - [select for diffs], Sun Dec 9 19:38:22 2007 UTC (16 years, 3 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.3.8.3: +3 -3 lines
Diff to previous 1.3.8.3 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.7.4.2 / (download) - annotate - [select for diffs], Sat Dec 8 18:20:34 2007 UTC (16 years, 3 months ago) by mjf
Branch: mjf-devfs
Changes since 1.7.4.1: +3 -3 lines
Diff to previous 1.7.4.1 (colored) to branchpoint 1.7 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.8.2.1 / (download) - annotate - [select for diffs], Sat Dec 8 17:57:44 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored) to selected 1.46 (colored)

Sync with head.

Revision 1.4.4.5 / (download) - annotate - [select for diffs], Fri Dec 7 17:32:55 2007 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.4.4.4: +3 -3 lines
Diff to previous 1.4.4.4 (colored) to branchpoint 1.4 (colored) to selected 1.46 (colored)

sync with head

Revision 1.9 / (download) - annotate - [select for diffs], Wed Dec 5 07:06:54 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-base2, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: bouyer-xeni386
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored) to selected 1.46 (colored)

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

Revision 1.7.4.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:48:46 2007 UTC (16 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.7: +221 -200 lines
Diff to previous 1.7 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.4.4.4 / (download) - annotate - [select for diffs], Thu Nov 15 11:44:47 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.4.4.3: +221 -200 lines
Diff to previous 1.4.4.3 (colored) to branchpoint 1.4 (colored) to selected 1.46 (colored)

sync with head.

Revision 1.7.2.1 / (download) - annotate - [select for diffs], Tue Nov 13 16:02:15 2007 UTC (16 years, 4 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.7: +221 -200 lines
Diff to previous 1.7 (colored) next main 1.8 (colored) to selected 1.46 (colored)

Sync with HEAD

Revision 1.4.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:32:08 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.4: +275 -235 lines
Diff to previous 1.4 (colored) to selected 1.46 (colored)

sync with HEAD

Revision 1.3.8.3 / (download) - annotate - [select for diffs], Tue Nov 6 19:25:32 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.3.8.2: +221 -200 lines
Diff to previous 1.3.8.2 (colored) to branchpoint 1.3 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Nov 6 00:42:43 2007 UTC (16 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: vmlocking2-base1, vmlocking-nbase, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: vmlocking2
Changes since 1.7: +221 -200 lines
Diff to previous 1.7 (colored) to selected 1.46 (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.1.6.16 / (download) - annotate - [select for diffs], Mon Nov 5 20:14:40 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.15: +11 -7 lines
Diff to previous 1.1.6.15 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.46 (colored)

Oops. Continue to decay l_estcpu for threads that are runnable.

Revision 1.1.6.15 / (download) - annotate - [select for diffs], Mon Nov 5 16:51:52 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.14: +12 -12 lines
Diff to previous 1.1.6.14 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Expand the LWP priority space again to include 32 levels for kthreads,
so that they always run before user processes.

Revision 1.1.6.14 / (download) - annotate - [select for diffs], Mon Nov 5 15:04:43 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.13: +26 -27 lines
Diff to previous 1.1.6.13 (colored) to branchpoint 1.1 (colored) to selected 1.46 (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.1.6.13 / (download) - annotate - [select for diffs], Thu Nov 1 21:58:21 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.12: +112 -129 lines
Diff to previous 1.1.6.12 (colored) to branchpoint 1.1 (colored) to selected 1.46 (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.4.4.3 / (download) - annotate - [select for diffs], Sat Oct 27 11:35:31 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.4.4.2: +65 -46 lines
Diff to previous 1.4.4.2 (colored) to branchpoint 1.4 (colored) to selected 1.46 (colored)

sync with head.

Revision 1.3.8.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:48:38 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.3.8.1: +65 -46 lines
Diff to previous 1.3.8.1 (colored) to branchpoint 1.3 (colored) to selected 1.46 (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.1.6.12 / (download) - annotate - [select for diffs], Wed Oct 24 11:57:59 2007 UTC (16 years, 5 months ago) by yamt
Branch: vmlocking
Changes since 1.1.6.11: +4 -4 lines
Diff to previous 1.1.6.11 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

resetpriority: fix bounds check.

Revision 1.1.6.11 / (download) - annotate - [select for diffs], Thu Oct 18 15:47:34 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.10: +9 -3 lines
Diff to previous 1.1.6.10 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Update for soft interrupt changes. See kern_softint.c 1.1.2.17 for details.

Revision 1.4.6.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:48:44 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.4: +65 -46 lines
Diff to previous 1.4 (colored) next main 1.5 (colored) to selected 1.46 (colored)

sync with head.

Revision 1.1.6.10 / (download) - annotate - [select for diffs], Wed Oct 10 23:03:24 2007 UTC (16 years, 5 months ago) by rmind
Branch: vmlocking
Changes since 1.1.6.9: +40 -33 lines
Diff to previous 1.1.6.9 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Oct 10 21:24:53 2007 UTC (16 years, 5 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base
Branch point for: mjf-devfs, bouyer-xenamd64
Changes since 1.6: +16 -14 lines
Diff to previous 1.6 (colored) to selected 1.46 (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.6 / (download) - annotate - [select for diffs], Tue Oct 9 19:00:15 2007 UTC (16 years, 5 months ago) by rmind
Branch: MAIN
Changes since 1.5: +31 -23 lines
Diff to previous 1.5 (colored) to selected 1.46 (colored)

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!

Revision 1.1.6.9 / (download) - annotate - [select for diffs], Mon Oct 8 20:26:13 2007 UTC (16 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.8: +108 -78 lines
Diff to previous 1.1.6.8 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Try to fix a number of problems with the scheduler since the priority scale
was turned on its head. There is still a problem: sometimes preemption of
user LWPs seems to stop working and interactivty gets pretty bad.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Oct 8 20:06:19 2007 UTC (16 years, 5 months ago) by ad
Branch: MAIN
Changes since 1.4: +22 -13 lines
Diff to previous 1.4 (colored) to selected 1.46 (colored)

Merge run time accounting changes from the vmlocking branch. These make
the LWP "start time" per-thread instead of per-CPU.

Revision 1.4.4.2 / (download) - annotate - [select for diffs], Mon Sep 3 14:41:00 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.4.4.1: +743 -0 lines
Diff to previous 1.4.4.1 (colored) to branchpoint 1.4 (colored) to selected 1.46 (colored)

sync with head.

Revision 1.1.6.8 / (download) - annotate - [select for diffs], Sun Aug 26 12:04:47 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.7: +5 -4 lines
Diff to previous 1.1.6.7 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

- Add a generic cross-call facility. Right now this only does threaded cross
  calls but that should be extended to do IPIs. These are deliberately set
  up as bound kthreads (and not soft interrupts or something else) so that
  the called functions can use the spl framework or disable preemption in
  order to guarantee exclusive access to CPU-local data.

- Use cross calls to take CPUs online or offline. Ok to do since bound LWPs
  still execute on offline CPUs. As a result schedstate_percpu's::spc_flags
  is CPU-local again and doesn't need locking.

Revision 1.1.6.7 / (download) - annotate - [select for diffs], Tue Aug 21 13:59:44 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.6: +3 -3 lines
Diff to previous 1.1.6.6 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

A few minor corrections around calls to cpu_need_resched().

Revision 1.1.6.6 / (download) - annotate - [select for diffs], Mon Aug 20 21:27:36 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.5: +18 -5 lines
Diff to previous 1.1.6.5 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.3.4.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:49:11 2007 UTC (16 years, 7 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.3: +18 -5 lines
Diff to previous 1.3 (colored) next main 1.4 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.3.8.1 / (download) - annotate - [select for diffs], Sat Aug 4 12:33:15 2007 UTC (16 years, 7 months ago) by jmcneill
Branch: jmcneill-pm
Changes since 1.3: +18 -5 lines
Diff to previous 1.3 (colored) to selected 1.46 (colored)

Sync with HEAD.

Revision 1.4.8.2 / (download) - annotate - [select for diffs], Sat Aug 4 11:03:03 2007 UTC (16 years, 7 months ago) by ad
Branch: matt-mips64
Changes since 1.4.8.1: +743 -0 lines
Diff to previous 1.4.8.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored) to selected 1.46 (colored)

Add cpuctl(8). For now this is not much more than a toy for debugging and
benchmarking that allows taking CPUs online/offline.

Revision 1.4.8.1, Sat Aug 4 11:03:02 2007 UTC (16 years, 7 months ago) by ad
Branch: matt-mips64
Changes since 1.4: +0 -743 lines
FILE REMOVED

file sched_4bsd.c was added on branch matt-mips64 on 2007-08-04 11:03:03 +0000

Revision 1.4.4.1, Sat Aug 4 11:03:02 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.4: +0 -743 lines
FILE REMOVED

file sched_4bsd.c was added on branch yamt-lazymbuf on 2007-09-03 14:40:59 +0000

Revision 1.4 / (download) - annotate - [select for diffs], Sat Aug 4 11:03:02 2007 UTC (16 years, 7 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, yamt-lazymbuf, matt-mips64, matt-armv6
Changes since 1.3: +18 -5 lines
Diff to previous 1.3 (colored) to selected 1.46 (colored)

Add cpuctl(8). For now this is not much more than a toy for debugging and
benchmarking that allows taking CPUs online/offline.

Revision 1.1.6.5 / (download) - annotate - [select for diffs], Sat Jul 14 22:09:48 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.4: +19 -12 lines
Diff to previous 1.1.6.4 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Make it possible to track time spent by soft interrupts as is done for
normal LWPs, and provide a sysctl to switch it on/off. Not enabled by
default because microtime() is not free. XXX Not happy with this but
I want it get it out of my local tree for the time being.

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Wed Jul 11 20:10:01 2007 UTC (16 years, 8 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.3.2.1: +730 -0 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored) to selected 1.46 (colored)

Sync with head.

Revision 1.3.2.1, Mon Jul 9 21:10:55 2007 UTC (16 years, 8 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.3: +0 -730 lines
FILE REMOVED

file sched_4bsd.c was added on branch mjf-ufs-trans on 2007-07-11 20:10:00 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Mon Jul 9 21:10:55 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base, hpcarm-cleanup
Branch point for: nick-csl-alignment, mjf-ufs-trans, jmcneill-pm
Changes since 1.2: +5 -6 lines
Diff to previous 1.2 (colored) to selected 1.46 (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.1.6.4 / (download) - annotate - [select for diffs], Sat Jul 7 11:56:11 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.3: +11 -15 lines
Diff to previous 1.1.6.3 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

- Remove the interrupt priority range and use 'kernel RT' instead,
  since only soft interrupts are threaded.
- Rename l->l_pinned to l->l_switchto. It might be useful for (re-)
  implementing SA or doors.
- Simplify soft interrupt dispatch so MD code is doing as little as
  possible that is new.

Revision 1.1.6.3 / (download) - annotate - [select for diffs], Sun Jul 1 21:43:41 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.2: +2 -3 lines
Diff to previous 1.1.6.2 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

- Adapt to callout API change.
- Add a counter to track how often soft interrupts sleep.

Revision 1.1.6.2 / (download) - annotate - [select for diffs], Sun Jun 17 21:31:29 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.1.6.1: +28 -21 lines
Diff to previous 1.1.6.1 (colored) to branchpoint 1.1 (colored) to selected 1.46 (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.1.6.1 / (download) - annotate - [select for diffs], Fri Jun 8 14:17:24 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.1: +731 -0 lines
Diff to previous 1.1 (colored) to selected 1.46 (colored)

Sync with head.

Revision 1.2 / (download) - annotate - [select for diffs], Thu May 17 14:51:41 2007 UTC (16 years, 10 months ago) by yamt
Branch: MAIN
Changes since 1.1: +731 -0 lines
Diff to previous 1.1 (colored) to selected 1.46 (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.1.2.31 / (download) - annotate - [select for diffs], Sun May 13 17:02:59 2007 UTC (16 years, 10 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.1.2.30: +5 -5 lines
Diff to previous 1.1.2.30 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored) to selected 1.46 (colored)

Assign a per-CPU lock to LWPs as they transition into the ONPROC state.

http://mail-index.netbsd.org/tech-kern/2007/05/06/0003.html

Revision 1.1.2.30 / (download) - annotate - [select for diffs], Mon May 7 11:03:58 2007 UTC (16 years, 10 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.29: +4 -4 lines
Diff to previous 1.1.2.29 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

update comments.

Revision 1.1.2.29 / (download) - annotate - [select for diffs], Mon Apr 30 16:38:36 2007 UTC (16 years, 11 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.1.2.28: +14 -15 lines
Diff to previous 1.1.2.28 (colored) to branchpoint 1.1 (colored) to selected 1.46 (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.1.2.28 / (download) - annotate - [select for diffs], Wed Apr 25 08:34:36 2007 UTC (16 years, 11 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.27: +1 -2 lines
Diff to previous 1.1.2.27 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

unwrap a short line.

Revision 1.1.2.27 / (download) - annotate - [select for diffs], Sun Apr 22 08:27:00 2007 UTC (16 years, 11 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.26: +3 -3 lines
Diff to previous 1.1.2.26 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

remove inline from sched_pstats_hook.

Revision 1.1.2.26 / (download) - annotate - [select for diffs], Wed Apr 18 12:35:42 2007 UTC (16 years, 11 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.1.2.25: +4 -3 lines
Diff to previous 1.1.2.25 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

sched_curcpu_runnable_p: also consider the per-cpu queue.

Revision 1.1.2.25 / (download) - annotate - [select for diffs], Mon Apr 16 23:51:35 2007 UTC (16 years, 11 months ago) by ad
Branch: yamt-idlelwp
Changes since 1.1.2.24: +29 -6 lines
Diff to previous 1.1.2.24 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Add rudimentary support for bound kernel threads. Needed for handling
interrupts with LWPs, and may also be useful for workqueues.

Revision 1.1.2.24 / (download) - annotate - [select for diffs], Tue Apr 3 15:23:26 2007 UTC (16 years, 11 months ago) by matt
Branch: yamt-idlelwp
Changes since 1.1.2.23: +2 -15 lines
Diff to previous 1.1.2.23 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Nuke __HAVE_BITENDIAN_BITOPS

Revision 1.1.2.23 / (download) - annotate - [select for diffs], Mon Apr 2 00:28:09 2007 UTC (17 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.1.2.22: +23 -139 lines
Diff to previous 1.1.2.22 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

- Move the ccpu sysctl back to the scheduler-independent part.
- Move the scheduler-independent parts of 4BSD's schedcpu() to
  kern_synch.c.
- Add scheduler-specific hook to satisfy individual scheduler's
  needs.
- Remove autonice, which is archaic and not useful.

Patch provided by Daniel Sieger.

Revision 1.1.2.22 / (download) - annotate - [select for diffs], Sat Mar 24 16:50:26 2007 UTC (17 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.1.2.21: +4 -4 lines
Diff to previous 1.1.2.21 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

sched_nextlwp: Remove struct lwp * argument, it is no longer needed.
Note by yamt@

Revision 1.1.2.21 / (download) - annotate - [select for diffs], Sat Mar 24 15:11:20 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.20: +3 -3 lines
Diff to previous 1.1.2.20 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

kill caddr_t.

Revision 1.1.2.20 / (download) - annotate - [select for diffs], Sat Mar 24 11:36:02 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.19: +9 -12 lines
Diff to previous 1.1.2.19 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

initialize ci->ci_schedstate.spc_mutex of APs.
(sched_rqinit is called before APs are attached.)

Revision 1.1.2.19 / (download) - annotate - [select for diffs], Sat Mar 24 00:43:08 2007 UTC (17 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.1.2.18: +22 -7 lines
Diff to previous 1.1.2.18 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Checkpoint:
- Abstract for per-CPU locking of runqueues.
  As a workaround for SCHED_4BSD global runqueue, covered by sched_mutex,
  spc_mutex is a pointer for now. After making SCHED_4BSD runqueues
  per-CPU, it will became a storage mutex.
- suspendsched: Locking is not necessary for cpu_need_resched().
- Remove mutex_spin_exit() prototype in patch.c and LOCK_ASSERT() check
  in runqueue_nextlwp() in sched_4bsd.c to make them compile again.

Revision 1.1.2.18 / (download) - annotate - [select for diffs], Fri Mar 23 17:20:24 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.17: +3 -4 lines
Diff to previous 1.1.2.17 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

KNF.

Revision 1.1.2.17 / (download) - annotate - [select for diffs], Fri Mar 23 17:00:15 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.16: +4 -10 lines
Diff to previous 1.1.2.16 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

reduce number of #ifdef.

Revision 1.1.2.16 / (download) - annotate - [select for diffs], Fri Mar 23 16:29:51 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.15: +188 -187 lines
Diff to previous 1.1.2.15 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

- put sched_qs and sched_whichqs into a single structure.
  tweak relevant functions to take a pointer to the structure.
- kill __HAVE_MD_RUNQUEUE.  XXX we need fls(9) for __HAVE_BIGENDIAN_BITOPS.

Revision 1.1.2.15 / (download) - annotate - [select for diffs], Fri Mar 23 15:13:38 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.14: +13 -13 lines
Diff to previous 1.1.2.14 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

make several things static, so that they can't be abused.

Revision 1.1.2.14 / (download) - annotate - [select for diffs], Fri Mar 23 14:47:32 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.13: +11 -6 lines
Diff to previous 1.1.2.13 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

KNF.

Revision 1.1.2.13 / (download) - annotate - [select for diffs], Tue Mar 20 11:26:51 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.12: +3 -3 lines
Diff to previous 1.1.2.12 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

- revive schedclock and rename sched_clock to sched_schedclock.
  (yes, a poor name...)
  make schedclock check if curlwp is idle.
- statclock: in the case of schedhz==0, call schedclock periodically,
  regardless of idleness.
- fix a comment.  (don't assume schedhz==0.)

Revision 1.1.2.12 / (download) - annotate - [select for diffs], Sat Mar 17 17:11:43 2007 UTC (17 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.1.2.11: +3 -3 lines
Diff to previous 1.1.2.11 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

sched_switch() -> sched_nextlwp()

Revision 1.1.2.11 / (download) - annotate - [select for diffs], Sat Mar 17 16:54:37 2007 UTC (17 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.1.2.10: +4 -15 lines
Diff to previous 1.1.2.10 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Do not do an implicit enqueue in sched_switch(), move enqueueing back to
the dispatcher. Rename sched_switch() back to sched_nextlwp(). Add for
sched_enqueue() new argument, which indicates the calling from mi_switch().

Requested by yamt@

Revision 1.1.2.10 / (download) - annotate - [select for diffs], Sat Mar 10 13:40:49 2007 UTC (17 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.1.2.9: +3 -3 lines
Diff to previous 1.1.2.9 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

Create kern.sched.name correctly.
Pointed out by Daniel Sieger.

Revision 1.1.2.9 / (download) - annotate - [select for diffs], Fri Mar 9 15:16:25 2007 UTC (17 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.1.2.8: +61 -8 lines
Diff to previous 1.1.2.8 (colored) to branchpoint 1.1 (colored) to selected 1.46 (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.1.2.8 / (download) - annotate - [select for diffs], Tue Feb 27 16:54:26 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.7: +6 -33 lines
Diff to previous 1.1.2.7 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

- sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.

Revision 1.1.2.7 / (download) - annotate - [select for diffs], Mon Feb 26 09:18:09 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.6: +3 -3 lines
Diff to previous 1.1.2.6 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

add an "immediate" flag for cpu_need_resched().  suggested by Andrew Doran.

Revision 1.1.2.6 / (download) - annotate - [select for diffs], Fri Feb 23 15:57:45 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.5: +3 -4 lines
Diff to previous 1.1.2.5 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

- introduce sys/cpu.h which has cpu_idle and cpu_need_resched.
- use it where appropriate.
- while i'm here, remove several unnecessary #include.

Revision 1.1.2.5 / (download) - annotate - [select for diffs], Fri Feb 23 12:00:30 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.4: +3 -3 lines
Diff to previous 1.1.2.4 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

remove an SCHED_4BSD #ifdef (schedclock).  from Daniel Sieger.
discussed on tech-kern@.

Revision 1.1.2.4 / (download) - annotate - [select for diffs], Wed Feb 21 12:11:37 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.3: +7 -7 lines
Diff to previous 1.1.2.3 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

update comments and panic messages.

Revision 1.1.2.3 / (download) - annotate - [select for diffs], Wed Feb 21 12:06:41 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.2: +3 -3 lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

whitespace.

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Wed Feb 21 12:05:49 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1.2.1: +2 -9 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) to selected 1.46 (colored)

remove some unnecessary #include.

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Tue Feb 20 21:48:46 2007 UTC (17 years, 1 month ago) by rmind
Branch: yamt-idlelwp
Changes since 1.1: +820 -0 lines
Diff to previous 1.1 (colored) to selected 1.46 (colored)

General Common Scheduler Framework (CSF) patch import. Huge thanks for
Daniel Sieger <dsieger at TechFak.Uni-Bielefeld de> for this work.

Short abstract: Split the dispatcher from the scheduler in order to
make the scheduler more modular. Introduce initial API for other
schedulers' implementations.

Discussed in tech-kern@
OK: yamt@, ad@

Note: further work will go soon.

Revision 1.1, Tue Feb 20 21:48:46 2007 UTC (17 years, 1 month ago) by rmind
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp, vmlocking
FILE REMOVED

file sched_4bsd.c was initially added on branch yamt-idlelwp.

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>