iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] Use vm_insert_range
@ 2018-11-15 15:43 Souptick Joarder
  2018-11-21  6:24 ` Souptick Joarder
  0 siblings, 1 reply; 5+ messages in thread
From: Souptick Joarder @ 2018-11-15 15:43 UTC (permalink / raw)
  To: akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	willy-wEGCiKHe2LqWVfeAwA7xHQ, mhocko-IBi9RG/b67k,
	kirill.shutemov-VuQAYsv1563Yd54FQh9/CA, vbabka-AlSwsSmVLrQ,
	riel-ebMLmSuQjDVBDgjK7y7TUQ, sfr-3FnU+UHB4dNDw9hX6IcOSA,
	rppt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8,
	peterz-wEGCiKHe2LqWVfeAwA7xHQ, linux-I+IVW8TIWO2tmTQ+vhA3Yw,
	robin.murphy-5wv7dgnIgG8, iamjoonsoo.kim-Hm3cg6mZ9cc,
	treding-DDmLM1+adcrQT0dZR+AlfA, keescook-F7+t8E8rja9g9hUCZPvPmw,
	m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ,
	stefanr-MtYdepGKPcBMYopoZt5u/LNAH6kLmebB,
	hjc-TNX95d0MmH7DzftRWevZcw, heiko-4mtYJXux2i+zQB+pC5nmwQ,
	airlied-cv59FeDIM0c, oleksandr_andrushchenko-uRwfk40T5oI,
	joro-zLv9SwRftAIdnm+yROfE0A, pawel-FA/gS7QP4orQT0dZR+AlfA,
	kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ,
	mchehab-DgEjT+Ai2ygdnm+yROfE0A,
	boris.ostrovsky-QHcLZuEGTsvQT0dZR+AlfA, jgross-IBi9RG/b67k
  Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	xen-devel-GuqFBffKawuEi8DpZVb4nw,
	linux-mm-Bw31MaZKKs3YtjvyW6yDsg,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	linux1394-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-media-u79uwXL29TY76Z2rM5mHXA

Previouly drivers have their own way of mapping range of
kernel pages/memory into user vma and this was done by
invoking vm_insert_page() within a loop.

As this pattern is common across different drivers, it can
be generalized by creating a new function and use it across
the drivers.

vm_insert_range is the new API which will be used to map a
range of kernel memory/pages to user vma.

All the applicable places are converted to use new vm_insert_range
in this patch series.

Souptick Joarder (9):
  mm: Introduce new vm_insert_range API
  arch/arm/mm/dma-mapping.c: Convert to use vm_insert_range
  drivers/firewire/core-iso.c: Convert to use vm_insert_range
  drm/rockchip/rockchip_drm_gem.c: Convert to use vm_insert_range
  drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range
  iommu/dma-iommu.c: Convert to use vm_insert_range
  videobuf2/videobuf2-dma-sg.c: Convert to use vm_insert_range
  xen/gntdev.c: Convert to use vm_insert_range
  xen/privcmd-buf.c: Convert to use vm_insert_range

 arch/arm/mm/dma-mapping.c                         | 21 ++++++-----------
 drivers/firewire/core-iso.c                       | 15 ++----------
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c       | 20 ++--------------
 drivers/gpu/drm/xen/xen_drm_front_gem.c           | 20 +++++-----------
 drivers/iommu/dma-iommu.c                         | 12 ++--------
 drivers/media/common/videobuf2/videobuf2-dma-sg.c | 23 ++++++-------------
 drivers/xen/gntdev.c                              | 11 ++++-----
 drivers/xen/privcmd-buf.c                         |  8 ++-----
 include/linux/mm_types.h                          |  3 +++
 mm/memory.c                                       | 28 +++++++++++++++++++++++
 mm/nommu.c                                        |  7 ++++++
 11 files changed, 70 insertions(+), 98 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/9] Use vm_insert_range
  2018-11-15 15:43 [PATCH 0/9] Use vm_insert_range Souptick Joarder
@ 2018-11-21  6:24 ` Souptick Joarder
       [not found]   ` <CAFqt6zZGP5DnAQd_19xKcLezOYaLsZpPr=FGxiTb7JRjTEJ4cA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Souptick Joarder @ 2018-11-21  6:24 UTC (permalink / raw)
  To: Andrew Morton, Matthew Wilcox, Michal Hocko, Kirill A. Shutemov,
	vbabka-AlSwsSmVLrQ, Rik van Riel, Stephen Rothwell,
	rppt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8, Peter Zijlstra,
	Russell King - ARM Linux, robin.murphy-5wv7dgnIgG8,
	iamjoonsoo.kim-Hm3cg6mZ9cc, treding-DDmLM1+adcrQT0dZR+AlfA,
	Kees Cook, Marek Szyprowski,
	stefanr-MtYdepGKPcBMYopoZt5u/LNAH6kLmebB,
	hjc-TNX95d0MmH7DzftRWevZcw, Heiko Stuebner, airlied-cv59FeDIM0c,
	oleksandr_andrushchenko-uRwfk40T5oI, joro-zLv9SwRftAIdnm+yROfE0A,
	pawel-FA/gS7QP4orQT0dZR+AlfA, Kyungmin Park,
	mchehab-DgEjT+Ai2ygdnm+yROfE0A, Boris Ostrovsky, Juergen Gross
  Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	xen-devel-GuqFBffKawuEi8DpZVb4nw, Linux-MM,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	linux1394-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-media-u79uwXL29TY76Z2rM5mHXA

On Thu, Nov 15, 2018 at 9:09 PM Souptick Joarder <jrdr.linux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
> Previouly drivers have their own way of mapping range of
> kernel pages/memory into user vma and this was done by
> invoking vm_insert_page() within a loop.
>
> As this pattern is common across different drivers, it can
> be generalized by creating a new function and use it across
> the drivers.
>
> vm_insert_range is the new API which will be used to map a
> range of kernel memory/pages to user vma.
>
> All the applicable places are converted to use new vm_insert_range
> in this patch series.
>
> Souptick Joarder (9):
>   mm: Introduce new vm_insert_range API
>   arch/arm/mm/dma-mapping.c: Convert to use vm_insert_range
>   drivers/firewire/core-iso.c: Convert to use vm_insert_range
>   drm/rockchip/rockchip_drm_gem.c: Convert to use vm_insert_range
>   drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range
>   iommu/dma-iommu.c: Convert to use vm_insert_range
>   videobuf2/videobuf2-dma-sg.c: Convert to use vm_insert_range
>   xen/gntdev.c: Convert to use vm_insert_range
>   xen/privcmd-buf.c: Convert to use vm_insert_range

Any further comment on driver changes ?
>
>  arch/arm/mm/dma-mapping.c                         | 21 ++++++-----------
>  drivers/firewire/core-iso.c                       | 15 ++----------
>  drivers/gpu/drm/rockchip/rockchip_drm_gem.c       | 20 ++--------------
>  drivers/gpu/drm/xen/xen_drm_front_gem.c           | 20 +++++-----------
>  drivers/iommu/dma-iommu.c                         | 12 ++--------
>  drivers/media/common/videobuf2/videobuf2-dma-sg.c | 23 ++++++-------------
>  drivers/xen/gntdev.c                              | 11 ++++-----
>  drivers/xen/privcmd-buf.c                         |  8 ++-----
>  include/linux/mm_types.h                          |  3 +++
>  mm/memory.c                                       | 28 +++++++++++++++++++++++
>  mm/nommu.c                                        |  7 ++++++
>  11 files changed, 70 insertions(+), 98 deletions(-)
>
> --
> 1.9.1
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/9] Use vm_insert_range
       [not found]   ` <CAFqt6zZGP5DnAQd_19xKcLezOYaLsZpPr=FGxiTb7JRjTEJ4cA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2018-11-21 19:37     ` Boris Ostrovsky
  2018-11-21 19:56       ` Souptick Joarder
  0 siblings, 1 reply; 5+ messages in thread
