[PATCH] target: substitute kmap() with kmap_local_page()

Shi Hao posted 1 patch 3 months, 1 week ago
drivers/target/target_core_rd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] target: substitute kmap() with kmap_local_page()
Posted by Shi Hao 3 months, 1 week ago
There was a single use of kmap() which could be replaced with
kmap_local_page() for better CPU contention and cache locality.
kmap_local_page() ensures non-sleeping operation and provides
better multi-core CPU scalability compared to kmap().
Convert kmap() to kmap_local_page() following modern kernel
coding practices.

Signed-off-by: Shi Hao <i.shihao.999@gmail.com>
---
 drivers/target/target_core_rd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/target/target_core_rd.c b/drivers/target/target_core_rd.c
index 6f67cc09c2b5..d6768ea27f94 100644
--- a/drivers/target/target_core_rd.c
+++ b/drivers/target/target_core_rd.c
@@ -159,9 +159,9 @@ static int rd_allocate_sgl_table(struct rd_dev *rd_dev, struct rd_dev_sg_table *
 			sg_assign_page(&sg[j], pg);
 			sg[j].length = PAGE_SIZE;

-			p = kmap(pg);
+			p = kmap_local_page(pg);
 			memset(p, init_payload, PAGE_SIZE);
-			kunmap(pg);
+			kunmap_local(p);
 		}

 		page_offset += sg_per_table;
--
2.51.0
Re: [PATCH] target: substitute kmap() with kmap_local_page()
Posted by Chaitanya Kulkarni 3 months ago
On 11/1/25 00:41, Shi Hao wrote:
> There was a single use of kmap() which could be replaced with
> kmap_local_page() for better CPU contention and cache locality.
> kmap_local_page() ensures non-sleeping operation and provides
> better multi-core CPU scalability compared to kmap().
> Convert kmap() to kmap_local_page() following modern kernel
> coding practices.
>
> Signed-off-by: Shi Hao<i.shihao.999@gmail.com>
> ---


Looks good.

Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>

-ck