linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Alexander Duyck <alexander.h.duyck@linux.intel.com>,
	Michal Hocko <mhocko@kernel.org>
Cc: akpm@linux-foundation.org, aarcange@redhat.com,
	dan.j.williams@intel.com, dave.hansen@intel.com,
	konrad.wilk@oracle.com, lcapitulino@redhat.com,
	mgorman@techsingularity.net, 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: Fri, 8 Nov 2019 08:06:32 +0100	[thread overview]
Message-ID: <131f72aa-c4e6-572d-f616-624316b62842@redhat.com> (raw)
In-Reply-To: <d47d796d11d0943aaebc4864767b6ecba22f9a34.camel@linux.intel.com>

>> "for your own idea" - are you saying Nitesh's approach is my idea? I
>> hope not, otherwise I would get credit for Rik's and Nitesh's work by
>> simply providing review comments.
> 
> Sorry, I was using "your" in the collective sense. I meant Nitesh, Rik,
> MST, yourself, and any other folks are working on the bitmap approach.

I guess I was misreading it then :)

> 
>> Of course it is okay to fight for your own idea.
>>
>>> let me reply to the criticisms of my own patchset before you pile on. I
>>
>> Me (+ Michal): Are these core buddy changes really wanted and required.
>> Can we evaluate the alternatives properly. (Michal even proposed
>> something very similar to Nitesh's approach before even looking into it)
> 
> That is part of my frustration. Before I even had a chance to explain the
> situation you had already jumped in throwing a "I second that" into the
> discussion and insisting on comparisons against Nitesh's patch set which I
> have already provided.

The different prototypes Nitesh provided are the only alternatives we 
have. So, to do the discussion that I want to see for a long time, we 
should evaluate them?

> 
> Nitesh's most recent patch set caused a kernel panic, and when I fixed
> that then it is over 30% worse performance wise than my patch set, and
> then when Nitesh restricted the order to MAX_ORDER - 1 and added some
> logic to check the buddy before taking the lock then it finally became
> comparable.

Yes, they are protoypes, RFCs. You did the right thing to report the 
issues so Nitesh can look into them.

> 
>> You: Please take my patch set, it is better than the alternatives
>> because of X, for X in {RFC quality, sparse zones, locking internals,
>> current performance differences}
> 
> I should have replied to Michal's original question and simply stated that
> Mel had not replied to the patches in the last month and a half. I half
> suspect that is the reason for Andrew applying it. It put some pressure on
> others to provide review feedback, which if nothing else I am grateful
> for.
> 
> You had inserted the need to compare it against Nitesh's patch set. Which
> based on Nitesh's email is likely going to be a little while since he
> cannot give me an ETA.

So I want us (you, me, Michal, Mel, Dave, ...) to discuss the direction 
we want to go. I'd love to do this on a design level, instead of having 
to wait for any patch set. But I guess this is harder to do? And 
especially as you keep mentioning the performance difference, I think we 
should evaluate if this is an unsolvable problem or just an issue in the 
current prototype?

I mean people could have a look at Niteshs older series to see how it 
fundamentally differs to your approach (external tracking). Nitesh might 
have fixed some things in the mean time, and is replacing the "fake 
allocation" by page isolation. But I mean, the general approach should 
be obvious and sufficient for people to make a decision.

> 
>> And all I am requesting is that we do the evaluation, discuss if there
>> are really no alternatives, and sort out fundamental issues with
>> external tracking.
>>
>> Michal asked the very same question again at the beginning of this
>> thread: "Is there really a consensus"
> 
> Yes, but he also said he is not nacking the patch. It seemed like he is

I never NACKed your series either.

> deferring to Mel on this so I will try to work with Mel to address his
> concerns since he had some feedback that I can act on.

Makes perfect sense to me.

> 
> I'll address the comments Mel provided and be submitting a v14 sometime
> soon.
> 
>> Reading the replies, "no".
> 
> I get that you think the bitmap approach is the best approach, but the

No, I think that a simple external tracking is preferable over the core 
buddy modifications we have right now. Kernel panics of fixable 
performance regressions in an RFC are not fundamental issues to me.

> fact is it is still invasive, just to different parts of the mm subsystem.

I'd love to see how it uses the page isolation framework, and only has a 
single hook to queue pages. I don't like the way pages are pulled out of 
the buddy in Niteshs approach currently. What you have is cleaner.

> I would argue that one of my concerns about the hotplug and sparse
> handling is that by skipping those for now is essentially hiding what is
> likely to be some invasive code, likely not too different from what I had
> to deal with with compaction. At this point he adds more data to the zone
> struct than my changes, and I suspect as he progresses that may increase
> further. >
> I do not think it is fair to hold up review and acceptance of this patch
> set for performance comparisons with a patch set with no definite ETA.

Michal asked "Is there really a consensus". A consensus that we want 
something like this, not that we want Nitesh's approach. It's just an 
alternative worth discussing.

And if you are reworking your patch set now with Mel, we might get 
another alternative that everybody is pleased with. Nobody is against 
reviewing your series - that's perfect, it's against picking it up and 
sending it upstream. That's my concern an Michals concern if I am not wrong.

> Ideally we should be able to review and provide feedback on this patch set
> on its own. Since Nitesh's code is in part based on my virio-balloon code

I definitely agree, but this here is *not* a reply to your patch set but 
to "Re: + mm-introduce-reported-pages.patch added to -mm tree" - picking 
it up for testing. Michals question is completely valid. And I think the 
discussion started by Michal and me here is completely valid.

> anyway it would make more sense to replace my code eventually if/when he
> comes up with a better solution. One thing I can do is make sure that my
> code is as non-intrusive as possible so that if/when that time comes
> reverting it would not be too difficult.

-- 

Thanks,

David / dhildenb



  reply	other threads:[~2019-11-08  7:06 UTC|newest]

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
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 [this message]
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 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=131f72aa-c4e6-572d-f616-624316b62842@redhat.com \
    --to=david@redhat.com \
    --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=konrad.wilk@oracle.com \
    --cc=lcapitulino@redhat.com \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@techsingularity.net \
    --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
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