From: Boris Ostrovsky @ 2018-11-21 19:37 UTC (permalink / raw)
  To: Souptick Joarder, Andrew Morton, Matthew Wilcox, Michal Hocko,
	Kirill A. Shutemov, vbabka-AlSwsSmVLrQ, Rik van Riel,
	Stephen Rothwell, rppt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8,
	Peter Zijlstra, Russell King - ARM Linux,
	robin.murphy-5wv7dgnIgG8, iamjoonsoo.kim-Hm3cg6mZ9cc,
	treding-DDmLM1+adcrQT0dZR+AlfA, Kees Cook, Marek Szyprowski,
	stefanr-MtYdepGKPcBMYopoZt5u/LNAH6kLmebB,
	hjc-TNX95d0MmH7DzftRWevZcw, Heiko Stuebner, airlied-cv59FeDIM0c,
	oleksandr_andrushchenko-uRwfk40T5oI, joro-zLv9SwRftAIdnm+yROfE0A,
	pawel-FA/gS7QP4orQT0dZR+AlfA, Kyungmin Park,
	mchehab-DgEjT+Ai2ygdnm+yROfE0A, Juergen Gross
  Cc: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	xen-devel-GuqFBffKawuEi8DpZVb4nw, Linux-MM,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	linux1394-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-media-u79uwXL29TY76Z2rM5mHXA

