git: 9front

Download patch

ref: 1dc04f59707197647a16601d6e2185c5804dc190
parent: 56fb9222015f66c3d6c10aa566b9392ae903e641
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Jun 2 13:02:43 EDT 2017

kernel: don't preempt pager during fscache reclaim

the fscache image is the main source for pages once
the page freelist got exhausted, so delay scheduling
until they release the fscache lock.

--- a/sys/src/9/port/proc.c
+++ b/sys/src/9/port/proc.c
@@ -141,6 +141,7 @@
 		if(up->state != Moribund)
 		if(up->delaysched < 20
 		|| palloc.Lock.p == up
+		|| fscache.Lock.p == up
 		|| procalloc.Lock.p == up){
 			up->delaysched++;
  			delayedscheds++;
--