summaryrefslogtreecommitdiff
path: root/include/linux/bootmem.h
diff options
context:
space:
mode:
authorPavel Tatashin <pasha.tatashin@oracle.com>2017-07-07 01:39:08 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2017-07-07 02:24:33 +0300
commit3749a8f008eac3355a9e50b366ba08317a7e9cf8 (patch)
tree448dc6eaf19a3838cdc2ab497c529729168def2b /include/linux/bootmem.h
parentf7fb506fef6e8701bdb0ea7bb4f01148efd7416c (diff)
downloadlinux-3749a8f008eac3355a9e50b366ba08317a7e9cf8.tar.xz
mm: zero hash tables in allocator
Add a new flag HASH_ZERO which when provided grantees that the hash table that is returned by alloc_large_system_hash() is zeroed. In most cases that is what is needed by the caller. Use page level allocator's __GFP_ZERO flags to zero the memory. It is using memset() which is efficient method to zero memory and is optimized for most platforms. Link: http://lkml.kernel.org/r/1488432825-92126-3-git-send-email-pasha.tatashin@oracle.com Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com> Reviewed-by: Babu Moger <babu.moger@oracle.com> Cc: David Miller <davem@davemloft.net> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/bootmem.h')
-rw-r--r--include/linux/bootmem.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h
index 962164d36506..e223d91b6439 100644
--- a/include/linux/bootmem.h
+++ b/include/linux/bootmem.h
@@ -358,6 +358,7 @@ extern void *alloc_large_system_hash(const char *tablename,
#define HASH_EARLY 0x00000001 /* Allocating during early boot? */
#define HASH_SMALL 0x00000002 /* sub-page allocation allowed, min
* shift passed via *_hash_shift */
+#define HASH_ZERO 0x00000004 /* Zero allocated hash table */
/* Only NUMA needs hash distribution. 64bit NUMA architectures have
* sufficient vmalloc space.