Re: [PATCH v12 07/20] dax,ext2: Replace ext2_clear_xip_target with dax_clear_blocks

From: Matthew Wilcox
Date: Tue Jan 13 2015 - 16:39:32 EST


On Mon, Jan 12, 2015 at 03:09:47PM -0800, Andrew Morton wrote:
> > +int dax_clear_blocks(struct inode *inode, sector_t block, long size)
> > +{
...
> > + if (pgsz < PAGE_SIZE)
> > + memset(addr, 0, pgsz);
> > + else
> > + clear_page(addr);
>
> Are there any cache issues in all this code? flush_dcache_page(addr)?

Here, no. This is only called to initialise a newly allocated block.

Elsewhere, maybe. When i was originally working on this, I think I had
code that forced mmaps of DAX files to be aligned to SHMLBA, because I
remember noticing a bug in sparc64's remap_file_range(). Unfortunately,
in the various rewrites, that got lost. So it needs to be put back in.

flush_dcache_page() in particular won't work because it needs a struct
page.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/