linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Shakeel Butt <shakeelb@google.com>
To: SeongJae Park <sjpark@amazon.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	SeongJae Park <sjpark@amazon.de>,
	 Jonathan.Cameron@huawei.com,
	Andrea Arcangeli <aarcange@redhat.com>,
	acme@kernel.org,  alexander.shishkin@linux.intel.com,
	amit@kernel.org, benh@kernel.crashing.org,
	 brendan.d.gregg@gmail.com,
	Brendan Higgins <brendanhiggins@google.com>,
	 Qian Cai <cai@lca.pw>, Colin Ian King <colin.king@canonical.com>,
	Jonathan Corbet <corbet@lwn.net>,
	 David Hildenbrand <david@redhat.com>,
	dwmw@amazon.com, "Du, Fan" <fan.du@intel.com>,
	foersleo@amazon.de,  Greg Thelen <gthelen@google.com>,
	Ian Rogers <irogers@google.com>,
	jolsa@redhat.com,  "Kirill A. Shutemov" <kirill@shutemov.name>,
	mark.rutland@arm.com, Mel Gorman <mgorman@suse.de>,
	 Minchan Kim <minchan@kernel.org>, Ingo Molnar <mingo@redhat.com>,
	namhyung@kernel.org,
	 "Peter Zijlstra (Intel)" <peterz@infradead.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	 Rik van Riel <riel@surriel.com>,
	David Rientjes <rientjes@google.com>,
	 Steven Rostedt <rostedt@goodmis.org>,
	rppt@kernel.org, sblbir@amazon.com, shuah@kernel.org,
	 sj38.park@gmail.com, snu@amazon.de,
	Vlastimil Babka <vbabka@suse.cz>,
	 Vladimir Davydov <vdavydov.dev@gmail.com>,
	Yang Shi <yang.shi@linux.alibaba.com>,
	 Huang Ying <ying.huang@intel.com>,
	zgf574564920@gmail.com, linux-damon@amazon.com,
	 Linux MM <linux-mm@kvack.org>,
	linux-doc@vger.kernel.org,  LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v20 00/15] Introduce Data Access MONitor (DAMON)
Date: Wed, 23 Sep 2020 10:04:57 -0700	[thread overview]
Message-ID: <CALvZod7nA+_hupDrtp-G886XrgmBVf7izs5VH+1mEj6SNnyWJw@mail.gmail.com> (raw)
In-Reply-To: <20200817105137.19296-1-sjpark@amazon.com>

On Mon, Aug 17, 2020 at 3:52 AM SeongJae Park <sjpark@amazon.com> wrote:
>
> From: SeongJae Park <sjpark@amazon.de>
>
> Changes from Previous Version
> =============================
>
> - Place 'CREATE_TRACE_POINTS' after '#include' statements (Steven Rostedt)
> - Support large record file (Alkaid)
> - Place 'put_pid()' of virtual monitoring targets in 'cleanup' callback
> - Avoid conflict between concurrent DAMON users
> - Update evaluation result document
>
> Introduction
> ============
>
> DAMON is a data access monitoring framework subsystem for the Linux kernel.
> The core mechanisms of DAMON called 'region based sampling' and 'adaptive
> regions adjustment' (refer to 'mechanisms.rst' in the 11th patch of this
> patchset for the detail) make it
>
>  - accurate (The monitored information is useful for DRAM level memory
>    management. It might not appropriate for Cache-level accuracy, though.),
>  - light-weight (The monitoring overhead is low enough to be applied online
>    while making no impact on the performance of the target workloads.), and
>  - scalable (the upper-bound of the instrumentation overhead is controllable
>    regardless of the size of target workloads.).
>
> Using this framework, therefore, the kernel's core memory management mechanisms
> such as reclamation and THP can be optimized for better memory management.  The
> experimental memory management optimization works that incurring high
> instrumentation overhead will be able to have another try.  In user space,
> meanwhile, users who have some special workloads will be able to write
> personalized tools or applications for deeper understanding and specialized
> optimizations of their systems.
>
> Evaluations
> ===========
>
> We evaluated DAMON's overhead, monitoring quality and usefulness using 25
> realistic workloads on my QEMU/KVM based virtual machine running a kernel that
> v20 DAMON patchset is applied.
>
> DAMON is lightweight.  It increases system memory usage by 0.12% and slows
> target workloads down by 1.39%.
>
> DAMON is accurate and useful for memory management optimizations.  An
> experimental DAMON-based operation scheme for THP, 'ethp', removes 88.16% of
> THP memory overheads while preserving 88.73% of THP speedup.  Another
> experimental DAMON-based 'proactive reclamation' implementation, 'prcl',
> reduces 91.34% of residential sets and 25.59% of system memory footprint while
> incurring only 1.58% runtime overhead in the best case (parsec3/freqmine).
>
> NOTE that the experimentail THP optimization and proactive reclamation are not
> for production but just only for proof of concepts.
>
> Please refer to the official document[1] or "Documentation/admin-guide/mm: Add
> a document for DAMON" patch in this patchset for detailed evaluation setup and
> results.
>
> [1] https://damonitor.github.io/doc/html/latest-damon/admin-guide/mm/damon/eval.html
>


