Commit Graph

162414 Commits

Author SHA1 Message Date
pooka ad16af9917 g/c more unused stuff 2007-10-09 20:57:06 +00:00
rmind ae7946d0ba - Mention SCHED_M2 in the recent changes;
- Scheduler works will be in 5.0 release;
- Mention NUMA in the roadmap;

P.S. Everyone: please sync the ROADMAP with the
reality and the works you do.
2007-10-09 19:32:19 +00:00
rmind a21233e46b 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!
2007-10-09 19:00:13 +00:00
martin 96c59cac10 Minor cosmetics 2007-10-09 18:45:56 +00:00
martin e9705aba47 Clear the remainder of the status line after updating it - this allows
messages to be of arbitrary length w/o leaving garbage from previous
ones.
2007-10-09 18:43:26 +00:00
rmind f07012313b mq_receive1: Handle the possible dereference, when cv_timedwait_sig() awakes
normally (without the error) and MQ_UNLINK is set.
From CID: 4565.
2007-10-09 18:27:00 +00:00
rmind 25e540085b Add cancellation stubs in libpthread for POSIX messages queues and
asynchronous I/O.

OK by <ad>.
2007-10-09 18:18:33 +00:00
ad 0b82374265 Merge from vmlocking: add more calls to DELAY(). 2007-10-09 16:53:00 +00:00
pooka 4a4ec123bd g/c vntouser_req(), it's not used anymore 2007-10-09 15:49:34 +00:00
ad 2823fb7428 Defer wakeup() to a soft interrupt, since lptintr() can be called above
IPL_SCHED.
2007-10-09 12:45:27 +00:00
ad a6aa4ab63d splstatclock -> splhigh 2007-10-09 12:23:51 +00:00
xtraeme 2e75cc0f7b - Do not allow a 'critical-{max,min}' property in battery
sensors (those that contain the 'want-percentage' object on its
  dictionary), the 'critical-capacity' prop must be used instead.

- When setting a 'critical-{max,min}' property check if the value is
  higher than the 'max-value' or lower than the 'min-value' on its
  dictionary, raise an error if it's true.
2007-10-09 08:00:46 +00:00
sjg 3a5409e4eb Fix an off-by-one error in handing mal-formed modifiers.
The issue seems to have been present for some time, only showed up
when running unit-tests on SunOS.
Make sure we get an error message, but otherwise behave as before.
2007-10-09 05:55:03 +00:00
rmind 662df2e4ad - Style, consistency;
- Replace most panic() checks with KASSERT();
- msgrcv1: Improve readability;
- Remove #ifdef ENOMSG;

No function changes of the interface are intented.
2007-10-09 03:27:37 +00:00
xtraeme eed1cc9bc8 Fix a typo that prevented a 'critical-capacity' property to
be added.
2007-10-09 02:29:37 +00:00
mrg 862626dd09 two new hacks:
- include <stdbool.h> so bool is available _KERNEL for sys/condvar.h
- include <sys/mutex.h> before defining _KERNEL so it won't try to
  include <machine/intr.h> which isn't available to userland.

