On Thu, 14 Jun 2012 03:48:12 +0200
Ariane van der Steldt ari...@stack.nl wrote:
Hi,
This diff implements yielding in the vm system, with the intention to
make expensive system calls preempt every once in a while, to allow
userland system calls to progress.
The diff has a name
On Fri, Jun 15, 2012 at 18:07, Ariane van der Steldt wrote:
I'm wondering if
if (curcpu()-ci_schedstate.spc_schedflags SPCF_SHOULDYIELD)
preempt(NULL);
shouldn't be a special function in kern_sched, I suspect its useful for
more parts of the kernel (although I wouldn't know which ones).
In
On Thu, Jun 14, 2012 at 03:48:12AM +0200, Ariane van der Steldt wrote:
Hi,
This diff implements yielding in the vm system, with the intention to
make expensive system calls preempt every once in a while, to allow
userland system calls to progress.
It's a very conservative application at
Date: Thu, 14 Jun 2012 14:13:25 +0200
From: Ariane van der Steldt ari...@stack.nl
Cc: a...@caoua.org, tech@openbsd.org
Content-Disposition: inline
X-CNFS-Analysis: v=2.0 cv=BoYqN/r5 c=1 sm=0 a=GztW+Mr2qRhXIB90GGmOig==:17
a=wom5GMh1gUkA:10 a=90mjwyQIHKgA:10 a=kj9zAlcOel0A:10
.
If neither is true, we don't preempt (thus not calling mpswitch(), not
releasing the kernel lock etc etc). For this reason it doesn't work
well on SMP. Unfortunately the above conditions may be false if for ex
2 processes are spread out across 2 cpus: the cpu with the biglock will
not
Hi,
This diff implements yielding in the vm system, with the intention to
make expensive system calls preempt every once in a while, to allow
userland system calls to progress.
It's a very conservative application at the moment, only interleaving
during memory unmapping. If this works, we can