All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Mel Gorman <mgorman@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Rik van Riel <riel@redhat.com>, Hugh Dickins <hughd@google.com>,
	Minchan Kim <minchan@kernel.org>,
	Dave Hansen <dave.hansen@intel.com>,
	Andi Kleen <andi@firstfloor.org>, H Peter Anvin <hpa@zytor.com>,
	Linux-MM <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH 0/3] TLB flush multiple pages per IPI v5
Date: Wed, 10 Jun 2015 10:51:41 +0200	[thread overview]
Message-ID: <20150610085141.GA25704@gmail.com> (raw)
In-Reply-To: <20150609130536.GT26425@suse.de>


* Mel Gorman <mgorman@suse.de> wrote:

> > I think since it is you who wants to introduce additional complexity into the 
> > x86 MM code the burden is on you to provide proof that the complexity of pfn 
> > (or struct page) tracking is worth it.
> 
> I'm taking a situation whereby IPIs are sent like crazy with interrupt storms 
> and replacing it with something that is a lot more efficient that minimises the 
> number of potential surprises. I'm stating that the benefit of PFN tracking is 
> unknowable in the general case because it depends on the workload, timing and 
> the exact CPU used so any example provided can be naked with a counter-example 
> such as a trivial sequential reader that shows no benefit. The series as posted 
> is approximately in line with current behaviour minimising the chances of 
> surprise regressions from excessive TLB flush.
> 
> You are actively blocking a measurable improvement and forcing it to be replaced 
> with something whose full impact is unquantifiable. Any regressions in this area 
> due to increased TLB misses could take several kernel releases as the issue will 
> be so difficult to detect.
> 
> I'm going to implement the approach you are forcing because there is an x86 part 
> of the patch and you are the maintainer that could indefinitely NAK it. However, 
> I'm extremely pissed about being forced to introduce these indirect 
> unpredictable costs because I know the alternative is you dragging this out for 
> weeks with no satisfactory conclusion in an argument that I cannot prove in the 
> general case.

Stop this crap.

I made a really clear and unambiguous chain of arguments:

 - I'm unconvinced about the benefits of INVLPG in general, and your patches adds
   a whole new bunch of them. I cited measurements and went out on a limb to 
   explain my position, backed with numbers and logic. It's admittedly still a 
   speculative position and I might be wrong, but I think it's well grounded 
   position that you cannot just brush aside.

 - I suggested that you split this approach into steps that first does the simpler
   approach that will give us at least 95% of the benefits, then the more complex
   one on top of it. Your false claim that I'm blocking a clear improvement is
   pure demagogy!

 - I very clearly claimed that I am more than willing to be convinced by numbers.
   It's not _that_ hard to construct a memory trashing workload with a
   TLB-efficient iteration that uses say 80% of the TLB cache, to measure the
   worst-case overhead of full flushes.

I'm really sick of this partly deceptive, partly passive-aggressive discussion 
style that seems to frequently permeate VM discussions and which made sched/numa 
such a huge PITA in the past...

And I think the numbers in the v6 series you submitted today support my position, 
so you owe me an apology I think ...

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Mel Gorman <mgorman@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Rik van Riel <riel@redhat.com>, Hugh Dickins <hughd@google.com>,
	Minchan Kim <minchan@kernel.org>,
	Dave Hansen <dave.hansen@intel.com>,
	Andi Kleen <andi@firstfloor.org>, H Peter Anvin <hpa@zytor.com>,
	Linux-MM <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH 0/3] TLB flush multiple pages per IPI v5
Date: Wed, 10 Jun 2015 10:51:41 +0200	[thread overview]
Message-ID: <20150610085141.GA25704@gmail.com> (raw)
In-Reply-To: <20150609130536.GT26425@suse.de>


* Mel Gorman <mgorman@suse.de> wrote:

> > I think since it is you who wants to introduce additional complexity into the 
> > x86 MM code the burden is on you to provide proof that the complexity of pfn 
> > (or struct page) tracking is worth it.
> 
> I'm taking a situation whereby IPIs are sent like crazy with interrupt storms 
> and replacing it with something that is a lot more efficient that minimises the 
> number of potential surprises. I'm stating that the benefit of PFN tracking is 
> unknowable in the general case because it depends on the workload, timing and 
> the exact CPU used so any example provided can be naked with a counter-example 
> such as a trivial sequential reader that shows no benefit. The series as posted 
> is approximately in line with current behaviour minimising the chances of 
> surprise regressions from excessive TLB flush.
> 
> You are actively blocking a measurable improvement and forcing it to be replaced 
> with something whose full impact is unquantifiable. Any regressions in this area 
> due to increased TLB misses could take several kernel releases as the issue will 
> be so difficult to detect.
> 
> I'm going to implement the approach you are forcing because there is an x86 part 
> of the patch and you are the maintainer that could indefinitely NAK it. However, 
> I'm extremely pissed about being forced to introduce these indirect 
> unpredictable costs because I know the alternative is you dragging this out for 
> weeks with no satisfactory conclusion in an argument that I cannot prove in the 
> general case.

Stop this crap.

I made a really clear and unambiguous chain of arguments:

 - I'm unconvinced about the benefits of INVLPG in general, and your patches adds
   a whole new bunch of them. I cited measurements and went out on a limb to 
   explain my position, backed with numbers and logic. It's admittedly still a 
   speculative position and I might be wrong, but I think it's well grounded 
   position that you cannot just brush aside.

 - I suggested that you split this approach into steps that first does the simpler
   approach that will give us at least 95% of the benefits, then the more complex
   one on top of it. Your false claim that I'm blocking a clear improvement is
   pure demagogy!

 - I very clearly claimed that I am more than willing to be convinced by numbers.
   It's not _that_ hard to construct a memory trashing workload with a
   TLB-efficient iteration that uses say 80% of the TLB cache, to measure the
   worst-case overhead of full flushes.

