@@ -342,26 +342,6 @@ void vmpressure_prio(gfp_t gfp, struct mem_cgroup *memcg, int prio)
342
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
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
379
/* Find required level */
400
380
token = strsep (& spec , "," );
401
- level = str_to_level ( token );
402
- if (level == -1 ) {
403
- ret = - EINVAL ;
381
+ level = match_string ( vmpressure_str_levels , VMPRESSURE_NUM_LEVELS , token );
382
+ if (level < 0 ) {
383
+ ret = level ;
404
384
goto out ;
405
385
}
406
386
407
387
/* Find optional mode */
408
388
token = strsep (& spec , "," );
409
389
if (token ) {
410
- mode = str_to_mode ( token );
411
- if (mode == -1 ) {
412
- ret = - EINVAL ;
390
+ mode = match_string ( vmpressure_str_modes , VMPRESSURE_NUM_MODES , token );
391
+ if (mode < 0 ) {
392
+ ret = mode ;
413
393
goto out ;
414
394
}
415
395
}
0 commit comments