All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: airlied@linux.ie, alex.williamson@redhat.com,
	aneesh.kumar@linux.ibm.com, axboe@kernel.dk,
	benh@kernel.crashing.org, bjorn.topel@intel.com, corbet@lwn.net,
	dan.j.williams@intel.com, daniel.vetter@ffwll.ch,
	daniel@ffwll.ch, davem@davemloft.net, david@fromorbit.com,
	hch@lst.de, hverkuil-cisco@xs4all.nl, ira.weiny@intel.com,
	jack@suse.cz, jgg@mellanox.com, jgg@ziepe.ca, jglisse@redhat.com,
	jhubbard@nvidia.com, kirill.shutemov@linux.intel.com,
	leonro@mellanox.com, magnus.karlsson@intel.com,
	mchehab@kernel.org, mhocko@suse.com, mike.kravetz@oracle.com,
	mm-commits@vger.kernel.org, mpe@ellerman.id.au, paulus@samba.org,
	rppt@linux.ibm.com, shuah@kernel.org, stable@vger.kernel.org,
	vbabka@suse.cz, viro@zeniv.linux.org.uk
Subject: + media-v4l2-core-set-pages-dirty-upon-releasing-dma-buffers.patch added to -mm tree
Date: Mon, 09 Dec 2019 17:16:53 -0800	[thread overview]
Message-ID: <20191210011653.DlmE2wgea%akpm@linux-foundation.org> (raw)
In-Reply-To: <20191206170123.cb3ad1f76af2b48505fabb33@linux-foundation.org>


The patch titled
     Subject: media/v4l2-core: set pages dirty upon releasing DMA buffers
has been added to the -mm tree.  Its filename is
     media-v4l2-core-set-pages-dirty-upon-releasing-dma-buffers.patch

This patch should soon appear at
    http://ozlabs.org/~akpm/mmots/broken-out/media-v4l2-core-set-pages-dirty-upon-releasing-dma-buffers.patch
and later at
    http://ozlabs.org/~akpm/mmotm/broken-out/media-v4l2-core-set-pages-dirty-upon-releasing-dma-buffers.patch

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***

The -mm tree is included into linux-next and is updated
there every 3-4 working days

------------------------------------------------------
From: John Hubbard <jhubbard@nvidia.com>
Subject: media/v4l2-core: set pages dirty upon releasing DMA buffers

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.