On 11/21/18 1:24 AM, Souptick Joarder wrote:
> On Thu, Nov 15, 2018 at 9:09 PM Souptick Joarder <jrdr.linux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>> Previouly drivers have their own way of mapping range of
>> kernel pages/memory into user vma and this was done by
>> invoking vm_insert_page() within a loop.
>>
>> As this pattern is common across different drivers, it can
>> be generalized by creating a new function and use it across
>> the drivers.
>>
>> vm_insert_range is the new API which will be used to map a
>> range of kernel memory/pages to user vma.
>>
>> All the applicable places are converted to use new vm_insert_range
>> in this patch series.
>>
>> Souptick Joarder (9):
>>   mm: Introduce new vm_insert_range API
>>   arch/arm/mm/dma-mapping.c: Convert to use vm_insert_range
>>   drivers/firewire/core-iso.c: Convert to use vm_insert_range
>>   drm/rockchip/rockchip_drm_gem.c: Convert to use vm_insert_range
>>   drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range
>>   iommu/dma-iommu.c: Convert to use vm_insert_range
>>   videobuf2/videobuf2-dma-sg.c: Convert to use vm_insert_range
>>   xen/gntdev.c: Convert to use vm_insert_range
>>   xen/privcmd-buf.c: Convert to use vm_insert_range
> Any further comment on driver changes ?

Xen drivers (the last two patches) look fine to me.

-boris


>>  arch/arm/mm/dma-mapping.c                         | 21 ++++++-----------
>>  drivers/firewire/core-iso.c                       | 15 ++----------
>>  drivers/gpu/drm/rockchip/rockchip_drm_gem.c       | 20 ++--------------
>>  drivers/gpu/drm/xen/xen_drm_front_gem.c           | 20 +++++-----------
>>  drivers/iommu/dma-iommu.c                         | 12 ++--------
>>  drivers/media/common/videobuf2/videobuf2-dma-sg.c | 23 ++++++-------------
>>  drivers/xen/gntdev.c                              | 11 ++++-----
>>  drivers/xen/privcmd-buf.c                         |  8 ++-----
>>  include/linux/mm_types.h                          |  3 +++
>>  mm/memory.c                                       | 28 +++++++++++++++++++++++
>>  mm/nommu.c                                        |  7 ++++++
>>  11 files changed, 70 insertions(+), 98 deletions(-)
>>
>> --
>> 1.9.1
>>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/9] Use vm_insert_range
  2018-11-21 19:37     ` Boris Ostrovsky
@ 2018-11-21 19:56       ` Souptick Joarder
  2018-11-21 20:04         ` Boris Ostrovsky
  0 siblings, 1 reply; 5+ messages in thread
From: Souptick Joarder @ 2018-11-21 19:56 UTC (permalink / raw)
  To: Boris Ostrovsky
  Cc: Andrew Morton, Matthew Wilcox, Michal Hocko, Kirill A. Shutemov,
	vbabka, Rik van Riel, Stephen Rothwell, rppt, Peter Zijlstra,
	Russell King - ARM Linux, robin.murphy, iamjoonsoo.kim, treding,
	Kees Cook, Marek Szyprowski, stefanr, hjc, Heiko Stuebner,
	airlied, oleksandr_andrushchenko, joro, pawel, Kyungmin Park,
	mchehab, Juergen Gross

On Thu, Nov 22, 2018 at 1:08 AM Boris Ostrovsky
<boris.ostrovsky@oracle.com> wrote:
>
> On 11/21/18 1:24 AM, Souptick Joarder wrote:
> > On Thu, Nov 15, 2018 at 9:09 PM Souptick Joarder <jrdr.linux@gmail.com> wrote:
> >> Previouly drivers have their own way of mapping range of
> >> kernel pages/memory into user vma and this was done by
> >> invoking vm_insert_page() within a loop.
> >>
> >> As this pattern is common across different drivers, it can
> >> be generalized by creating a new function and use it across
> >> the drivers.
> >>
> >> vm_insert_range is the new API which will be used to map a
> >> range of kernel memory/pages to user vma.
> >>
> >> All the applicable places are converted to use new vm_insert_range
> >> in this patch series.
> >>
> >> Souptick Joarder (9):
> >>   mm: Introduce new vm_insert_range API
> >>   arch/arm/mm/dma-mapping.c: Convert to use vm_insert_range
> >>   drivers/firewire/core-iso.c: Convert to use vm_insert_range
> >>   drm/rockchip/rockchip_drm_gem.c: Convert to use vm_insert_range
> >>   drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range
> >>   iommu/dma-iommu.c: Convert to use vm_insert_range
> >>   videobuf2/videobuf2-dma-sg.c: Convert to use vm_insert_range
> >>   xen/gntdev.c: Convert to use vm_insert_range
> >>   xen/privcmd-buf.c: Convert to use vm_insert_range
> > Any further comment on driver changes ?
>
> Xen drivers (the last two patches) look fine to me.

Thanks, can I considered this as Reviewed-by ?

>
> -boris
>
>
> >>  arch/arm/mm/dma-mapping.c                         | 21 ++++++-----------
> >>  drivers/firewire/core-iso.c                       | 15 ++----------
> >>  drivers/gpu/drm/rockchip/rockchip_drm_gem.c       | 20 ++--------------
> >>  drivers/gpu/drm/xen/xen_drm_front_gem.c           | 20 +++++-----------
> >>  drivers/iommu/dma-iommu.c                         | 12 ++--------
> >>  drivers/media/common/videobuf2/videobuf2-dma-sg.c | 23 ++++++-------------
> >>  drivers/xen/gntdev.c                              | 11 ++++-----
> >>  drivers/xen/privcmd-buf.c                         |  8 ++-----
> >>  include/linux/mm_types.h                          |  3 +++
> >>  mm/memory.c                                       | 28 +++++++++++++++++++++++
> >>  mm/nommu.c                                        |  7 ++++++
> >>  11 files changed, 70 insertions(+), 98 deletions(-)
> >>
> >> --
> >> 1.9.1
> >>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/9] Use vm_insert_range
  2018-11-21 19:56       ` Souptick Joarder
