Subject: Re: need help with DMA and UBC synchronization
To: Chuck Silvers <chuq@chuq.com>
From: Matthias Drochner <M.Drochner@fz-juelich.de>
List: tech-kern
Date: 05/25/2005 16:38:29
chuq@chuq.com said:
> uvm_vslock(PROT_WRITE) is supposed to mark the pages dirty, 

We have tried both in the meantime...

> is it consistently failing to do so for you or only occasionally?

It is a colleague who is doing the work.
He is always starting with a fresh file. If he doesn't touch
the mmap()ed range in his user program, only zeros are written
out to the file, consistently.
If he writes to one of the pages before the DMA call, that page
gets written out correctly. So the uvm_fault(PROT_WRITE) which
should be induced by the memory write appears to dtrt.
I see that uvm_vslock() does almost the same, just that
FAULT_WIRE is set...

best regards
Matthias