[parisc-linux] memory management issues
Ollie Wild
aaw at google.com
Thu May 3 02:11:04 MDT 2007
Thanks, James.
> The first thing this does is
> immediately decohere the page because we zero it through the user
> mapping before adding it to the vma. Fortunately get_user_pages()
> should make it coherent again.
This is the critical insight I was missing. I was assuming the page
was unaccessed prior to mapping it into the kernel. The zeroing
hadn't occurred to me. Unfortunately, it looks like get_user_pages()
doesn't make it coherent again. Calling flush_kernel_dcache_page()
alone fails to resolve the problem. Calling flush_cache_page() after
kmap() and flush_kernel_dcache_page() before kunmap() does.
Is this a bug in get_user_pages()? Should it be calling
flush_cache_page() directly?
By the way, I've left my kernel running on iodine. Try running:
ulimit -s unlimited
ls -l `find /usr -type f`
Ollie
More information about the parisc-linux
mailing list