]> git.lizzy.rs Git - plan9front.git/commitdiff
kernel: don't preempt pager during fscache reclaim
authorcinap_lenrek <cinap_lenrek@felloff.net>
Fri, 2 Jun 2017 15:02:43 +0000 (17:02 +0200)
committercinap_lenrek <cinap_lenrek@felloff.net>
Fri, 2 Jun 2017 15:02:43 +0000 (17:02 +0200)
the fscache image is the main source for pages once
the page freelist got exhausted, so delay scheduling
until they release the fscache lock.

sys/src/9/port/proc.c

index e9a299c20875838f70a6fc54fbeecb566ec78d6b..5a98ac7472410d8699e7132b53e870d12760fad3 100644 (file)
@@ -141,6 +141,7 @@ sched(void)
                if(up->state != Moribund)
                if(up->delaysched < 20
                || palloc.Lock.p == up
+               || fscache.Lock.p == up
                || procalloc.Lock.p == up){
                        up->delaysched++;
                        delayedscheds++;