Subject: Re: time traveling with physio
To: Chuck Silvers <chuq@chuq.com>
From: Stephan Uphoff <ups@stups.com>
List: tech-kern
Date: 07/14/2003 11:56:57
Hi,

Chuck Silvers wrote:
> hi,
> 
> the bit that should handle this is where uvm_fault() calls pmap_enter()
> with access_type that includes VM_PROT_WRITE in the case of writable
> wiring faults.  pmap_enter() is supposed to force the page to be
> marked dirty in this case.  is there a bug in there somewhere?
> 
> -Chuck

The i386 pmap_enter() does not force the page to be marked dirty.

	Stephan

> 
> 
> On Fri, Jul 11, 2003 at 02:52:26PM -0400, Stephan Uphoff wrote:
> > 
> > Read operations from devices using physio will not cause
> > pages associated with the buffer to be marked dirty.
> > Because of this changed state (data read from the device) can get 
> > lost later.
> > Fortunately data loss will not happen with anonymous memory as wiring releases
> > any swap space owned by an anonymous page. (physio wires the pages)
> > This can however cause problems for programs using device reads into
> > mmaped files.
> > 
> > 
> > 	Stephan
> > 
>