From patchwork Tue Nov 21 05:36:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SeongJae Park X-Patchwork-Id: 13462505 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 7AE20C5ACB3 for ; Tue, 21 Nov 2023 05:36:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1330D6B03D7; Tue, 21 Nov 2023 00:36:21 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0933A6B03D8; Tue, 21 Nov 2023 00:36:21 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E4F2F6B03DA; Tue, 21 Nov 2023 00:36:20 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D26526B03D7 for ; Tue, 21 Nov 2023 00:36:20 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id AD8601A0865 for ; Tue, 21 Nov 2023 05:36:20 +0000 (UTC) X-FDA: 81480850920.23.287622B Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf12.hostedemail.com (Postfix) with ESMTP id CB9F74000A for ; Tue, 21 Nov 2023 05:36:18 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=D6nVWtz7; spf=pass (imf12.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700544979; 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:references:dkim-signature; bh=7EhJsRwMoOMIYMl/nZiPuFFK/qggUG9M9CeZZ4vHDL4=; b=HPRfwrs3jIfNfqPDStJNVaNYFUkHGAyTln+KiYfH5PgWFKIC1KmvJ/qSBg4Pr/gFcek/Qe T1I7eqoITSo4I3Zjkze7e+UFVMtPWLCgho89stwLMLLNXCKDArPBQRi1ouMNZ2/utYkNwO 2fKdsNhM0fvwm8HuqsrMUKNXBMSC0kA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700544979; a=rsa-sha256; cv=none; b=THgaxeKFNNl9WlTACka8/Lbr9hRcGKYEA6QP6gxtk3ogntaBxXY06x7x75+IJuV9k478qG VjWE8koZ8REgdd6vfMizNihYAUbLEp2LFe31ynFlLC2xq3YQ7JoUKLu8dbX7BQt6AVHv0t jWF2jTeQXASKu9omGNvK7pfvN1GWBkk= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=D6nVWtz7; spf=pass (imf12.hostedemail.com: domain of sj@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=sj@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 15287CE1A08; Tue, 21 Nov 2023 05:36:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0C87C433C7; Tue, 21 Nov 2023 05:36:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700544975; bh=2hTiZxsT86X0oN/PSearw+dfIAhh29V867VL4eOG5r8=; h=From:To:Cc:Subject:Date:From; b=D6nVWtz74Snj6LQsOZed22kJrcYfOOgYEzM/3i+YkHfCZmhauAJx7p3sCWPmkqUZT +S9RB1X3HAlZGSQDqQkt+IoQZRP42JQxD+10JjolCfxKyMMlLFN+ki6Bu9mHIQpXWi McBkhAlEdsTrUaRbTH1lyXmWGsnIz55tK7TJV/xaTgoWXb4+SgZG8vweCqDFIu+Nvz tZ5dfUYZB+t+Nz/tP+1c5ttoqjr3pS0g16ro3IabH7HAEcVvhddyzfiuAuNYakoWcB 5CTdxJsyMsfdPoT/fbyZ+zd76mKOiq9+q76NjH/GbN+xZKAJswD5ufN9CVkvsPks8B OokXxU/mf8+WQ== From: SeongJae Park To: Cc: SeongJae Park , Andrew Morton , damon@lists.linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 0/2] mm/damon: export DAMON symbols and add sample loadable modules Date: Tue, 21 Nov 2023 05:36:01 +0000 Message-Id: <20231121053604.60798-1-sj@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Rspamd-Queue-Id: CB9F74000A X-Rspam-User: X-Stat-Signature: exmi85x5fjtar4z4uxfsxcfq5frsm54u X-Rspamd-Server: rspam03 X-HE-Tag: 1700544978-291759 X-HE-Meta: U2FsdGVkX1/iezORDAvg7kAconY4yOxpRgVo7b6x/3j8uoD4Qka0vgiMwSI/QpJgT3YhSFRCY95AxEGoRZjZ85sO213oOru8YP4xlZDBNeSHpMXEPjFV7148XysmFZn+QdXPRmB8vxDDvJENaytHEyzJZJkHgHvIQoAl4cK8W4ZrlVZjAnG+wkOBIDgHa9NY5WhBKb4t7s/oFGfre6eaHHcBW4imjO1Pdq+2E4Cn3bPQrBzyQMrpfgFSh4T/LzMIoQ0f01mA/8ORc2cxpnR7YPolr3JrTQdMFNzU41oAhSJJjxvh9XpPkulj0nCWJmZ0rg0CiYOJiLBfG1M5adtVggzOTX22lmVq3elROVjLIApC8E5Gy/SBbgLFAotK8dZxITfxoYA03WXTeNdb4rKqY34sZAs9ssWY4GN8agdk3LbivQXlkYszNq904SyIbPmhSwLOHTrSD3x4hAWG/y1DEx2JuSm43iky6FNFGIrtXakapJNwS7ZW9ci0BSdB08z3GUgR7hiIg/GKQ5jaI3izDkq1TZPkEj9hMJSDX+b5r1a9xZLodNklm2Zu0Nr7rxjnNy9HCRyrNzW9ji4TWlXLTECSIGMd9UAsyP5w+BckgMW41FSfX3fbuxgLV4WQkhNjtkOHl4KgiLZSzbrX0mZ0QR2kasSer9RFoWPeMkAoveNoQ5n/j05xDvlLr0TEuPOs5sLXP8GROBdbZ62Er2kyFIqOhg/5d0X5ejXAZsICnM4g7mqXk2PcMKbPT9MEMHwltSKtbQXoJOfdpRgJbmInBsCWShw2vL7/XIBQ9bdiSmOx7c3B4llC1Qq2EzFKH43J9Unz3NSNxvNE6qW1HrC5QktEokxc6Z18Ky5Tg4eAReL+wlzJLdwjVwOS7WhSHBuSNTyixNdnDTV5ZF7S3Mu4sXHKJXNh7NXA4PLfowdR9LmTa3qz2vD12s9W3OFzAnwNUV5YwNquH3yitzvBHr9 VKPu+I1r fkLvSVRcRtjeAw0uMW3aJ7uOR3FFLeMEFmlCgsbBllpZpsDvljhDXAxVGe3pQrV1htmLEBchTK5E115NyyRWeJSprZ5bYlqfoyeSahZJz9RIYetKeDHZiOJ4rovkrC9cfqwlI7awngvnrZFjjuE8nsKssfQixmsy8EwTu0lhUoBEubD4ogII7VZO9K2pD3S5f+4snJiYrFQ5qDIUzD+dN3Q/o8kmLwC345B1F2C6BkEESev8= 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: List-Subscribe: List-Unsubscribe: DAMON cannot be used from loadable modules since it is not exporting its symbols. This makes use of DAMON unnecessarily tedious. For example, we presented basic usge of DAMON at kernel summit 2021[1] by writing simple loadable DAMON application modules in live. Because the time was limited (10 minutes) and the coding was to be done step by step, we had to make a downstream commit that exports DAMON symbols. There were users asking why the source code is now not working. It was mainly due to the absence of the symbols export patch on their tree, but also due to the changed DAMON interfaces. There were also multiple users requesting support of loadable modules for easier deployment. There's no reason to avoid exporting DAMON symbols. However, it would be better to have concrete use cases of the symbols in the tree together, for better maintenance of the interface and the use cases. The kernels summit 2021's live-coded modules could be used for the purpose. Expose DAMON API modules for supporting the minimum modules and and add the kernel summit 2021's modules that updated for latest DAMON API under the samples directory. We will keep update of the sample modules. For exporting more symbols, requesters would be required to merge their modules using it in the tree together, or updsate the sample modules to use the newly-exporting symbols in reasonable and still simple ways. [1] https://linuxplumbersconf.org/event/11/contributions/984/ SeongJae Park (2): mm/damon/core: export symbols for supporting loadable modules samples: add DAMON sample kernel modules MAINTAINERS | 1 + mm/damon/core.c | 10 ++++ samples/Kconfig | 2 + samples/Makefile | 2 + samples/damon/Kconfig | 30 ++++++++++ samples/damon/Makefile | 3 + samples/damon/damon_sample_prcl.c | 98 +++++++++++++++++++++++++++++++ samples/damon/damon_sample_wsse.c | 80 +++++++++++++++++++++++++ 8 files changed, 226 insertions(+) create mode 100644 samples/damon/Kconfig create mode 100644 samples/damon/Makefile create mode 100644 samples/damon/damon_sample_prcl.c create mode 100644 samples/damon/damon_sample_wsse.c base-commit: 79cc930e5e3dc73c972d9e422b5e2ab3fe56dce5