From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50577C4321E for ; Wed, 30 Nov 2022 19:26:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9493E6B0074; Wed, 30 Nov 2022 14:26:40 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F9116B0075; Wed, 30 Nov 2022 14:26:40 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7C3246B0078; Wed, 30 Nov 2022 14:26:40 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 6D7186B0074 for ; Wed, 30 Nov 2022 14:26:40 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 38728AB90F for ; Wed, 30 Nov 2022 19:26:40 +0000 (UTC) X-FDA: 80191090560.17.EAE13E6 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf15.hostedemail.com (Postfix) with ESMTP id C0D6DA000B for ; Wed, 30 Nov 2022 19:26:39 +0000 (UTC) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id B780C60A29; Wed, 30 Nov 2022 19:26:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B3069C433C1; Wed, 30 Nov 2022 19:26:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1669836398; bh=5LR5nZNtSi/Kxu1y5TcusuYTtmflF/F58GD4wz8A6tU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SREZe5jdo0z5QVLSdrd5b0OVFXg61U4/Toe+uHLqAu5+dhjXGqEcvPpu5Bf5uzF2f ejG8HkfnDf60Z5/pj8/h6WGr1ajfx6psmvzyv9J7XaH53zaa+ZDnVh8morJRd8r6Gj qT9OPkWumBDYRPx1esRxs+bpOlnEsUGnsWTfzbRpeY3IinzZTKE1d09QKFdKWCAPNt 6ao2pdaLZSgdULhCDyCZWVKdw2nL2I7XPvHOT6MfwiG2fZjncbIadndltZhYrgOv1G NsokxYq/ch394MEBS93KP2g/mpcWauv3KfJ7PTrWmLg6IKeUYOuR8rbHM0iDv57eFw daF7L8MIHjN/A== From: SeongJae Park To: SeongJae Park Cc: Andrew Morton , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 08/11] mm/damon/sysfs-schemes: implement scheme filters Date: Wed, 30 Nov 2022 19:26:36 +0000 Message-Id: <20221130192636.116555-1-sj@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221124212114.136863-9-sj@kernel.org> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=SREZe5jd; spf=pass (imf15.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1669836399; a=rsa-sha256; cv=none; b=WF2eV0LBshXLY60uJQppzrNublLfEyHgiA1Yc3qRCA5hrju3FvvzxB0QzJTPGS8CSvkOq/ Y5OFlJC2arZsvsXJvgLBQlW0kAKAU0eWg8FK5nJsMWdnMa0EqLbj+xOC3tx8mHFt4Y1Par 6NWJpeiTTEKmhjw2nEM1mucmwnRPPPs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1669836399; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=faTj3aStCIHsm72pF0FxWEC3nDJFkXuNWkRsKS3+Qlw=; b=VaVFJst3uH1VFtg0bENwatHDdr7IwSQO9Cf0MkAz2aCTzrPcSt+r19kNWjMr0dW6BkHfeZ mNupxItgBgklxFQpHZrYLqFAXTN64wB5yqaERy8ldvjjin/Mu08t0g4i9A01G2Ac0KJ/04 2Ug36qC9YUuPljMglQWjTm+6FCBgeaI= Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=SREZe5jd; spf=pass (imf15.hostedemail.com: domain of sj@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: C0D6DA000B X-Stat-Signature: 313qhjcma4rccu5eow7b9b65tjnwx3k1 X-Rspam-User: X-HE-Tag: 1669836399-126433 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: On Thu, 24 Nov 2022 21:21:11 +0000 SeongJae Park wrote: > Implement scheme filters functionality of DAMON sysfs interface by > making the code reads the values of files under the filter directories > and pass that to DAMON using DAMON kernel API. > > Signed-off-by: SeongJae Park > --- > mm/damon/sysfs-schemes.c | 85 +++++++++++++++++++++++++++++++++++++++- > 1 file changed, 84 insertions(+), 1 deletion(-) > > diff --git a/mm/damon/sysfs-schemes.c b/mm/damon/sysfs-schemes.c > index 7f2bab617156..6f014b328e6f 100644 > --- a/mm/damon/sysfs-schemes.c > +++ b/mm/damon/sysfs-schemes.c [...] > +static int damon_sysfs_memcg_path_to_id(char *memcg_path, unsigned short *id) > +{ > + struct mem_cgroup *memcg; > + char *path; > + > + if (!memcg_path) > + return -EINVAL; > + > + path = kmalloc(sizeof(*path) * PATH_MAX, GFP_KERNEL); > + if (!path) > + return -ENOMEM; > + > + for (memcg = mem_cgroup_iter(NULL, NULL, NULL); memcg; > + memcg = mem_cgroup_iter(NULL, memcg, NULL)) { > + if (damon_sysfs_memcg_path_eq(memcg, path, memcg_path)) { > + *id = mem_cgroup_id(memcg); Forgot mentioning this. Removed memcgs can still be iterated, so this can result in getting id of already removed cgroup. If the user input is valid but there is a removed memcg that has same path, this could be confused. Removed memcg would have id 0. The next version of this will handle the case. Thanks, SJ > + break; > + } > + } > + > + kfree(path); > + return 0; > +}