Re: [PATCH v2 1/2] mm/vmalloc: export __vmalloc_node_range
From: Christian Borntraeger <hidden>
Date: 2021-06-09 17:50:50
Also in:
kvm, linux-s390, lkml
From: Christian Borntraeger <hidden>
Date: 2021-06-09 17:50:50
Also in:
kvm, linux-s390, lkml
On 09.06.21 18:49, Uladzislau Rezki wrote:
On Wed, Jun 09, 2021 at 06:28:09PM +0200, Claudio Imbrenda wrote:quoted
On Wed, 9 Jun 2021 16:59:17 +0100 Christoph Hellwig [off-list ref] wrote:quoted
On Tue, Jun 08, 2021 at 08:06:17PM +0200, Claudio Imbrenda wrote:quoted
The recent patches to add support for hugepage vmalloc mappings added a flag for __vmalloc_node_range to allow to request small pages. This flag is not accessible when calling vmalloc, the only option is to call directly __vmalloc_node_range, which is not exported. This means that a module can't vmalloc memory with small pages. Case in point: KVM on s390x needs to vmalloc a large area, and it needs to be mapped with small pages, because of a hardware limitation. This patch exports __vmalloc_node_range so it can be used in modules too.No. I spent a lot of effort to mak sure such a low-level API is not exported.ok, but then how can we vmalloc memory with small pages from KVM?Does the s390x support CONFIG_HAVE_ARCH_HUGE_VMALLOC what is arch specific?
Not yet, but we surely want that for almost everything on s390. Only this particular firmware interface does not handle large pages for donated memory.
If not then small pages are used. Or am i missing something? I agree with Christoph that exporting a low level internals is not a good idea.