[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVS: cvs.openbsd.org: src



CVSROOT:	/cvs
Module name:	src
Changes by:	art_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org	2009/04/14 03:13:25

Modified files:
	sys/kern       : kern_fork.c kern_sched.c kern_synch.c 
	                 sched_bsd.c 
	sys/sys        : proc.h sched.h 

Log message:
Some tweaks to the cpu affinity code.
- Split up choosing of cpu between fork and "normal" cases. Fork is
very different and should be treated as such.
- Instead of implicitly choosing a cpu in setrunqueue, do it outside
where it actually makes sense.
- Just because a cpu is marked as idle doesn't mean it will be soon.
There could be a thundering herd effect if we call wakeup from an
interrupt handler, so subtract cpus with queued processes when
deciding which cpu is actually idle.
- some simplifications allowed by the above.

kettenis@ ok (except one bugfix that was not in the intial diff)



Visit your host, monkey.org