[RFC] Tux3 for review
Daniel Phillips
daniel at phunq.net
Tue May 20 10:25:23 PDT 2014
Hi Dave,
This is to address your concern about theoretical interaction between
direct IO and Tux3 page fork.
On Monday, May 19, 2014 10:41:40 PM PDT, I wrote:
>> Except that Direct IO impacts on the design of the page forking code
>> (because of how things like get_user_pages() need to be aware of
>> page forking). So you need to have direct IO working to demonstrate
>> that the page forking design is sound.....
Page fork only affects cache pages, so the only interation with direct IO
is when the direct IO is to/from a mmap. If a direct write races with a
programmed write to cache that causes a fork, then get_user_pages may pick
up the old or new version of a page. It is not defined which will be
written to disk, which is not a surprise. If a direct read races with a
programmed write to cache that causes a fork, then it might violate our
strong ordering, but that is not a surprise. I do not see any theoretical
oopses or life cycle issues.
So Tux3 may allow racy direct read to violate strong ordering, but strong
ordering would still be available with proper application sequencing. For
example, direct read to mmap followed by msync would be strongly ordered.
Regards,
Daniel
More information about the Tux3
mailing list