On Fri, Mar 06, 2020 at 12:49:51AM -0800, Joe Perches wrote:
On Thu, 2020-03-05 at 13:16 -0800, Daniel Xu wrote:
quoted
It's not really necessary to have contiguous physical memory for xattr
values. We no longer need to worry about higher order allocations
failing with kvmalloc, especially because the xattr size limit is at
64K.
So why use vmalloc memory at all?
quoted
diff --git a/fs/xattr.c b/fs/xattr.c
']
quoted
@@ -817,7 +817,7 @@ struct simple_xattr *simple_xattr_alloc(const void *value, size_t size)
if (len < sizeof(*new_xattr))
return NULL;
- new_xattr = kmalloc(len, GFP_KERNEL);
+ new_xattr = kvmalloc(len, GFP_KERNEL);
Why is this sensible?
See the thread on v1
vmalloc memory is a much more limited resource.
Large chunks of "len" is much more limited :)
thanks,
greg k-h