[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250807075810.358714-1-urezki@gmail.com>
Date: Thu, 7 Aug 2025 09:58:02 +0200
From: "Uladzislau Rezki (Sony)" <urezki@...il.com>
To: linux-mm@...ck.org,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Vlastimil Babka <vbabka@...e.cz>,
Michal Hocko <mhocko@...nel.org>,
Baoquan He <bhe@...hat.com>,
LKML <linux-kernel@...r.kernel.org>,
Uladzislau Rezki <urezki@...il.com>
Subject: [PATCH 0/8] __vmalloc() and no-block support
Hello.
This is a second series of making __vmalloc() to support GFP_ATOMIC and
GFP_NOWAIT flags. It tends to improve the non-blocking behaviour.
The first one can be found here:
https://lore.kernel.org/all/20250704152537.55724-1-urezki@gmail.com/
that was an RFC. Using this series for testing i have not found more
places which can trigger: scheduling during atomic. Though there is
one which requires attention. I will explain in [1].
Please note, non-blocking gets improved in the __vmalloc() call only,
i.e. vmalloc_huge() still contains in its paths many cond_resched()
points and can not be used as non-blocking as of now.
[1] The vmap_pages_range_noflush() contains the kmsan_vmap_pages_range_noflush()
external implementation for KCSAN specifically which is hard coded to GFP_KERNEL.
The kernel should be built with CONFIG_KCSAN option. To me it looks like not
straight forward to run such kernel on my box, therefore i need more time to
investigate what is wrong with CONFIG_KCSAN and my env.
Uladzislau Rezki (Sony) (8):
lib/test_vmalloc: add no_block_alloc_test case
lib/test_vmalloc: Remove xfail condition check
mm/vmalloc: Support non-blocking GFP flags in alloc_vmap_area()
mm/vmalloc: Remove cond_resched() in vm_area_alloc_pages()
mm/kasan, mm/vmalloc: Respect GFP flags in kasan_populate_vmalloc()
mm/vmalloc: Defer freeing partly initialized vm_struct
mm/vmalloc: Support non-blocking GFP flags in __vmalloc_area_node()
mm: Drop __GFP_DIRECT_RECLAIM flag if PF_MEMALLOC is set
include/linux/kasan.h | 6 ++--
include/linux/sched/mm.h | 7 +++-
include/linux/vmalloc.h | 6 +++-
lib/test_vmalloc.c | 28 ++++++++++++++-
mm/kasan/shadow.c | 22 ++++++++----
mm/vmalloc.c | 77 ++++++++++++++++++++++++++++++++--------
6 files changed, 119 insertions(+), 27 deletions(-)
--
2.39.5
Powered by blists - more mailing lists