Date: Thu, 23 Jan 1997 00:01:30 +1100 From: Bruce Evans <bde@zeta.org.au> To: mark@grondar.za, syssgm@devetir.qld.gov.au Cc: dyson@freebsd.org, freebsd-current@freebsd.org Subject: Re: VM bogon? Was: Re: NIS breakage Message-ID: <199701221301.AAA18843@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>In fact, I'm now so keen on my hypothesis that I've written some code. >Unfortunately, I have no -current box to test it on. Thus, if Mr Murry >wishes to risk all, the following patch may help. I haven't checked yet, but perhaps the problem with vi completely paged out is that the check accesses an unmapped PTE and the fault for this refuses to map the page. The validity checking for ordinary pages is fishy. Consider repeatedly reading a 2*N MB block on an N MB system. After the first read, at least half of the block should be user writable but swapped out. Prefaulting it all in probably doesn't change this state. It just increases swap activity. I think trapwrite() should only be called when PG_W is clear. This is the only case where the i386 loses. In particular, trapwrite() should not be called just to prefault pages when PG_V is clear, PG_RW is set and PG_U is set. Is it possible for a process to change the permissions for shared memory while another process is accessing the memory in copyout()? Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701221301.AAA18843>