mm/slub.c: parse slub_debug O option in switch statement
authorChris J Arges <chris.j.arges@canonical.com>
Tue, 14 Apr 2015 22:44:25 +0000 (15:44 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Apr 2015 23:48:59 +0000 (16:48 -0700)
By moving the O option detection into the switch statement, we allow this
parameter to be combined with other options correctly.  Previously options
like slub_debug=OFZ would only detect the 'o' and use DEBUG_DEFAULT_FLAGS
to fill in the rest of the flags.

Signed-off-by: Chris J Arges <chris.j.arges@canonical.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Acked-by: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/slub.c

index 82c473780c9188ecf7bfc393703f47793a2fbfe9..d01f9126fcf2ade0502a274b91deed576b410a43 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1137,15 +1137,6 @@ static int __init setup_slub_debug(char *str)
                 */
                goto check_slabs;
 
-       if (tolower(*str) == 'o') {
-               /*
-                * Avoid enabling debugging on caches if its minimum order
-                * would increase as a result.
-                */
-               disable_higher_order_debug = 1;
-               goto out;
-       }
-
        slub_debug = 0;
        if (*str == '-')
                /*
@@ -1176,6 +1167,13 @@ static int __init setup_slub_debug(char *str)
                case 'a':
                        slub_debug |= SLAB_FAILSLAB;
                        break;
+               case 'o':
+                       /*
+                        * Avoid enabling debugging on caches if its minimum
+                        * order would increase as a result.
+                        */
+                       disable_higher_order_debug = 1;
+                       break;
                default:
                        pr_err("slub_debug option '%c' unknown. skipped\n",
                               *str);