Thread (5 messages) 5 messages, 3 authors, 2003-02-01

Re: dirty pages path in kernel

From: David Chow <hidden>
Date: 2003-02-01 09:18:21

Andrew Morton writes:
 > Andrew Morton wrote:
 > >
 > > David Chow [off-list ref] wrote:
 > > >
 > > > Hi,
 > > >
 > > > If I do the following to an inode mapping page .
 > > >
 > > > 1. Generate a "struct page" from read_cache_page()
 > > > 2. kmap() the page, do some memset() (Dirty the page)
 > > > 3. kunmap() and page_cache_release() the page.
 > > >
 > >
 > > The VFS does not know that the page has changed.
 > >
 > > You should do:
 > >
 > >         lock_page(page);
 > >         memset()
 > >         set_page_dirty(page);
 > >         unlock_page(page);
 > >
 > > the page will be written to disk on the next kupdate cycle.
 >
 > Make that:
 >
 > 	lock_page(page);
 > 	kaddr = kmap_atomic(page, KM_USER0);
 > 	memset(kaddr, ...);
 > 	flush_dcache_page(page)
 > 	kunmap_atomic(kaddr, KM_USER0);
 > 	set_page_dirty(page);
Shouldn't mark_page_accessed() go here?
 > 	unlock_page(page);
Nikita.
Thanks for your help. However, do I have to deal with page ref cnts?

regards,
David


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help