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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DB92CC433F5 for ; Tue, 12 Oct 2021 20:57:26 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 6BC7A60F3A for ; Tue, 12 Oct 2021 20:57:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 6BC7A60F3A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id EDA65900002; Tue, 12 Oct 2021 16:57:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E89A66B0071; Tue, 12 Oct 2021 16:57:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D5114900002; Tue, 12 Oct 2021 16:57:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0025.hostedemail.com [216.40.44.25]) by kanga.kvack.org (Postfix) with ESMTP id C31E66B006C for ; Tue, 12 Oct 2021 16:57:25 -0400 (EDT) Received: from smtpin24.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 85051181D3970 for ; Tue, 12 Oct 2021 20:57:25 +0000 (UTC) X-FDA: 78688996050.24.0D5B227 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf13.hostedemail.com (Postfix) with ESMTP id 223C81036D4F for ; Tue, 12 Oct 2021 20:57:25 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 3FD1360720; Tue, 12 Oct 2021 20:57:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1634072242; bh=jEFMjgQZz4+KQgEEsrewnMdWOVsCrfviXlFb0Khr1V0=; h=From:To:Cc:Subject:Date:From; b=eLVWLQhf46i7fgHPRfTkTmgQKmBxG6sfZKCygPMk17kjOfKkjjQATw29r2Ru6VFr0 JH3C+bGeN5BueOQz26IkOy9FWTI/liQCCEEdbrzH22Vb9iraDBI+h/ulpUUNOxEa6f qy1HQtZuMXGX5UnmlkYAJ+Pk0YfpaGEvckUCMe6RR2kc/yq19mbkE/ivQpc3s/mEO4 NleKMPSudLMxL+GLv2A8KDF+MCsn2qBjBxdlAVOPlOz12TecJZQs/HBood6S6lKN80 PGGzdFVgtM0jO9RgaspDoQZpV3KJxyz5Eez0mOlpID9juADUZ+UnwGg49JdDvgJ2nS 8Y88eNHnqjn+g== From: SeongJae Park To: akpm@linux-foundation.org Cc: SeongJae Park , Jonathan.Cameron@Huawei.com, amit@kernel.org, benh@kernel.crashing.org, corbet@lwn.net, david@redhat.com, dwmw@amazon.com, elver@google.com, foersleo@amazon.de, gthelen@google.com, markubo@amazon.de, rientjes@google.com, shakeelb@google.com, shuah@kernel.org, linux-damon@amazon.com, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/7] DAMON: Support Physical Memory Address Space Monitoring Date: Tue, 12 Oct 2021 20:57:04 +0000 Message-Id: <20211012205711.29216-1-sj@kernel.org> X-Mailer: git-send-email 2.17.1 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 223C81036D4F X-Stat-Signature: qtb398st3qhqrgbhiibimqireb8uuhzh Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=eLVWLQhf; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf13.hostedemail.com: domain of sj@kernel.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=sj@kernel.org X-HE-Tag: 1634072245-846654 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: Changes from Previous Version (RFC[1]) ====================================== - Rebase on latest -mm tree - Remove page granularity idleness monitoring part [1] https://lore.kernel.org/linux-mm/20201216094221.11898-1-sjpark@amazon.com/ Introduction ============ DAMON is currently supporting only virtual address spaces monitoring. It can be easily extended for various use cases and address spaces by configuring its monitoring primitives layer to use appropriate primitives implementations, though. This patchset implements monitoring primitives for the physical address space monitoring using the structure. Baseline and Complete Git Trees =============================== The patches are based on the latest -mm tree (v5.15-rc4-mmots-2021-10-10-18-34)[1]. You can also clone the complete git tree: $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/sj/linux.git -b damon-paddr/patches/v1 The web is also available: https://git.kernel.org/pub/scm/linux/kernel/git/sj/linux.git/tag/?h=damon-paddr/patches/v1 [1] https://github.com/hnaz/linux-mm/tree/v5.15-rc4-mmots-2021-10-10-18-34 Sequence of Patches =================== The first 3 patches allow the user space users manually set the monitoring regions. The 1st patch implements the feature in the 'damon-dbgfs'. Then, patches for adding a unit tests (the 2nd patch) and updating the documentation (the 3rd patch) follow. Following 4 patches implement the physical address space monitoring primitives. The 4th patch makes some primitive functions for the virtual address spaces primitives reusable. The 5th patch implements the physical address space monitoring primitives. The 6th patch links the primitives to the 'damon-dbgfs'. Finally, 7th patch documents this new features. Patch History ============= Changes from RFC v10 (https://lore.kernel.org/linux-mm/20201216094221.11898-1-sjpark@amazon.com/) - Rebase on latest -mm tree - Remove page granularity idleness monitoring part Please refer to RFC v10 for previous history. SeongJae Park (7): mm/damon/dbgfs: Allow users to set initial monitoring target regions mm/damon/dbgfs-test: Add a unit test case for 'init_regions' Docs/admin-guide/mm/damon: Document 'init_regions' feature mm/damon/vaddr: Separate commonly usable functions mm/damon: Implement primitives for physical address space monitoring mm/damon/dbgfs: Support physical memory monitoring Docs/DAMON: Document physical memory monitoring support Documentation/admin-guide/mm/damon/usage.rst | 62 ++++- Documentation/vm/damon/design.rst | 29 ++- Documentation/vm/damon/faq.rst | 5 +- include/linux/damon.h | 10 + mm/damon/Kconfig | 10 +- mm/damon/Makefile | 3 +- mm/damon/dbgfs-test.h | 54 +++++ mm/damon/dbgfs.c | 177 ++++++++++++++- mm/damon/paddr.c | 224 +++++++++++++++++++ mm/damon/prmtv-common.c | 88 ++++++++ mm/damon/prmtv-common.h | 17 ++ mm/damon/vaddr.c | 87 +------ 12 files changed, 655 insertions(+), 111 deletions(-) create mode 100644 mm/damon/paddr.c create mode 100644 mm/damon/prmtv-common.c create mode 100644 mm/damon/prmtv-common.h -- 2.17.1