Linux-mm Archive on lore.kernel.org
 help / color / Atom feed
From: Hillf Danton <hdanton@sina.com>
To: Minchan Kim <minchan@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>, Michal Hocko <mhocko@suse.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Tim Murray <timmurray@google.com>,
	Joel Fernandes <joel@joelfernandes.org>,
	Suren Baghdasaryan <surenb@google.com>,
	Daniel Colascione <dancol@google.com>,
	Shakeel Butt <shakeelb@google.com>,
	Sonny Rao <sonnyrao@google.com>,
	Brian Geffon <bgeffon@google.com>
Subject: Re: [RFC 1/7] mm: introduce MADV_COOL
Date: Tue, 28 May 2019 23:38:11 +0800
Message-ID: <20190528153811.7684-1-hdanton@sina.com> (raw)


On Tue, 28 May 2019 20:39:36 +0800 Minchan Kim wrote:
> On Tue, May 28, 2019 at 08:15:23PM +0800, Hillf Danton wrote:
> < snip >
> > > > > +	orig_pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
> > > > > +	for (pte = orig_pte; addr < end; pte++, addr += PAGE_SIZE) {
> > > >
> > > > s/end/next/ ?
> > >
> > > Why do you think it should be next?
> > >
> > Simply based on the following line, and afraid that next != end
> > 	> > > +	next = pmd_addr_end(addr, end);
> 
> pmd_addr_end will return smaller address so end is more proper.
> 
Fair.

> > > > > +static long madvise_cool(struct vm_area_struct *vma,
> > > > > +			unsigned long start_addr, unsigned long end_addr)
> > > > > +{
> > > > > +	struct mm_struct *mm = vma->vm_mm;
> > > > > +	struct mmu_gather tlb;
> > > > > +
> > > > > +	if (vma->vm_flags & (VM_LOCKED|VM_HUGETLB|VM_PFNMAP))
> > > > > +		return -EINVAL;
> > > >
> > > > No service in case of VM_IO?
> > >
> > > I don't know VM_IO would have regular LRU pages but just follow normal
> > > convention for DONTNEED and FREE.
> > > Do you have anything in your mind?
> > >
> > I want to skip a mapping set up for DMA.
> 
> What you meant is those pages in VM_IO vma are not in LRU list?

What I concern is the case that there are IO pages on lru list.
> Or
> pages in the vma are always pinned so no worth to deactivate or reclaim?
> 
I will not be nervous or paranoid if they are pinned.

In short, I prefer to skip IO mapping since any kind of address range
can be expected from userspace, and it may probably cover an IO mapping.
And things can get out of control, if we reclaim some IO pages while
underlying device is trying to fill data into any of them, for instance.

BR
Hillf


             reply index

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-28 15:38 Hillf Danton [this message]
2019-05-28 16:11 ` Michal Hocko
  -- strict thread matches above, loose matches on Subject: below --
2019-05-29  8:52 Hillf Danton
2019-05-29  2:40 Hillf Danton
2019-05-29  5:05 ` Michal Hocko
2019-05-28 12:15 Hillf Danton
2019-05-28 12:39 ` Minchan Kim
2019-05-20  3:52 [RFC 0/7] introduce memory hinting API for external process Minchan Kim
2019-05-20  3:52 ` [RFC 1/7] mm: introduce MADV_COOL Minchan Kim
2019-05-20  8:16   ` Michal Hocko
2019-05-20  8:19     ` Michal Hocko
2019-05-20 15:08       ` Suren Baghdasaryan
2019-05-20 22:55       ` Minchan Kim
2019-05-20 22:54     ` Minchan Kim
2019-05-21  6:04       ` Michal Hocko
2019-05-21  9:11         ` Minchan Kim
2019-05-21 10:05           ` Michal Hocko
2019-05-28  8:53   ` Hillf Danton
2019-05-28 10:58   ` Minchan Kim

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=20190528153811.7684-1-hdanton@sina.com \
    --to=hdanton@sina.com \
    --cc=akpm@linux-foundation.org \
    --cc=bgeffon@google.com \
    --cc=dancol@google.com \
    --cc=hannes@cmpxchg.org \
    --cc=joel@joelfernandes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=minchan@kernel.org \
    --cc=shakeelb@google.com \
    --cc=sonnyrao@google.com \
    --cc=surenb@google.com \
    --cc=timmurray@google.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

Linux-mm Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-mm/0 linux-mm/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-mm linux-mm/ https://lore.kernel.org/linux-mm \
		linux-mm@kvack.org
	public-inbox-index linux-mm

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kvack.linux-mm


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git