[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/6] mm: introduce vma->vm_flags modifier functions
- To: Suren Baghdasaryan <surenb@xxxxxxxxxx>
- From: Mike Rapoport <rppt@xxxxxxxxxx>
- Date: Thu, 26 Jan 2023 16:50:59 +0200
- Cc: akpm@xxxxxxxxxxxxxxxxxxxx, michel@xxxxxxxxxxxxxx, jglisse@xxxxxxxxxx, mhocko@xxxxxxxx, vbabka@xxxxxxx, hannes@xxxxxxxxxxx, mgorman@xxxxxxxxxxxxxxxxxxx, dave@xxxxxxxxxxxx, willy@xxxxxxxxxxxxx, liam.howlett@xxxxxxxxxx, peterz@xxxxxxxxxxxxx, ldufour@xxxxxxxxxxxxx, paulmck@xxxxxxxxxx, luto@xxxxxxxxxx, songliubraving@xxxxxx, peterx@xxxxxxxxxx, david@xxxxxxxxxx, dhowells@xxxxxxxxxx, hughd@xxxxxxxxxx, bigeasy@xxxxxxxxxxxxx, kent.overstreet@xxxxxxxxx, punit.agrawal@xxxxxxxxxxxxx, lstoakes@xxxxxxxxx, peterjung1337@xxxxxxxxx, rientjes@xxxxxxxxxx, axelrasmussen@xxxxxxxxxx, joelaf@xxxxxxxxxx, minchan@xxxxxxxxxx, jannh@xxxxxxxxxx, shakeelb@xxxxxxxxxx, tatashin@xxxxxxxxxx, edumazet@xxxxxxxxxx, gthelen@xxxxxxxxxx, gurua@xxxxxxxxxx, arjunroy@xxxxxxxxxx, soheil@xxxxxxxxxx, hughlynch@xxxxxxxxxx, leewalsh@xxxxxxxxxx, posk@xxxxxxxxxx, will@xxxxxxxxxx, aneesh.kumar@xxxxxxxxxxxxx, npiggin@xxxxxxxxx, chenhuacai@xxxxxxxxxx, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, bp@xxxxxxxxx, dave.hansen@xxxxxxxxxxxxxxx, richard@xxxxxx, anton.ivanov@xxxxxxxxxxxxxxxxxx, johannes@xxxxxxxxxxxxxxxx, qianweili@xxxxxxxxxx, wangzhou1@xxxxxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, davem@xxxxxxxxxxxxx, vkoul@xxxxxxxxxx, airlied@xxxxxxxxx, daniel@xxxxxxxx, maarten.lankhorst@xxxxxxxxxxxxxxx, mripard@xxxxxxxxxx, tzimmermann@xxxxxxx, l.stach@xxxxxxxxxxxxxx, krzysztof.kozlowski@xxxxxxxxxx, patrik.r.jakobsson@xxxxxxxxx, matthias.bgg@xxxxxxxxx, robdclark@xxxxxxxxx, quic_abhinavk@xxxxxxxxxxx, dmitry.baryshkov@xxxxxxxxxx, tomba@xxxxxxxxxx, hjc@xxxxxxxxxxxxxx, heiko@xxxxxxxxx, ray.huang@xxxxxxx, kraxel@xxxxxxxxxx, sre@xxxxxxxxxx, mcoquelin.stm32@xxxxxxxxx, alexandre.torgue@xxxxxxxxxxx, tfiga@xxxxxxxxxxxx, m.szyprowski@xxxxxxxxxxx, mchehab@xxxxxxxxxx, dimitri.sivanich@xxxxxxx, zhangfei.gao@xxxxxxxxxx, jejb@xxxxxxxxxxxxx, martin.petersen@xxxxxxxxxx, dgilbert@xxxxxxxxxxxx, hdegoede@xxxxxxxxxx, mst@xxxxxxxxxx, jasowang@xxxxxxxxxx, alex.williamson@xxxxxxxxxx, deller@xxxxxx, jayalk@xxxxxxxxxxxx, viro@xxxxxxxxxxxxxxxxxx, nico@xxxxxxxxxxx, xiang@xxxxxxxxxx, chao@xxxxxxxxxx, tytso@xxxxxxx, adilger.kernel@xxxxxxxxx, miklos@xxxxxxxxxx, mike.kravetz@xxxxxxxxxx, muchun.song@xxxxxxxxx, bhe@xxxxxxxxxx, andrii@xxxxxxxxxx, yoshfuji@xxxxxxxxxxxxxx, dsahern@xxxxxxxxxx, kuba@xxxxxxxxxx, pabeni@xxxxxxxxxx, perex@xxxxxxxx, tiwai@xxxxxxxx, haojian.zhuang@xxxxxxxxx, robert.jarzmik@xxxxxxx, linux-mm@xxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linuxppc-dev@xxxxxxxxxxxxxxxx, x86@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-graphics-maintainer@xxxxxxxxxx, linux-ia64@xxxxxxxxxxxxxxx, linux-arch@xxxxxxxxxxxxxxx, loongarch@xxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, linux-sgx@xxxxxxxxxxxxxxx, linux-um@xxxxxxxxxxxxxxxxxxx, linux-acpi@xxxxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx, nvdimm@xxxxxxxxxxxxxxx, dmaengine@xxxxxxxxxxxxxxx, amd-gfx@xxxxxxxxxxxxxxxxxxxxx, dri-devel@xxxxxxxxxxxxxxxxxxxxx, etnaviv@xxxxxxxxxxxxxxxxxxxxx, linux-samsung-soc@xxxxxxxxxxxxxxx, intel-gfx@xxxxxxxxxxxxxxxxxxxxx, linux-mediatek@xxxxxxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx, freedreno@xxxxxxxxxxxxxxxxxxxxx, linux-rockchip@xxxxxxxxxxxxxxxxxxx, linux-tegra@xxxxxxxxxxxxxxx, virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx, linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, linux-media@xxxxxxxxxxxxxxx, linux-accelerators@xxxxxxxxxxxxxxxx, sparclinux@xxxxxxxxxxxxxxx, linux-scsi@xxxxxxxxxxxxxxx, linux-staging@xxxxxxxxxxxxxxx, target-devel@xxxxxxxxxxxxxxx, linux-usb@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, linux-fbdev@xxxxxxxxxxxxxxx, linux-aio@xxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-erofs@xxxxxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, devel@xxxxxxxxxxxxxxxxxx, kexec@xxxxxxxxxxxxxxxxxxx, linux-xfs@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx, linux-perf-users@xxxxxxxxxxxxxxx, kasan-dev@xxxxxxxxxxxxxxxx, selinux@xxxxxxxxxxxxxxx, alsa-devel@xxxxxxxxxxxxxxxx, kernel-team@xxxxxxxxxxx
- Delivery-date: Thu, 26 Jan 2023 14:55:49 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Thu, Jan 26, 2023 at 11:17:09AM +0200, Mike Rapoport wrote:
> On Wed, Jan 25, 2023 at 12:38:46AM -0800, Suren Baghdasaryan wrote:
> > vm_flags are among VMA attributes which affect decisions like VMA merging
> > and splitting. Therefore all vm_flags modifications are performed after
> > taking exclusive mmap_lock to prevent vm_flags updates racing with such
> > operations. Introduce modifier functions for vm_flags to be used whenever
> > flags are updated. This way we can better check and control correct
> > locking behavior during these updates.
> >
> > Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
> > ---
> > include/linux/mm.h | 37 +++++++++++++++++++++++++++++++++++++
> > include/linux/mm_types.h | 8 +++++++-
> > 2 files changed, 44 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/linux/mm.h b/include/linux/mm.h
> > index c2f62bdce134..b71f2809caac 100644
> > --- a/include/linux/mm.h
> > +++ b/include/linux/mm.h
> > @@ -627,6 +627,43 @@ static inline void vma_init(struct vm_area_struct
> > *vma, struct mm_struct *mm)
> > INIT_LIST_HEAD(&vma->anon_vma_chain);
> > }
> >
> > +/* Use when VMA is not part of the VMA tree and needs no locking */
> > +static inline void init_vm_flags(struct vm_area_struct *vma,
> > + unsigned long flags)
>
> I'd suggest to make it vm_flags_init() etc.
Thinking more about it, it will be even clearer to name these vma_flags_xyz()
> Except that
>
> Acked-by: Mike Rapoport (IBM) <rppt@xxxxxxxxxx>
>
--
Sincerely yours,
Mike.
|