Thread (4 messages) 4 messages, 3 authors, 2010-05-19

Re: [PATCH] fb_defio: fix for non-dirty ptes

From: Jaya Kumar <hidden>
Date: 2010-05-12 23:34:11

On Thu, May 13, 2010 at 4:51 AM, Albert Herranz [off-list ref] wrote:
This patch fixes a problem observed while using fb_defio with a short
delay on a PowerPC platform.

It is possible that page_mkclean() is invoked in the deferred io work
function _before_ a PTE has been marked dirty. In this case, the page
is removed from the defio pagelist but page_mkclean() does not
write-protect the page again. The end result is that defio ignores all
subsequent writes to the page and the corresponding portions of the
framebuffer never get updated.

The fix consists in keeping track of the pages with non-dirty PTEs,
re-checking them again on the next deferred io work iteration.
Note that those pages are not passed to the defio callback as they are
not written by userspace yet.

Signed-off-by: Albert Herranz <redacted>
Looks good to me. Thanks for the bugfix.

Acked-by: Jaya Kumar <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help