[FYI] tux3: Core changes
jack at suse.cz
Tue May 26 00:09:10 PDT 2015
On Mon 25-05-15 23:11:11, Daniel Phillips wrote:
> On Monday, May 25, 2015 11:04:39 PM PDT, David Lang wrote:
> >if the page gets modified again, will that cause any issues? what
> >if the page gets modified before the copy gets written out, so
> >that there are two dirty copies of the page in the process of
> >being written?
> >David Lang
> How is the page going to get modified again? A forked page isn't
> mapped by a pte, so userspace can't modify it by mmap. The forked
> page is not in the page cache, so usespace can't modify it by
> posix file ops. So the writer would have to be in kernel. Tux3
> knows what it is doing, so it won't modify the page. What kernel
> code besides Tux3 will modify the page?
E.g. video drivers (or infiniband or direct IO for that matter) which
have buffers in user memory (may be mmapped file), grab references to pages
and hand out PFNs of those pages to the hardware to store data in them...
If you fork a page after the driver has handed PFNs to the hardware, you've
just lost all the writes hardware will do.
Jan Kara <jack at suse.cz>
SUSE Labs, CR
More information about the Tux3