OpenBSD CVS

CVS log for src/lib/libkvm/kvm_proc.c


[BACK] Up to [local] / src / lib / libkvm

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: OPENBSD_4_3_BASE


Revision 1.35 / (download) - annotate - [select for diffs], Wed Oct 10 15:53:51 2007 UTC (16 years, 7 months ago) by art
Branch: MAIN
CVS Tags: OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.34: +2 -4 lines
Diff to previous 1.34 (colored)

Make context switching much more MI:
 - Move the functionality of choosing a process from cpu_switch into
   a much simpler function: cpu_switchto. Instead of having the locore
   code walk the run queues, let the MI code choose the process we
   want to run and only implement the context switching itself in MD
   code.
 - Let MD context switching run without worrying about spls or locks.
 - Instead of having the idle loop implemented with special contexts
   in MD code, implement one idle proc for each cpu. make the idle
   loop MI with MD hooks.
 - Change the proc lists from the old style vax queues to TAILQs.
 - Change the sleep queue from vax queues to TAILQs. This makes
   wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok

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.