Linux-mm Archive on lore.kernel.org
 help / color / Atom feed
From: Mel Gorman <mgorman@techsingularity.net>
To: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Cc: Michal Hocko <mhocko@kernel.org>,
	David Hildenbrand <david@redhat.com>,
	akpm@linux-foundation.org, aarcange@redhat.com,
	dan.j.williams@intel.com, dave.hansen@intel.com,
	konrad.wilk@oracle.com, lcapitulino@redhat.com,
	mm-commits@vger.kernel.org, mst@redhat.com, osalvador@suse.de,
	pagupta@redhat.com, pbonzini@redhat.com, riel@surriel.com,
	vbabka@suse.cz, wei.w.wang@intel.com, willy@infradead.org,
	yang.zhang.wz@gmail.com, linux-mm@kvack.org
Subject: Re: + mm-introduce-reported-pages.patch added to -mm tree
Date: Sat, 9 Nov 2019 14:57:52 +0000
Message-ID: <20191109145752.GW3016@techsingularity.net> (raw)
In-Reply-To: <3161e0ec205852f8fcd1559f2dc177e42549708b.camel@linux.intel.com>

On Fri, Nov 08, 2019 at 12:29:47PM -0800, Alexander Duyck wrote:
> On Fri, 2019-11-08 at 18:41 +0000, Mel Gorman wrote:
> > On Fri, Nov 08, 2019 at 08:17:49AM -0800, Alexander Duyck wrote:
> > > > <SNIP>
> > > > 
> > > > From your perspective, I see it's a bit annoying because in the final
> > > > result, the code should be identical. However, it'll be a lot clearer
> > > > during review what is required, what level of complexity optimisations
> > > > add and the performance of it. The changelog should include what metric
> > > > you are using to evaluate the performance, the test case and the delta. It
> > > > also will be easier from a debugging perspective as minimally a bisection
> > > > could identify if a bug was due to the core mechanism itself or one of
> > > > the optimisations.  Finally, it leaves open the possibility that someone
> > > > can evaluate a completely different set of optimisations. Whatever the
> > > > alternative approaches are, the actual interface to virtio ballon surely
> > > > is the same (I don't actually know, I just can't see why the virtio ABI
> > > > would be depend on how the pages are isolated, tracked and reported).
> > > 
> > > The virtio-balloon interface is the same at this point between my solution
> > > and Nitesh's. So the only real disagreement in terms of the two solutions
> > > is about keeping the bit in the page and the list manipulation versus the
> > > external bitmap and the hunt and peck approach.
> > > 
> > 
> > This is good news because it means that when/if Nitesh's approach is ready
> > that the optimisations can be reverted and the new approach applied and
> > give a like-like comparison if appropriate. The core feature and interface
> > to userspace would remain the same and stay available regardless of how
> > it's optimised. Maybe it's the weekend talking but I think structuring
> > the series like that will allow forward progress to be made.
> 
> So quick question.
> 
> Any issue with me manipulating the lists like you do with the compaction
> code? I ask because most of the overhead I was encountering was likely due
> to walking the list so many times.

That doesn't surprise me because it was necessary for the fast isolation
in compaction to reduce the overhead when compaction was running at
high frequency.

> If I do the split/splice style logic
> that should reduce the total number of trips through the free lists since
> I could push the reported pages to the tail of the list. For now I am
> working on that as an alternate patch to the existing reported_boundary
> approach just as an experiment.

I don't have a problem with that although it should be split out and shared
between compaction and the virtio balloon if possible. The consequences
are that compaction and the balloon might interfere with each other. That
would increase the overhead of compaction and the balloon if they both
were running at the same time. However, given that the balloon will have
a performance impact anyway, I don't think it's worth worrying about
because functionally it should be fine.

-- 
Mel Gorman
SUSE Labs


  reply index

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20191106000547.juQRi83gi%akpm@linux-foundation.org>
2019-11-06 12:16 ` Michal Hocko
2019-11-06 14:09   ` David Hildenbrand
2019-11-06 16:35     ` Alexander Duyck
2019-11-06 16:54       ` Michal Hocko
2019-11-06 17:48         ` Alexander Duyck
2019-11-06 22:11           ` Mel Gorman
2019-11-06 23:38             ` David Hildenbrand
2019-11-07  0:20             ` Alexander Duyck
2019-11-07 10:20               ` Mel Gorman
2019-11-07 16:07                 ` Alexander Duyck
2019-11-08  9:43                   ` Mel Gorman
2019-11-08 16:17                     ` Alexander Duyck
2019-11-08 18:41                       ` Mel Gorman
2019-11-08 20:29                         ` Alexander Duyck
2019-11-09 14:57                           ` Mel Gorman [this message]
2019-11-10 18:03                             ` Alexander Duyck
2019-11-06 23:33           ` David Hildenbrand
2019-11-07  0:20             ` Dave Hansen
2019-11-07  0:52               ` David Hildenbrand
2019-11-07 17:12                 ` Dave Hansen
2019-11-07 17:46                   ` Michal Hocko
2019-11-07 18:08                     ` Dave Hansen
2019-11-07 18:12                     ` Alexander Duyck
2019-11-08  9:57                       ` Michal Hocko
2019-11-08 16:43                         ` Alexander Duyck
2019-11-07 18:46                   ` Qian Cai
2019-11-07 18:02             ` Alexander Duyck
2019-11-07 19:37               ` Nitesh Narayan Lal
2019-11-07 22:46                 ` Alexander Duyck
2019-11-07 22:43               ` David Hildenbrand
2019-11-08  0:42                 ` Alexander Duyck
2019-11-08  7:06                   ` David Hildenbrand
2019-11-08 17:18                     ` Alexander Duyck
2019-11-12 13:04                       ` David Hildenbrand
2019-11-12 18:34                         ` Alexander Duyck
2019-11-12 21:05                           ` David Hildenbrand
2019-11-12 22:17                             ` David Hildenbrand
2019-11-12 22:19                             ` Alexander Duyck
2019-11-12 23:10                               ` David Hildenbrand
2019-11-13  0:31                                 ` Alexander Duyck
2019-11-13 18:51                           ` Nitesh Narayan Lal
2019-11-06 16:49   ` Nitesh Narayan Lal
2019-11-11 18:52   ` Nitesh Narayan Lal
2019-11-11 22:00     ` Alexander Duyck
2019-11-12 15:19       ` Nitesh Narayan Lal
2019-11-12 16:18         ` Alexander Duyck
2019-11-13 18:39           ` Nitesh Narayan Lal

Reply instructions:

You may reply publically 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=20191109145752.GW3016@techsingularity.net \
    --to=mgorman@techsingularity.net \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.h.duyck@linux.intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@intel.com \
    --cc=david@redhat.com \
    --cc=konrad.wilk@oracle.com \
    --cc=lcapitulino@redhat.com \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=mm-commits@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=osalvador@suse.de \
    --cc=pagupta@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=riel@surriel.com \
    --cc=vbabka@suse.cz \
    --cc=wei.w.wang@intel.com \
    --cc=willy@infradead.org \
    --cc=yang.zhang.wz@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

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