@ 2018-11-21 20:04         ` Boris Ostrovsky
  0 siblings, 0 replies; 5+ messages in thread
From: Boris Ostrovsky @ 2018-11-21 20:04 UTC (permalink / raw)
  To: Souptick Joarder
  Cc: Michal Hocko, Heiko Stuebner, Peter Zijlstra, dri-devel,
	linux-kernel, Linux-MM, linux1394-devel, Marek Szyprowski,
	Stephen Rothwell, oleksandr_andrushchenko, joro,
	Russell King - ARM Linux, Matthew Wilcox, airlied,
	linux-arm-kernel, linux-rockchip, treding, linux-media,
	Kees Cook, pawel, Rik van Riel, iommu, rppt, mchehab,
	iamjoonsoo.kim, vbabka, Juergen Gross, hjc, xen-devel

On 11/21/18 2:56 PM, Souptick Joarder wrote:
> On Thu, Nov 22, 2018 at 1:08 AM Boris Ostrovsky
> <boris.ostrovsky@oracle.com> wrote:
>> On 11/21/18 1:24 AM, Souptick Joarder wrote:
>>> On Thu, Nov 15, 2018 at 9:09 PM Souptick Joarder <jrdr.linux@gmail.com> wrote:
>>>> Previouly drivers have their own way of mapping range of
>>>> kernel pages/memory into user vma and this was done by
>>>> invoking vm_insert_page() within a loop.
>>>>
>>>> As this pattern is common across different drivers, it can
>>>> be generalized by creating a new function and use it across
>>>> the drivers.
>>>>
>>>> vm_insert_range is the new API which will be used to map a
>>>> range of kernel memory/pages to user vma.
>>>>
>>>> All the applicable places are converted to use new vm_insert_range
>>>> in this patch series.
>>>>
>>>> Souptick Joarder (9):
>>>>   mm: Introduce new vm_insert_range API
>>>>   arch/arm/mm/dma-mapping.c: Convert to use vm_insert_range
>>>>   drivers/firewire/core-iso.c: Convert to use vm_insert_range
>>>>   drm/rockchip/rockchip_drm_gem.c: Convert to use vm_insert_range
>>>>   drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range
>>>>   iommu/dma-iommu.c: Convert to use vm_insert_range
>>>>   videobuf2/videobuf2-dma-sg.c: Convert to use vm_insert_range
>>>>   xen/gntdev.c: Convert to use vm_insert_range
>>>>   xen/privcmd-buf.c: Convert to use vm_insert_range
>>> Any further comment on driver changes ?
>> Xen drivers (the last two patches) look fine to me.
> Thanks, can I considered this as Reviewed-by ?


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-11-21 20:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-15 15:43 [PATCH 0/9] Use vm_insert_range Souptick Joarder
2018-11-21  6:24 ` Souptick Joarder
     [not found]   ` <CAFqt6zZGP5DnAQd_19xKcLezOYaLsZpPr=FGxiTb7JRjTEJ4cA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-21 19:37     ` Boris Ostrovsky
2018-11-21 19:56       ` Souptick Joarder
2018-11-21 20:04         ` Boris Ostrovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).