public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Zhang Yanfei <zhangyanfei.yes@gmail.com>
To: Tejun Heo <tj@kernel.org>
Cc: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
	"H. Peter Anvin" <hpa@zytor.com>, Yinghai Lu <yinghai@kernel.org>,
	Toshi Kani <toshi.kani@hp.com>, Ingo Molnar <mingo@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH part2 v2 0/8] Arrange hotpluggable memory as ZONE_MOVABLE
Date: Mon, 14 Oct 2013 23:34:22 +0800	[thread overview]
Message-ID: <525C0EFE.2010409@gmail.com> (raw)
In-Reply-To: <20131014151902.GL4722@htj.dyndns.org>

Hello tejun,

On 10/14/2013 11:19 PM, Tejun Heo wrote:
> Hey,
> 
> On Mon, Oct 14, 2013 at 11:06:14PM +0800, Zhang Yanfei wrote:
>> a little difference here, consider a 16-GB node. If we parse SRAT earlier,
>> and still use the top-down allocation, and kernel image is loaded at 16MB,
>> we reserve other nodes but this 16GB node that kernel resides in is used
>> for boot-up allocation. So the page table is allocated from 16GB to 0.
>> The page table is allocated on top of the the memory as possible.
>>
>> But if we use this approach, no matter how large the page table is, we 
>> allocate the page table in low memory which is the case that hpa concerns
>> about the DMA.
> 
> Yeah, sure there will be cases where parsing SRAT would be better.
> 
>  4k mapping is in use, which is mostly for debugging && memory map is
>  composed such that the highest non-hotpluggable address is high
>  enough.
> 
> It's going in circles again but my point has always been that the
> above in itself don't seem to be substantial enough to justify
> putting, say, initrd loading before page table init.
> 
> Later some argued that bringing SRAT parsing earlier could help
> implementing finer grained hotplug, which would be an acceptable path
> to follow; however, that doesn't turn out to be true either.
> 
> * Again, it matter if and only if 4k mapping is in use.  Do we even
>   care?
> 
> * SRAT isn't enough.  The whole device tree needs to be parsed to put
>   page tables into local device.  It's a lot of churn, including major
>   updates to page table allocation, just to support debug 4k mapping
>   cases.  Doesn't make much sense to me.
> 
> So, SRAT's usefulness seems extremely limited - it helps if the user
> wants to use debug features along with memory hotplug on an extreme
> large machine with devices which have low DMA limit, and that's it.
> To me, it seems to be a poor argument.  Just declaring memory hotplug
> works iff large kernel mapping is in use feels like a pretty good
> trade-off to me, and I have no idea why I have to repeat all this,
> which I've written multiple times already, in a private thread again.
> 
> If the thread is to make progress, one has to provide counter
> arguments to the points raised.  It feels like I'm going in circle
> again.  The exact same content I wrote above has been repeated
> multiple times in the past discussions and I'm getting tired of doing
> it without getting any actual response.
> 
> When replying, please restore cc's and keep the whole body.
> 

Thanks for the whole explanation again. I was just raising some argument
that other guys raised before. I agree with what you said above and already
put some of them into the patch 4 description in v7 version.

Now could you please help reviewing the part2? As I said before, no matter
how we implement the part1, part2 is kind of independent.

-- 
Thanks.
Zhang Yanfei

  parent reply	other threads:[~2013-10-14 15:34 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-12  6:00 [PATCH part2 v2 0/8] Arrange hotpluggable memory as ZONE_MOVABLE Zhang Yanfei
2013-10-12  6:03 ` [PATCH part2 v2 1/8] x86: get pg_data_t's memory from other node Zhang Yanfei
2013-10-12  6:04 ` [PATCH part2 v2 2/8] memblock, numa: Introduce flag into memblock Zhang Yanfei
2013-10-12  6:05 ` [PATCH part2 v2 3/8] memblock, mem_hotplug: Introduce MEMBLOCK_HOTPLUG flag to mark hotpluggable regions Zhang Yanfei
2013-10-12  6:06 ` [PATCH part2 v2 4/8] memblock: Make memblock_set_node() support different memblock_type Zhang Yanfei
2013-10-12  6:07 ` [PATCH part2 v2 5/8] acpi, numa, mem_hotplug: Mark hotpluggable memory in memblock Zhang Yanfei
2013-10-12  6:08 ` [PATCH part2 v2 6/8] acpi, numa, mem_hotplug: Mark all nodes the kernel resides un-hotpluggable Zhang Yanfei
2013-10-12  6:09 ` [PATCH part2 v2 7/8] memblock, mem_hotplug: Make memblock skip hotpluggable regions if needed Zhang Yanfei
2013-10-12  6:09 ` [PATCH part2 v2 8/8] x86, numa, acpi, memory-hotplug: Make movable_node have higher priority Zhang Yanfei
     [not found] ` <525B19C3.9040907@gmail.com>
     [not found]   ` <20131014133835.GG4722@htj.dyndns.org>
     [not found]     ` <525BFCF3.5010908@gmail.com>
     [not found]       ` <20131014142719.GI4722@htj.dyndns.org>
     [not found]         ` <525C02DC.4050706@gmail.com>
     [not found]           ` <20131014145131.GJ4722@htj.dyndns.org>
     [not found]             ` <525C0866.2010808@gmail.com>
     [not found]               ` <20131014151902.GL4722@htj.dyndns.org>
2013-10-14 15:34                 ` Zhang Yanfei [this message]
2013-10-14 19:34                   ` [PATCH part2 v2 0/8] Arrange hotpluggable memory as ZONE_MOVABLE Yinghai Lu
2013-10-14 20:04                     ` Tejun Heo
2013-10-14 20:37                       ` Yinghai Lu
2013-10-14 20:42                         ` H. Peter Anvin
2013-10-15  6:50                           ` Ingo Molnar
2013-10-15 17:31                             ` H. Peter Anvin
2013-10-16  7:03                               ` Ingo Molnar
2013-10-14 20:55                         ` Tejun Heo
2013-10-15  1:40                           ` Zhang Yanfei
2013-10-15  2:25                           ` Yinghai Lu
2013-10-15 13:16                             ` Tejun Heo
2013-10-14 20:35                     ` H. Peter Anvin
2013-10-14 20:42                       ` Yinghai Lu
2013-10-14 20:49                         ` H. Peter Anvin

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=525C0EFE.2010409@gmail.com \
    --to=zhangyanfei.yes@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tj@kernel.org \
    --cc=toshi.kani@hp.com \
    --cc=yinghai@kernel.org \
    --cc=zhangyanfei@cn.fujitsu.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