Messages in this thread | | | Subject | Re: Q: generic_file_write sets PG_locked??? | From | (Eric W. Biederman) | Date | 21 Apr 1999 19:46:21 -0500 |
| |
Thanks for the information. I'll probably look up your work on the ac series after I have tested my other patches.
As note on the PG_locked flag. That simply indicates that there is I/O inprocess on the page and you can use wait_on_page to wait for it to complete.
This does not prevent pages from being mapped. For read operations we are carefull in preventing this from happening, because all of the data hasn't been read in yet. But that is the combination of !PageUptodate(page) && PageLocked(page). If PageUptodate(page) is true, especially with mmaped memory it is totally possible to have the page mapped out while it is locked.
If we count on PageLocked from keeping a page from being mapped in while it is being written out, I think that is a part of the current NFS design that needs to be redesigned.
I'm not prepared quite yet, for a large discussion on the code as I haven't finished testing my prototypes. Once that is done I'll write up some documentation and start pushing for integration of generic dirty page handling for 2.3
I guess I need to read the NFS code as well to see how it is currently handling flushing to make sure I don't miss an important case.
Eric
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |