Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Gao Xiang <xiang@kernel.org>
To: "Gupta, Pankaj" <pankaj.gupta@amd.com>
Cc: Muchun Song <muchun.song@linux.dev>,
	Jialiang Huang <huang-jl@deepseek.com>,
	lance.yang@linux.dev, baohua@kernel.org, damon@lists.linux.dev,
	david@kernel.org, kunwu.chan@gmail.com, lianux.mm@gmail.com,
	linux-mm@kvack.org, mst@redhat.com, ryncsn@gmail.com,
	sj@kernel.org, virtualization@lists.linux.dev,
	xueyuan.chen21@gmail.com, Matthew Wilcox <willy@infradead.org>,
	xiang@kernel.org
Subject: Re: [FYI] DAMON and virtio-balloon in DeepSeek's DSec paper
Date: Mon, 26 Oct 2026 13:53:12 +0100	[thread overview]
Message-ID: <at9NOPA2VqV54yan@MacBookPro> (raw)
In-Reply-To: <at9LyF8xIIPKcLSD@MacBookPro>

On Mon, Oct 26, 2026 at 01:47:04PM +0100, Gao Xiang wrote:
> On Mon, Oct 26, 2026 at 01:35:44PM +0100, Gupta, Pankaj wrote:
> > 
> > > > > Anyway, it'd be better to get some numbers with RL or agent workloads
> > > > > (especially the host memory is under reasonable pressure) before
> > > > > landing all these new infras upstream if proceeding in this way.
> > > > At least for now, as far as I'm concerned, I don't intend to land all the
> > > > features mentioned here. The first thing I want to address is on-demand
> > > > allocation of struct page.
> > >  From my point of view, on-demend allocation of `struct page` for FSDAX
> > > is indeed useful and can be landed upstream, mainly because `struct page`
> > > initialization takes much long time for large FSDAX devices even a small
> > > range is used, that impacts the guest startup time a lot.
> > 
> > Would on-demand allocation of 'struct page' from the device itself (a
> > variant of the altmap case) solve this problem?
> > 
> > For virtio-pmem, since device memory is backed by host page cache. So, in
> > the worst case host will provide memory for all the 'struct pages', but the
> > guest itself won't OOM.
> > 
> > Just sharing this idea. Anything I am missing? It could be another
> > optimization on top of Muchun's work.
> 
> I know virtio-pmem struct page can be allocated from the device itself.
> 
> But I don't think it changes too much, since guest kernel implementation
> shouldn't imply anything of the host. So that the pmem and struct page
> can be backed by anonymous memory or other types of memory, and it can
> still cause unexpected large amount of memory on the host instead. But
> allocating on the device is sightly better than allocate struct page in
> the guest.
> 
> The problem is it's hard to make sure the on-demand allocation is always
> successful since the guest knows nothing from the host, so that it
> exposes security risks like denial-of-service or more.
> 
> If this security concern is not resolved (e.g. implement a reclaim path),
> my thought is I think we shouldn't overcommit the struct page since it's
> a functional defect if virtio-pmem is reasonably large.
> 

But I agree that allowing on-demand `struct page` allocation from the
device (rather than allocate using the guest memory) has lower risk,
maybe allowing this can be the first step to enable on-demand
allocation (actually it's not an overcommitting from the guest view
since the whole pmem memory range for struct page is reserved).

Thanks,
Gao Xiang


> Thanks,
> Gao Xiang
> 
> 
> > 
> > Thanks,
> > 
> > Pankaj
> > 
> > > 
> > > But in order to make it safe for production, I suggest reserve the
> > > guest memory in advance for the worst cases of `struct page` at the first
> > > stage, otherwise it could cause unexpected issues for many guest workloads:
> > > it's hard to perdict if the guest memory is still enough, it's unfriendly
> > > to system designers as well (that would completely based on their
> > > experience and hard to ensure the service quality beforehand.)
> > > 
> > > Since the guest memory for `struct page` is touched on-demand, the memory
> > > over-committing on the host is still workable, the memory reservation
> > > can be removed after the reclaim path is done.
> > 


  reply	other threads:[~2026-10-26 12:53 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-25  5:44 [FYI] DAMON and virtio-balloon in DeepSeek's DSec paper Lance Yang
2026-09-25  5:57 ` Lian Wang
2026-09-25  6:46   ` KunWu Chan
2026-09-25  7:04 ` David Hildenbrand (Arm)
2026-09-25  7:28   ` Lian Wang
2026-09-25  8:15   ` Lance Yang
2026-09-25 10:03     ` David Hildenbrand (Arm)
2026-09-25 10:16     ` Gao Xiang
2026-09-25 10:27       ` Gao Xiang
2026-09-25 10:13 ` SJ Park
2026-09-29 12:32 ` Jialiang Huang
2026-09-29 12:41   ` Gao Xiang
2026-09-29 12:50     ` Jialiang Huang
2026-09-30  3:36     ` Muchun Song
2026-09-30  7:24       ` Gao Xiang
2026-09-30  9:37         ` Muchun Song
2026-09-30 10:33           ` Gao Xiang
2026-10-26 12:35             ` Gupta, Pankaj
2026-10-26 12:47               ` Gao Xiang
2026-10-26 12:53                 ` Gao Xiang [this message]
2026-09-29 16:56   ` SJ Park
2026-09-30  3:07     ` Lian Wang
2026-09-30  8:08       ` SJ Park
2026-09-29 18:14   ` Pratyush Mallick

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=at9NOPA2VqV54yan@MacBookPro \
    --to=xiang@kernel.org \
    --cc=baohua@kernel.org \
    --cc=damon@lists.linux.dev \
    --cc=david@kernel.org \
    --cc=huang-jl@deepseek.com \
    --cc=kunwu.chan@gmail.com \
    --cc=lance.yang@linux.dev \
    --cc=lianux.mm@gmail.com \
    --cc=linux-mm@kvack.org \
    --cc=mst@redhat.com \
    --cc=muchun.song@linux.dev \
    --cc=pankaj.gupta@amd.com \
    --cc=ryncsn@gmail.com \
    --cc=sj@kernel.org \
    --cc=virtualization@lists.linux.dev \
    --cc=willy@infradead.org \
    --cc=xueyuan.chen21@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