Thread (38 messages) 38 messages, 3 authors, 2019-12-11

Re: [PATCH v8 17/26] media/v4l2-core: set pages dirty upon releasing DMA buffers

From: Jan Kara <jack@suse.cz>
Date: 2019-12-10 10:17:54
Also in: bpf, dri-devel, kvm, linux-block, linux-doc, linux-fsdevel, linux-kselftest, linux-media, linux-mm, linux-rdma, linuxppc-dev, lkml, stable

On Mon 09-12-19 16:56:27, Andrew Morton wrote:
On Mon, 9 Dec 2019 14:53:35 -0800 John Hubbard [off-list ref] wrote:
quoted
After DMA is complete, and the device and CPU caches are synchronized,
it's still required to mark the CPU pages as dirty, if the data was
coming from the device. However, this driver was just issuing a
bare put_page() call, without any set_page_dirty*() call.

Fix the problem, by calling set_page_dirty_lock() if the CPU pages
were potentially receiving data from the device.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Hans Verkuil <redacted>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: <redacted>
What are the user-visible effects of this change?
Presumably loss of captured video data if the page writeback hits in the
wrong moment (i.e., after the page was faulted in but before the video HW
stored data in the page) and the page then gets evicted from the page cache.

								Honza

-- 
Jan Kara [off-list ref]
SUSE Labs, CR
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help