[parisc-linux] Re: [fuse-devel] Example filesystem fail to init on parisc

Miklos Szeredi miklos at szeredi.hu
Fri Mar 17 02:13:19 MST 2006


> > > FUSE uses a combination of get_user_pages(), kmap_atomic() and
> > > memcpy().  After kunmap_atomic(), flush_dcache_page() is called to
> > > avoid virtual aliasing.  The data in the read buffer is totally
> > > untouched.
> 
> This is wrong.  A VIPT cache requires a mapping to flush on.  If you
> kunmap, you've lost the mapping.  What you should do is
> 
> kmap()
> operate on data
> flush_kernel_dcache_page()
> kunmap()

OK, this didn't help.  Looking closer it didn't have a chance of
helping, since kunmap()/kunmap_atomic() are no-ops unless
CONFIG_HIGHMEM is set, but on parisc there's no highmem support.

Any other ideas?

Thanks,
Miklos




More information about the parisc-linux mailing list