diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2018-06-07 20:07:53 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-07 20:34:36 -0400 |
commit | 3cadfa2b9497abbd3ae11a790d53ed51b4cf8ac5 (patch) | |
tree | 1a88684580fbdd667e08364d0421cb57ff5299e1 | |
parent | d62ff365b812ecd7415252568c1836811b3dde02 (diff) |
mm/vmpressure.c: convert to use match_string() helper
The new helper returns index of the matching string in an array. We are
going to use it here.
Link: http://lkml.kernel.org/r/20180503203206.44046-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/vmpressure.c | 32 |
1 files changed, 6 insertions, 26 deletions
diff --git a/mm/vmpressure.c b/mm/vmpressure.c index 7142207224d3..4854584ec436 100644 --- a/mm/vmpressure.c +++ b/mm/vmpressure.c | |||
@@ -342,26 +342,6 @@ void vmpressure_prio(gfp_t gfp, struct mem_cgroup *memcg, int prio) | |||
342 | vmpressure(gfp, memcg, true, vmpressure_win, 0); | 342 | vmpressure(gfp, memcg, true, vmpressure_win, 0); |
343 | } | 343 | } |
344 | 344 | ||
345 | static enum vmpressure_levels str_to_level(const char *arg) | ||
346 | { | ||
347 | enum vmpressure_levels level; | ||
348 | |||
349 | for (level = 0; level < VMPRESSURE_NUM_LEVELS; level++) | ||
350 | if (!strcmp(vmpressure_str_levels[level], arg)) | ||
351 | return level; | ||
352 | return -1; | ||
353 | } | ||
354 | |||
355 | static enum vmpressure_modes str_to_mode(const char *arg) | ||
356 | { | ||
357 | enum vmpressure_modes mode; | ||
358 | |||
359 | for (mode = 0; mode < VMPRESSURE_NUM_MODES; mode++) | ||
360 | if (!strcmp(vmpressure_str_modes[mode], arg)) | ||
361 | return mode; | ||
362 | return -1; | ||
363 | } | ||
364 | |||
365 | #define MAX_VMPRESSURE_ARGS_LEN (strlen("critical") + strlen("hierarchy") + 2) | 345 | #define MAX_VMPRESSURE_ARGS_LEN (strlen("critical") + strlen("hierarchy") + 2) |
366 | 346 | ||
367 | /** | 347 | /** |
@@ -398,18 +378,18 @@ int vmpressure_register_event(struct mem_cgroup *memcg, | |||
398 | 378 | ||
399 | /* Find required level */ | 379 | /* Find required level */ |
400 | token = strsep(&spec, ","); | 380 | token = strsep(&spec, ","); |
401 | level = str_to_level(token); | 381 | level = match_string(vmpressure_str_levels, VMPRESSURE_NUM_LEVELS, token); |
402 | if (level == -1) { | 382 | if (level < 0) { |
403 | ret = -EINVAL; | 383 | ret = level; |
404 | goto out; | 384 | goto out; |
405 | } | 385 | } |
406 | 386 | ||
407 | /* Find optional mode */ | 387 | /* Find optional mode */ |
408 | token = strsep(&spec, ","); | 388 | token = strsep(&spec, ","); |
409 | if (token) { | 389 | if (token) { |
410 | mode = str_to_mode(token); | 390 | mode = match_string(vmpressure_str_modes, VMPRESSURE_NUM_MODES, token); |
411 | if (mode == -1) { | 391 | if (mode < 0) { |
412 | ret = -EINVAL; | 392 | ret = mode; |
413 | goto out; | 393 | goto out; |
414 | } | 394 | } |
415 | } | 395 | } |