Re: [PATCH v6 2/7] dax: support dirty DAX entries in radix tree

Jan Kara
2016-01-05T09:41:02Z

On Wed 23-12-15 12:39:15, Ross Zwisler wrote:
> Add support for tracking dirty DAX entries in the struct address_space
> radix tree. This tree is already used for dirty page writeback, and it
> already supports the use of exceptional (non struct page*) entries.
>
> In order to properly track dirty DAX pages we will insert new exceptional
> entries into the radix tree that represent dirty DAX PTE or PMD pages.
> These exceptional entries will also contain the writeback sectors for the
> PTE or PMD faults that we can use at fsync/msync time.
>
> There are currently two types of exceptional entries (shmem and shadow)
> that can be placed into the radix tree, and this adds a third. We rely on
> the fact that only one type of exceptional entry can be found in a given
> radix tree based on its usage. This happens for free with DAX vs shmem but
> we explicitly prevent shadow entries from being added to radix trees for
> DAX mappings.
>
> The only shadow entries that would be generated for DAX radix trees would
> be to track zero page mappings that were created for holes. These pages
> would receive minimal benefit from having shadow entries, and the choice
> to have only one type of exceptional entry in a given radix tree makes the
> logic simpler both in clear_exceptional_entry() and in the rest of DAX.
>
> Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>

The patch looks good to me. You can add:

Reviewed-by: Jan Kara <jack@suse.cz>

Honza
--
Jan Kara <jack@suse.com>
SUSE Labs, CR