Messages in this thread | | | From | Linus Torvalds <> | Date | Wed, 1 Nov 2023 21:02:51 -1000 | Subject | Re: [GIT PULL] Modules changes for v6.7-rc1 |
| |
On Wed, 1 Nov 2023 at 10:13, Luis Chamberlain <mcgrof@kernel.org> wrote: > > The only thing worth highligthing is that gzip moves to use vmalloc() instead of > kmalloc just as we had a fix for this for zstd on v6.6-rc1.
Actually, that's almost certainly entirely the wrong thing to do.
Unless you *know* that the allocation is large, you shouldn't use vmalloc(). And since kmalloc() has worked fine, you most definitely don't know that.
So we have 'kvmalloc()' *exactly* for this reason, which is a "use kmalloc, unless that is too small, then use vmalloc".
kmalloc() isn't just about "use physically contiguous allocations". It's also more memory-efficient, and a *lot* faster than vmalloc(), which has to play VM tricks.
So this "just switch to vmalloc()" is entirely wrong.
Linus
| |