linux-kernel.vger.kernel.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, willy, mhocko, kirill.shutemov, vbabka, riel, sfr, rppt,
	peterz, linux, robin.murphy, iamjoonsoo.kim, treding, keescook,
	m.szyprowski, stefanr, hjc, heiko, airlied,
	oleksandr_andrushchenko, joro, pawel, kyungmin.park, mchehab,
	boris.ostrovsky, jgross
  Cc: linux-kernel, linux-mm, linux-arm-kernel, linux1394-devel,
	dri-devel, linux-rockchip, xen-devel, iommu, linux-media

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
  2018-11-21 19:37   ` Boris Ostrovsky
  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, 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, Boris Ostrovsky, Juergen Gross
  Cc: linux-kernel, Linux-MM, linux-arm-kernel, linux1394-devel,
	dri-devel, linux-rockchip, xen-devel, iommu, linux-media

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 ?
>
>  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  6:24 ` Souptick Joarder
@ 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, 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
  Cc: linux-kernel, Linux-MM, linux-arm-kernel, linux1394-devel,
	dri-devel, linux-rockchip, xen-devel, iommu, linux-media

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.

-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, linux-kernel, Linux-MM, linux-arm-kernel,
	linux1394-devel, dri-devel, linux-rockchip, xen-devel, iommu,
	linux-media

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: 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, linux-kernel, Linux-MM, linux-arm-kernel,
	linux1394-devel, dri-devel, linux-rockchip, xen-devel, iommu,
	linux-media

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:06 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
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).