From patchwork Thu May 3 20:32:06 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 10379211 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9EE2060327 for ; Thu, 3 May 2018 20:32:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 89F5629276 for ; Thu, 3 May 2018 20:32:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7CA1129278; Thu, 3 May 2018 20:32:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F134829276 for ; Thu, 3 May 2018 20:32:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5E74A6B0003; Thu, 3 May 2018 16:32:11 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 59E7C6B0009; Thu, 3 May 2018 16:32:11 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4AEC46B000A; Thu, 3 May 2018 16:32:11 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg0-f70.google.com (mail-pg0-f70.google.com [74.125.83.70]) by kanga.kvack.org (Postfix) with ESMTP id 093F06B0003 for ; Thu, 3 May 2018 16:32:11 -0400 (EDT) Received: by mail-pg0-f70.google.com with SMTP id w3-v6so12637796pgv.17 for ; Thu, 03 May 2018 13:32:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id; bh=WgyjrxMrgW/8jWzcdiTKB40K1+K9YXUjPSz/6X6dNyc=; b=Yrh9wXtsw6klE7BSumCykf4EweWKiFKjjXEaL6DdhE4QpS4Z0LDh72iZDs/bnPXCd7 IlCSPRxfLc8+JVodtQq77fYJM50hPk4EtwAzDMT5JPDJ5wP86jdajAPMBCRuoQWZsEaJ KMAHCRqgwLuYeF+3qsANoIR5cof9FTvp5IGHvbiDBPoMcY6AlUf9qW/S3NGL4cHWGGcA wEcenamedzYIDJ6yUb/2HD+PgDAnmLSU5ZCSeNLueKE3NFsg8vk89rGgXZu27faKx58j dgVOWok4G99Pkj0dQP+OgkluzUGp0oEqaW+dJht5rEgrv7ybwz+eWqcfGXyY8fEc2QzP HyCw== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of andriy.shevchenko@linux.intel.com designates 134.134.136.31 as permitted sender) smtp.mailfrom=andriy.shevchenko@linux.intel.com X-Gm-Message-State: ALQs6tC+39rSQrisKGXKIYZXoWBhJeqGVLNoR0k9v5X9KZopZl576jGU fLxQ/+ahzxD4TBQvhSRAxUb/1A8x3sjgKlnxeBpJaPKKTanmWqBcFdc3b24JBiQJfdYjuczaIvQ ZbZjoELCW01wYQNiWXafnagcPqH8I2va5GO9wlZzVzKpQyTHmkR5iIFF3qKD6Av6n/Q== X-Received: by 2002:a63:5f8a:: with SMTP id t132-v6mr431922pgb.173.1525379530713; Thu, 03 May 2018 13:32:10 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpmw1ls8VlMc7qO3KGH0EIVVe8l7BvYnmyq27YrrrPC1tG+iG4wxh/U0RhKfr3BBj+fMkOe X-Received: by 2002:a63:5f8a:: with SMTP id t132-v6mr431898pgb.173.1525379529911; Thu, 03 May 2018 13:32:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525379529; cv=none; d=google.com; s=arc-20160816; b=ix+qKM31zcrYLy9Plszi0pOv66MM4nWYxQCccJdGqpfpnjT6M0myjirNmaSacnZJdD eKrkcLm/uUQaOC7v45CbA+69OAVJMw21iQnM+DobqB5ccJGbj0YFpBFwNL3WIZgiUVUb dDb/Y9Za5jp+wBX+eFrNcwWUlpeKkGEvmdPA4GGhXIoHJ7aO/5Y9XBX/M63+xEIDJAMu pHBJIKUewQ5SPwvCzO1q1oy8W2iO0DNo5TEmSXDVFShSOujxJQAfLt4sqJ2x9N5enodT LkYRmlx39aFusMORgoz35BIWFrkpPI/xBOznZbAWrdQdRjNih40rEQAu/znenDGdT7z2 GCTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:cc:to:from:arc-authentication-results; bh=WgyjrxMrgW/8jWzcdiTKB40K1+K9YXUjPSz/6X6dNyc=; b=anNSwRBUd1pbM3AQLs4SFr11FlJU1dNPYib29xvMXoF2v1h0zrAaFcY1Vx8gTftyQm 2bP4nucyCXXILrVbqYhV5OkHJh4HPNkq8hP8zSiDA3yZODt/2ogHGTyLpC8KuF2v8Jys BQ9DId0sULfgg2yhuauwMW37oiS7kMBJY+FMKiZ+5e61J85h77e8Njy5Q6gfmkH3jDcl Hp1W4f8/5luV+jgEMDGv/8XLh/7Aom1DnnSfs6tYbrSIY0jcCHYv893lGNFy4w/A+Tb8 VmwfvFwjdXgfiLupUSChj1hJwIsTI+0outqfsv8AW7gOAZfmGT/vBm4Gpgjp8ql0ZSTx NDzQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of andriy.shevchenko@linux.intel.com designates 134.134.136.31 as permitted sender) smtp.mailfrom=andriy.shevchenko@linux.intel.com Received: from mga06.intel.com (mga06.intel.com. [134.134.136.31]) by mx.google.com with ESMTPS id y23si14539916pff.177.2018.05.03.13.32.09 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 03 May 2018 13:32:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of andriy.shevchenko@linux.intel.com designates 134.134.136.31 as permitted sender) client-ip=134.134.136.31; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of andriy.shevchenko@linux.intel.com designates 134.134.136.31 as permitted sender) smtp.mailfrom=andriy.shevchenko@linux.intel.com X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 May 2018 13:32:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,359,1520924400"; d="scan'208";a="38247482" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga007.jf.intel.com with ESMTP; 03 May 2018 13:32:07 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id F378DCE; Thu, 3 May 2018 23:32:06 +0300 (EEST) From: Andy Shevchenko To: David Rientjes , linux-mm@kvack.org, Andrew Morton Cc: Andy Shevchenko Subject: [PATCH v1] mm, vmpressure: Convert to use match_string() helper Date: Thu, 3 May 2018 23:32:06 +0300 Message-Id: <20180503203206.44046-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.17.0 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP The new helper returns index of the matching string in an array. We are going to use it here. Signed-off-by: Andy Shevchenko Acked-by: Michal Hocko --- mm/vmpressure.c | 32 ++++++-------------------------- 1 file 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) vmpressure(gfp, memcg, true, vmpressure_win, 0); } -static enum vmpressure_levels str_to_level(const char *arg) -{ - enum vmpressure_levels level; - - for (level = 0; level < VMPRESSURE_NUM_LEVELS; level++) - if (!strcmp(vmpressure_str_levels[level], arg)) - return level; - return -1; -} - -static enum vmpressure_modes str_to_mode(const char *arg) -{ - enum vmpressure_modes mode; - - for (mode = 0; mode < VMPRESSURE_NUM_MODES; mode++) - if (!strcmp(vmpressure_str_modes[mode], arg)) - return mode; - return -1; -} - #define MAX_VMPRESSURE_ARGS_LEN (strlen("critical") + strlen("hierarchy") + 2) /** @@ -398,18 +378,18 @@ int vmpressure_register_event(struct mem_cgroup *memcg, /* Find required level */ token = strsep(&spec, ","); - level = str_to_level(token); - if (level == -1) { - ret = -EINVAL; + level = match_string(vmpressure_str_levels, VMPRESSURE_NUM_LEVELS, token); + if (level < 0) { + ret = level; goto out; } /* Find optional mode */ token = strsep(&spec, ","); if (token) { - mode = str_to_mode(token); - if (mode == -1) { - ret = -EINVAL; + mode = match_string(vmpressure_str_modes, VMPRESSURE_NUM_MODES, token); + if (mode < 0) { + ret = mode; goto out; } }