PG_locked vs PG_writeback

From: sridhar lanka
Date: Fri Jul 06 2007 - 05:57:30 EST


I see that in 2.6 kernels, page lock (PG_locked) is cleared and
PG_writeback is set
when the page is submitted for i/o. Refer __block_write_full_page().

However the header file says that

" During disk I/O, PG_locked is used. This bit is set before I/O and
* reset when I/O completes. page_waitqueue(page) is a wait queue of all tasks
* waiting for the I/O on this page to complete.
"

Is the comment correct?

Does this mean that a page can be written to (dirtied) while the same page
is being written to by the low level driver. From what i can see PG_locked is
only ensuring that 2 threads don't read the same page but does not gate writes
or flushes of the page (partially). On the other hand PG_writeback is gating
another write if the same page is already being flushed.

appreciate help.
-
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/