mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-01 08:04:22 +08:00
mm, slub: make reclaim_account attribute read-only
The attribute reflects the SLAB_RECLAIM_ACCOUNT cache flag. It's not clear why this attribute was writable in the first place, as it's tied to how the cache is used by its creator, it's not a user tunable. Furthermore: - it affects slab merging, but that's not being checked while toggled - if affects whether __GFP_RECLAIMABLE flag is used to allocate page, but the runtime toggle doesn't update allocflags - it affects cache_vmstat_idx() so runtime toggling might lead to incosistency of NR_SLAB_RECLAIMABLE and NR_SLAB_UNRECLAIMABLE Thus make it read-only. Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Kees Cook <keescook@chromium.org> Acked-by: Roman Gushchin <guro@fb.com> Cc: Christoph Lameter <cl@linux.com> Cc: Jann Horn <jannh@google.com> Cc: Vijayanand Jitta <vjitta@codeaurora.org> Cc: David Rientjes <rientjes@google.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Pekka Enberg <penberg@kernel.org> Link: http://lkml.kernel.org/r/20200610163135.17364-6-vbabka@suse.cz Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
060807f841
commit
8f58119ac4
11
mm/slub.c
11
mm/slub.c
@ -5207,16 +5207,7 @@ static ssize_t reclaim_account_show(struct kmem_cache *s, char *buf)
|
||||
{
|
||||
return sprintf(buf, "%d\n", !!(s->flags & SLAB_RECLAIM_ACCOUNT));
|
||||
}
|
||||
|
||||
static ssize_t reclaim_account_store(struct kmem_cache *s,
|
||||
const char *buf, size_t length)
|
||||
{
|
||||
s->flags &= ~SLAB_RECLAIM_ACCOUNT;
|
||||
if (buf[0] == '1')
|
||||
s->flags |= SLAB_RECLAIM_ACCOUNT;
|
||||
return length;
|
||||
}
|
||||
SLAB_ATTR(reclaim_account);
|
||||
SLAB_ATTR_RO(reclaim_account);
|
||||
|
||||
static ssize_t hwcache_align_show(struct kmem_cache *s, char *buf)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user