Messages in this thread | | | Subject | Re: [PATCH v2 1/2] mm/vmalloc: export __vmalloc_node_range | From | Christian Borntraeger <> | Date | Wed, 9 Jun 2021 19:50:27 +0200 |
| |
On 09.06.21 18:49, Uladzislau Rezki wrote: > On Wed, Jun 09, 2021 at 06:28:09PM +0200, Claudio Imbrenda wrote: >> On Wed, 9 Jun 2021 16:59:17 +0100 >> Christoph Hellwig <hch@infradead.org> wrote: >> >>> On Tue, Jun 08, 2021 at 08:06:17PM +0200, Claudio Imbrenda wrote: >>>> 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.
| |