From: Akinobu Mita Filtering __GFP_HIGHMEM flag for slab allocations is useless. Because no one sets __GFP_HIGHMEM for slab allocator, unlike for page allocator. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton --- Documentation/fault-injection/fault-injection.txt | 2 - mm/slab.c | 17 +----------- 2 files changed, 2 insertions(+), 17 deletions(-) diff -puN Documentation/fault-injection/fault-injection.txt~fault-injection-capability-for-kmalloc-failslab-remove-__gfp_highmem-filtering Documentation/fault-injection/fault-injection.txt --- a/Documentation/fault-injection/fault-injection.txt~fault-injection-capability-for-kmalloc-failslab-remove-__gfp_highmem-filtering +++ a/Documentation/fault-injection/fault-injection.txt @@ -86,7 +86,6 @@ configuration of fault-injection capabil specifies the maximum stacktrace depth walked during search for a caller within [address-start,address-end). -- /debug/failslab/ignore-gfp-highmem: - /debug/fail_page_alloc/ignore-gfp-highmem: Format: { 0 | 1 } @@ -167,7 +166,6 @@ echo 10 > /debug/$FAILNAME/probability echo 100 > /debug/$FAILNAME/interval echo -1 > /debug/$FAILNAME/times echo 2 > /debug/$FAILNAME/verbose -echo 1 > /debug/$FAILNAME/ignore-gfp-highmem echo 1 > /debug/$FAILNAME/ignore-gfp-wait blacklist() diff -puN mm/slab.c~fault-injection-capability-for-kmalloc-failslab-remove-__gfp_highmem-filtering mm/slab.c --- a/mm/slab.c~fault-injection-capability-for-kmalloc-failslab-remove-__gfp_highmem-filtering +++ a/mm/slab.c @@ -3101,15 +3101,10 @@ static struct failslab_attr { struct fault_attr attr; - u32 ignore_gfp_highmem; u32 ignore_gfp_wait; - #ifdef CONFIG_FAULT_INJECTION_DEBUG_FS - - struct dentry *ignore_gfp_highmem_file; struct dentry *ignore_gfp_wait_file; - -#endif /* CONFIG_FAULT_INJECTION_DEBUG_FS */ +#endif } failslab = { .attr = FAULT_ATTR_INITIALIZER, @@ -3127,8 +3122,6 @@ static int should_failslab(struct kmem_c return 0; if (flags & __GFP_NOFAIL) return 0; - if (failslab.ignore_gfp_highmem && (flags & __GFP_HIGHMEM)) - return 0; if (failslab.ignore_gfp_wait && (flags & __GFP_WAIT)) return 0; @@ -3152,15 +3145,9 @@ static int __init failslab_debugfs(void) debugfs_create_bool("ignore-gfp-wait", mode, dir, &failslab.ignore_gfp_wait); - failslab.ignore_gfp_highmem_file = - debugfs_create_bool("ignore-gfp-highmem", mode, dir, - &failslab.ignore_gfp_highmem); - - if (!failslab.ignore_gfp_wait_file || - !failslab.ignore_gfp_highmem_file) { + if (!failslab.ignore_gfp_wait_file) { err = -ENOMEM; debugfs_remove(failslab.ignore_gfp_wait_file); - debugfs_remove(failslab.ignore_gfp_highmem_file); cleanup_fault_attr_dentries(&failslab.attr); } _