ref: 3d1908d762c6e91e0b6fe2e235e85bdf397d092d
parent: 04b8539ee29154c7455027c4cae457db79ad8fb7
author: cinap_lenrek <[email protected]>
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++;