fixes builds on sparc64.
2007-10-09 01:23:20 +00:00
ad 3465d8db6f Add defs for hppa. From he@. 2007-10-09 00:59:52 +00:00
ad 32c802b054 Add "mqueue" to DTYPE_NAMES. 2007-10-08 23:20:38 +00:00
ad 0e7216ebf1 brelse() now takes two args. 2007-10-08 21:42:33 +00:00
ad 9c5739f1c6 brelse() now takes two arguments. 2007-10-08 21:41:12 +00:00
ad fe44973fe3 Give brelse() a second argument so that it matches the kernel.
fsck_lfs now compiles again.
2007-10-08 21:39:49 +00:00
tls 0a012aa1c5 Fix accidental USE_SSP -> USE_FORT: now USE_SSP works as intended for
kernel builds.  Thanks to xtraeme for pointing this out.
2007-10-08 21:25:35 +00:00
sjg e73405e272 Use .MAKE.MAKEFILES to track all the makefiles that have been read
so they can be used in dependency rules.
2007-10-08 20:26:36 +00:00
ad c97e9c4ea7 brelse() stragglers. 2007-10-08 20:12:05 +00:00
ad 36a1712707 Merge run time accounting changes from the vmlocking branch. These make
the LWP "start time" per-thread instead of per-CPU.
2007-10-08 20:06:17 +00:00
ad 0ee29bef4d Missed brelse() change. 2007-10-08 19:22:04 +00:00
ad 0a0689eebd Merge from vmlocking: fix LWP reference counting problems. 2007-10-08 18:11:11 +00:00
ad 16598eeedf Merge from vmlocking: don't hold scheduler locks across copyout(). 2007-10-08 18:09:37 +00:00
ad 62fdbc4b9a LOCK_ASSERT -> KASSERT 2007-10-08 18:07:24 +00:00
ad 9f56dfa520 Merge brelse() changes from the vmlocking branch. 2007-10-08 18:02:53 +00:00
ad 5c3b2b3f2d Merge ffs locking & brelse changes from the vmlocking branch. 2007-10-08 18:01:27 +00:00
ad 6eb1b4f21a Include sys/cpu.h for archs that don't have CPU_INFO_ITERATOR. Spotted
by dsieger@.
2007-10-08 17:26:40 +00:00
ad fbf4a82ac2 Merge from vmlocking: cosmetic change. 2007-10-08 17:02:51 +00:00
ad 59904ecbd2 Merge from vmlocking: fix dodgy use of VOP_ISLOCKED(). 2007-10-08 17:01:43 +00:00
ad d50d28b794 Merge from vmlocking: in cdev_tty() check d_tty != NULL. 2007-10-08 16:54:09 +00:00
ad 1d7050e5e2 Merge from vmlocking: fix many timing problems on mips. 2007-10-08 16:52:49 +00:00
ad be0770a433 Merge from vmlocking: use mutexes and the softint API. 2007-10-08 16:50:45 +00:00
ad 2af68666da Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.
2007-10-08 16:41:05 +00:00
ad 46ed8f7d77 Use the softint API. 2007-10-08 16:18:02 +00:00
skrll c6deb42c81 Provide PTHREAD__ASM_RASOPS for alpha.
The gcc generated lock try RAS is broken as the store needs to be the last
instruction.
2007-10-08 16:04:43 +00:00
ad 342d5fc94f Add stubs that provide new soft interrupt API from the vmlocking branch.
For now these just pass through to the current softintr code.

(The naming is different to allow softint/softintr to co-exist for a while.
I'm hoping that should make it easier to transition.)
2007-10-08 15:51:02 +00:00
ad 402de3c455 Pull in sys/simplelock.h to fix build on sparc. 2007-10-08 15:45:54 +00:00
ad b6e1f76ba0 Fix merge error. 2007-10-08 15:13:12 +00:00
ad 451aacda90 Merge file descriptor locking, cwdi locking and cross-call changes
from the vmlocking branch.
2007-10-08 15:12:05 +00:00
martin cd2cd2dd63 Do another setjmp right before entering the command loop, we do not want
to execute the on-enter commands again on errors.
2007-10-08 15:06:26 +00:00
ad 82f39f6568 Fix merge error. 2007-10-08 14:14:55 +00:00
ad 15b0a1106e Merge from vmlocking: don't add a refrerence to a dying LWP. 2007-10-08 14:08:26 +00:00
ad 76e37ddd89 Merge from vmlocking: splstatclock is gone. 2007-10-08 14:07:23 +00:00
ad 0b87fda284 Merge from vmlocking: relax an assertion if panicstr != NULL. 2007-10-08 14:07:08 +00:00
ad 4de14a3313 Pad the hashlocks to 32-byte boundaries. 2007-10-08 14:06:15 +00:00