Link: http://lkml.kernel.org/r/20191209225344.99740-18-jhubbard@nvidia.com
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: <stable@vger.kernel.org>
Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Björn Töpel <bjorn.topel@intel.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: David Airlie <airlied@linux.ie>
Cc: "David S . Miller" <davem@davemloft.net>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jason Gunthorpe <jgg@mellanox.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Leon Romanovsky <leonro@mellanox.com>
Cc: Magnus Karlsson <magnus.karlsson@intel.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/media/v4l2-core/videobuf-dma-sg.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/media/v4l2-core/videobuf-dma-sg.c~media-v4l2-core-set-pages-dirty-upon-releasing-dma-buffers
+++ a/drivers/media/v4l2-core/videobuf-dma-sg.c
@@ -349,8 +349,11 @@ int videobuf_dma_free(struct videobuf_dm
 	BUG_ON(dma->sglen);
 
 	if (dma->pages) {
-		for (i = 0; i < dma->nr_pages; i++)
+		for (i = 0; i < dma->nr_pages; i++) {
+			if (dma->direction == DMA_FROM_DEVICE)
+				set_page_dirty_lock(dma->pages[i]);
 			put_page(dma->pages[i]);
+		}
 		kfree(dma->pages);
 		dma->pages = NULL;
 	}
_

Patches currently in -mm which might be from jhubbard@nvidia.com are

mm-gup-factor-out-duplicate-code-from-four-routines.patch
mm-gup-move-try_get_compound_head-to-top-fix-minor-issues.patch
mm-devmap-refactor-1-based-refcounting-for-zone_device-pages.patch
goldish_pipe-rename-local-pin_user_pages-routine.patch
mm-fix-get_user_pages_remotes-handling-of-foll_longterm.patch
vfio-fix-foll_longterm-use-simplify-get_user_pages_remote-call.patch
mm-gup-allow-foll_force-for-get_user_pages_fast.patch
ib-umem-use-get_user_pages_fast-to-pin-dma-pages.patch
mm-gup-introduce-pin_user_pages-and-foll_pin.patch
goldish_pipe-convert-to-pin_user_pages-and-put_user_page.patch
ib-corehwumem-set-foll_pin-via-pin_user_pages-fix-up-odp.patch
mm-process_vm_access-set-foll_pin-via-pin_user_pages_remote.patch
drm-via-set-foll_pin-via-pin_user_pages_fast.patch
fs-io_uring-set-foll_pin-via-pin_user_pages.patch
net-xdp-set-foll_pin-via-pin_user_pages.patch
media-v4l2-core-set-pages-dirty-upon-releasing-dma-buffers.patch
media-v4l2-core-pin_user_pages-foll_pin-and-put_user_page-conversion.patch
vfio-mm-pin_user_pages-foll_pin-and-put_user_page-conversion.patch
powerpc-book3s64-convert-to-pin_user_pages-and-put_user_page.patch
powerpc-book3s64-convert-to-pin_user_pages-and-put_user_page-fix.patch
mm-gup_benchmark-use-proper-foll_write-flags-instead-of-hard-coding-1.patch
mm-tree-wide-rename-put_user_page-to-unpin_user_page.patch
mm-gup-pass-flags-arg-to-__gup_device_-functions.patch
mm-gup-track-foll_pin-pages.patch
mm-gup_benchmark-support-pin_user_pages-and-related-calls.patch
selftests-vm-run_vmtests-invoke-gup_benchmark-with-basic-foll_pin-coverage.patch


  parent reply	other threads:[~2019-12-10  1:16 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20191206170123.cb3ad1f76af2b48505fabb33@linux-foundation.org>
2019-12-07  3:47 ` mmotm 2019-12-06-19-46 uploaded Andrew Morton
2019-12-07 16:35   ` mmotm 2019-12-06-19-46 uploaded (ethernet/freescale/gianfar) Randy Dunlap
2019-12-09  6:31   ` mmotm 2019-12-06-19-46 uploaded Shaokun Zhang
2019-12-11  1:35     ` Andrew Morton
2019-12-11  1:42       ` Shaokun Zhang
2019-12-11  1:58         ` Andrew Morton
2019-12-11  2:04           ` Shaokun Zhang
2019-12-10  1:16 ` Andrew Morton [this message]
2019-12-11  3:14 ` mmotm 2019-12-10-19-14 uploaded Andrew Morton
2019-12-11 16:31   ` mmotm 2019-12-10-19-14 uploaded (objtool: func() falls through) Randy Dunlap
2019-12-12 18:48     ` Josh Poimboeuf
2019-12-12 20:21       ` Randy Dunlap
2019-12-12 20:58         ` Josh Poimboeuf
2020-01-17 18:11           ` Josh Poimboeuf
2020-01-17 22:15             ` Randy Dunlap
2019-12-11 20:16 ` + revert-ipcsem-remove-uneeded-sem_undo_list-lock-usage-in-exit_sem.patch added to -mm tree Andrew Morton
2019-12-11 21:02 ` + mm-oom-fix-pgtables-units-mismatch-in-killed-process-message.patch " Andrew Morton
2019-12-11 21:13 ` + mm-fix-uninitialized-memmaps-on-a-partially-populated-last-section.patch " Andrew Morton
2019-12-18  4:41 ` mmotm 2019-12-17-20-41 uploaded Andrew Morton
2020-01-14 23:30 + media-v4l2-core-set-pages-dirty-upon-releasing-dma-buffers.patch added to -mm tree akpm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191210011653.DlmE2wgea%akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=airlied@linux.ie \
    --cc=alex.williamson@redhat.com \
    --cc=aneesh.kumar@linux.ibm.com \
    --cc=axboe@kernel.dk \
    --cc=benh@kernel.crashing.org \
    --cc=bjorn.topel@intel.com \
    --cc=corbet@lwn.net \
    --cc=dan.j.williams@intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel@ffwll.ch \
    --cc=davem@davemloft.net \
    --cc=david@fromorbit.com \
    --cc=hch@lst.de \
    --cc=hverkuil-cisco@xs4all.nl \
    --cc=ira.weiny@intel.com \
    --cc=jack@suse.cz \
    --cc=jgg@mellanox.com \
    --cc=jgg@ziepe.ca \
    --cc=jglisse@redhat.com \
    --cc=jhubbard@nvidia.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=leonro@mellanox.com \
    --cc=magnus.karlsson@intel.com \
    --cc=mchehab@kernel.org \
    --cc=mhocko@suse.com \
    --cc=mike.kravetz@oracle.com \
    --cc=mm-commits@vger.kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    --cc=rppt@linux.ibm.com \
    --cc=shuah@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=vbabka@suse.cz \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.