[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220711122459.13773-1-me@linux.beauty>
Date: Mon, 11 Jul 2022 20:24:50 +0800
From: Li Chen <me@...ux.beauty>
To: Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Li Chen <me@...ux.beauty>, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
linux-mm@...ck.org
Subject: [PATCH 0/4] add struct page and Direct I/O support to reserved memory
This patch series use ZONE_DEVICE and mhp to add Direct I/O support to reserved memory
when rmem is as dio's src buffer.
Our use case is when isp generates frame and writes to given memory region, arm(kernel) will
try to read frames from the reserved memory region. If throughput is low, frame loss
will be serious.
Before this patch series, we can only use bufferd I/O and the throughput is very low even
with the help of AIO/io_uring.
This patch is tested on v5.15.35 + no-map rmem region, and can be git am into
5.19-rc5 without conflicts.
Li Chen (4):
of: add struct page support to rmem
mm/sparse: skip no-map memblock check when fill_subsection_map
arm64: mm: move memblock_clear_nomap after __add_pages
sample/reserved_mem: Introduce a sample of struct page and dio support
to no-map rmem
arch/arm64/mm/mmu.c | 2 +-
drivers/of/Kconfig | 9 ++
drivers/of/of_reserved_mem.c | 218 +++++++++++++++++++++++++++++++-
include/linux/of_reserved_mem.h | 11 ++
mm/sparse.c | 4 +-
samples/Kconfig | 7 +
samples/Makefile | 1 +
samples/reserved_mem/Makefile | 2 +
samples/reserved_mem/rmem_dio.c | 116 +++++++++++++++++
9 files changed, 367 insertions(+), 3 deletions(-)
create mode 100755 samples/reserved_mem/Makefile
create mode 100755 samples/reserved_mem/rmem_dio.c
--
2.25.1
Powered by blists - more mailing lists