I'm really sick of this partly deceptive, partly passive-aggressive discussion 
style that seems to frequently permeate VM discussions and which made sched/numa 
such a huge PITA in the past...

And I think the numbers in the v6 series you submitted today support my position, 
so you owe me an apology I think ...

Thanks,

	Ingo

  reply	other threads:[~2015-06-10  8:51 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-08 12:50 [PATCH 0/3] TLB flush multiple pages per IPI v5 Mel Gorman
2015-06-08 12:50 ` Mel Gorman
2015-06-08 12:50 ` [PATCH 1/3] x86, mm: Trace when an IPI is about to be sent Mel Gorman
2015-06-08 12:50   ` Mel Gorman
2015-06-08 12:50 ` [PATCH 2/3] mm: Send one IPI per CPU to TLB flush multiple pages that were recently unmapped Mel Gorman
2015-06-08 12:50   ` Mel Gorman
2015-06-08 22:38   ` Andrew Morton
2015-06-08 22:38     ` Andrew Morton
2015-06-09 11:07     ` Mel Gorman
2015-06-09 11:07       ` Mel Gorman
2015-06-08 12:50 ` [PATCH 3/3] mm: Defer flush of writable TLB entries Mel Gorman
2015-06-08 12:50   ` Mel Gorman
2015-06-08 17:45 ` [PATCH 0/3] TLB flush multiple pages per IPI v5 Ingo Molnar
2015-06-08 17:45   ` Ingo Molnar
2015-06-08 18:21   ` Dave Hansen
2015-06-08 18:21     ` Dave Hansen
2015-06-08 19:52     ` Ingo Molnar
2015-06-08 19:52       ` Ingo Molnar
2015-06-08 20:03       ` Ingo Molnar
2015-06-08 20:03         ` Ingo Molnar
2015-06-08 21:07       ` Dave Hansen
2015-06-08 21:07         ` Dave Hansen
2015-06-08 21:50         ` Ingo Molnar
2015-06-08 21:50           ` Ingo Molnar
2015-06-09  8:47   ` Mel Gorman
2015-06-09  8:47     ` Mel Gorman
2015-06-09 10:32     ` Ingo Molnar
2015-06-09 10:32       ` Ingo Molnar
2015-06-09 11:20       ` Mel Gorman
2015-06-09 11:20         ` Mel Gorman
2015-06-09 12:43         ` Ingo Molnar
2015-06-09 12:43           ` Ingo Molnar
2015-06-09 13:05           ` Mel Gorman
2015-06-09 13:05             ` Mel Gorman
2015-06-10  8:51             ` Ingo Molnar [this message]
2015-06-10  8:51               ` Ingo Molnar
2015-06-10  9:08               ` Ingo Molnar
2015-06-10  9:08                 ` Ingo Molnar
2015-06-10 10:15                 ` Mel Gorman
2015-06-10 10:15                   ` Mel Gorman
2015-06-11 15:26                   ` Ingo Molnar
2015-06-11 15:26                     ` Ingo Molnar
2015-06-10  9:19               ` Mel Gorman
2015-06-10  9:19                 ` Mel Gorman
2015-06-09 15:34           ` Dave Hansen
2015-06-09 15:34             ` Dave Hansen
2015-06-09 16:49             ` Dave Hansen
2015-06-09 16:49               ` Dave Hansen
2015-06-09 21:14               ` Dave Hansen
2015-06-09 21:14                 ` Dave Hansen
2015-06-09 21:54                 ` Linus Torvalds
2015-06-09 21:54                   ` Linus Torvalds
2015-06-09 22:32                   ` Mel Gorman
2015-06-09 22:32                     ` Mel Gorman
2015-06-09 22:35                     ` Mel Gorman
2015-06-09 22:35                       ` Mel Gorman
2015-06-10 13:13                   ` Andi Kleen
2015-06-10 13:13                     ` Andi Kleen
2015-06-10 16:17                     ` Linus Torvalds
2015-06-10 16:17                       ` Linus Torvalds
2015-06-10 16:42                       ` Linus Torvalds
2015-06-10 16:42                         ` Linus Torvalds
2015-06-10 17:24                         ` Mel Gorman
2015-06-10 17:24                           ` Mel Gorman
2015-06-10 17:31                           ` Linus Torvalds
2015-06-10 17:31                             ` Linus Torvalds
2015-06-10 18:08                         ` Josh Boyer
2015-06-10 18:08                           ` Josh Boyer
2015-06-10 17:07                       ` Mel Gorman
2015-06-10 17:07                         ` Mel Gorman
2015-06-21 20:22             ` Kirill A. Shutemov
2015-06-21 20:22               ` Kirill A. Shutemov
2015-06-25 11:48               ` Ingo Molnar
2015-06-25 11:48                 ` Ingo Molnar
2015-06-25 18:36                 ` Linus Torvalds
2015-06-25 19:15                   ` Vlastimil Babka
2015-06-25 19:15                     ` Vlastimil Babka
2015-06-25 22:04                     ` Linus Torvalds
2015-06-25 22:04                       ` Linus Torvalds
2015-06-25 18:46                 ` Dave Hansen
2015-06-25 18:46                   ` Dave Hansen
2015-06-26  9:08                   ` Ingo Molnar
2015-06-26  9:08                     ` Ingo Molnar

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=20150610085141.GA25704@gmail.com \
    --to=mingo@kernel.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=dave.hansen@intel.com \
    --cc=hpa@zytor.com \
    --cc=hughd@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=minchan@kernel.org \
    --cc=riel@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.