Hi SeongJae,

Sorry for the late response. I will start looking at this series in
more detail in the next couple of weeks. I have a couple of high level
comments for now.

1) Please explain in the cover letter why someone should prefer to use
DAMON instead of Page Idle Tracking.

2) Also add what features Page Idle Tracking provides which the first
version of DAMON does not provide (like page level tracking, physical
or unmapped memory tracking e.t.c) and tell if you plan to add such
features to DAMON in future. Basically giving reasons to not block the
current version of DAMON until it is feature-rich.

3) I think in the first mergeable version of DAMON, I would prefer to
have support to control (create/delete/account) the DAMON context. You
already have a RFC series on it. I would like to have that series part
of this one.

I will go through individual patches to provide more detailed
feedback, so, you don't need to post the next version until then.

thanks,
Shakeel


  parent reply	other threads:[~2020-09-23 17:05 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-17 10:51 [PATCH v20 00/15] Introduce Data Access MONitor (DAMON) SeongJae Park
2020-08-17 10:51 ` [PATCH v20 01/15] mm: " SeongJae Park
2020-08-17 10:51 ` [PATCH v20 02/15] mm/damon: Implement region based sampling SeongJae Park
2020-08-17 10:51 ` [PATCH v20 03/15] mm/damon: Adaptively adjust regions SeongJae Park
2020-08-17 10:51 ` [PATCH v20 04/15] mm/damon: Track dynamic monitoring target regions update SeongJae Park
2020-08-17 10:51 ` [PATCH v20 05/15] mm/idle_page_tracking: Make PG_(idle|young) reusable SeongJae Park
2020-08-17 10:51 ` [PATCH v20 06/15] mm/damon: Implement callbacks for the virtual memory address spaces SeongJae Park
2020-08-17 10:51 ` [PATCH v20 07/15] mm/damon: Implement access pattern recording SeongJae Park
2020-08-17 10:51 ` [PATCH v20 08/15] mm/damon: Add a tracepoint SeongJae Park
2020-08-17 10:51 ` [PATCH v20 09/15] mm/damon: Implement a debugfs interface SeongJae Park
2020-08-17 10:51 ` [PATCH v20 10/15] damon/debugfs: Support pidfd target id SeongJae Park
2020-08-17 10:51 ` [PATCH v20 11/15] tools: Introduce a minimal user-space tool for DAMON SeongJae Park
2020-08-17 10:51 ` [PATCH v20 12/15] Documentation: Add documents " SeongJae Park
2020-08-17 10:51 ` [PATCH v20 13/15] mm/damon: Add kunit tests SeongJae Park
2020-08-17 10:51 ` [PATCH v20 14/15] mm/damon: Add user space selftests SeongJae Park
2020-08-17 10:51 ` [PATCH v20 15/15] MAINTAINERS: Update for DAMON SeongJae Park
2020-08-20  7:27 ` [PATCH v20 00/15] Introduce Data Access MONitor (DAMON) SeongJae Park
2020-08-31 11:22   ` SeongJae Park
2020-09-25 14:59     ` SeongJae Park
2020-09-09  8:27 ` SeongJae Park
2020-09-23 17:04 ` Shakeel Butt [this message]
2020-09-24  6:39   ` SeongJae Park

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALvZod7nA+_hupDrtp-G886XrgmBVf7izs5VH+1mEj6SNnyWJw@mail.gmail.com \
    --to=shakeelb@google.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=aarcange@redhat.com \
    --cc=acme@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=amit@kernel.org \
    --cc=benh@kernel.crashing.org \
    --cc=brendan.d.gregg@gmail.com \
    --cc=brendanhiggins@google.com \
    --cc=cai@lca.pw \
    --cc=colin.king@canonical.com \
    --cc=corbet@lwn.net \
    --cc=david@redhat.com \
    --cc=dwmw@amazon.com \
    --cc=fan.du@intel.com \
    --cc=foersleo@amazon.de \
    --cc=gthelen@google.com \
    --cc=irogers@google.com \
    --cc=jolsa@redhat.com \
    --cc=kirill@shutemov.name \
    --cc=linux-damon@amazon.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mark.rutland@arm.com \
    --cc=mgorman@suse.de \
    --cc=minchan@kernel.org \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rdunlap@infradead.org \
    --cc=riel@surriel.com \
    --cc=rientjes@google.com \
    --cc=rostedt@goodmis.org \
    --cc=rppt@kernel.org \
    --cc=sblbir@amazon.com \
    --cc=shuah@kernel.org \
    --cc=sj38.park@gmail.com \
    --cc=sjpark@amazon.com \
    --cc=sjpark@amazon.de \
    --cc=snu@amazon.de \
    --cc=vbabka@suse.cz \
    --cc=vdavydov.dev@gmail.com \
    --cc=yang.shi@linux.alibaba.com \
    --cc=ying.huang@intel.com \
    --cc=zgf574564920@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).