Thread (55 messages) 55 messages, 5 authors, 2018-01-17

Re: kmem_cache_attr (was Re: [PATCH 04/36] usercopy: Prepare for usercopy whitelisting)

From: Christopher Lameter <hidden>
Date: 2018-01-16 18:07:49
Also in: linux-arch, linux-fsdevel, linux-mm, linux-xfs, lkml

On Tue, 16 Jan 2018, Matthew Wilcox wrote:
quoted
Sure this data is never changed. It can be const.
It's changed at initialisation.  Look:

kmem_cache_create(const char *name, size_t size, size_t align,
                  slab_flags_t flags, void (*ctor)(void *))
        s = create_cache(cache_name, size, size,
                         calculate_alignment(flags, align, size),
                         flags, ctor, NULL, NULL);

The 'align' that ends up in s->align, is not the user-specified align.
It's also dependent on runtime information (cache_line_size()), so it
can't be calculated at compile time.
Then we would need another align field in struct kmem_cache that takes the
changes value?
'flags' also gets mangled:
        flags &= CACHE_CREATE_MASK;
Well ok then that also belongs into kmem_cache and the original value
stays in kmem_cache_attr.
unsigned int would be my preference.
Great.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help