From: chen tang <imtangchen@gmail.com>
To: Tejun Heo <tj@kernel.org>
Cc: Toshi Kani <toshi.kani@hp.com>,
Zhang Yanfei <zhangyanfei.yes@gmail.com>,
Tang Chen <tangchen@cn.fujitsu.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Bob Moore <robert.moore@intel.com>, Lv Zheng <lv.zheng@intel.com>,
"Rafael J. Wysocki" <rjw@sisk.pl>, Len Brown <lenb@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@zytor.com>,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Renninger <trenn@suse.de>, Yinghai Lu <yinghai@kernel.org>,
Jiang Liu <jiang.liu@huawei.com>,
Wen Congyang <wency@cn.fujitsu.com>,
Lai Jiangshan <laijs@cn.fujitsu.com>,
Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
Taku Izumi <izumi.taku@jp.fujitsu.com>,
Mel Gorman <mgorman@suse.de>, Minchan Kim <minchan@kernel.org>,
"mina86@mina86.com" <mina86@mina86.com>,
"gong.chen@linux.intel.com" <gong.chen@linux.intel.com>,
Vasilis Liaskovitis <vasilis.liaskovitis@profitbricks.com>,
"lwoodman@redhat.com" <lwoodman@redhat.com>,
Rik van Riel <riel@redhat.com>,
"jweiner@redhat.com" <jweiner@redhat.com>,
Prarit Bhargava <prarit@redhat.com>,
Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
"yanghy@cn.fujitsu.com" <yanghy@cn.fujitsu.com>,
the arch/x86 maintainers <x86@kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux MM <linux-mm@kvack.org>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>
Subject: Re: [PATCH 0/8] x86, acpi: Move acpi_initrd_override() earlier.
Date: Sat, 24 Aug 2013 07:56:21 +0800 [thread overview]
Message-ID: <CAD11hGyuT9s9LnEnBjaw9hZH+ABicUC-krP7AupJg8PXjOm=LQ@mail.gmail.com> (raw)
In-Reply-To: <20130823215243.GD11391@mtj.dyndns.org>
Hi tj,
2013/8/24 Tejun Heo <tj@kernel.org>:
> Hello,
>
> On Sat, Aug 24, 2013 at 05:37:48AM +0800, chen tang wrote:
>> We have read the comments from Yinghai. Reordering relocated_initrd and
>> reserve_crashkernel is doable, and the most difficult part is change the page
>> tables initialization logic. And as Zhang has mentioned above, we are not sure
>> if this could be acceptable.
>
> Maybe I'm missing something but why is that so hard? All it does is
> allocating memory in a different place. Why is that so complicated?
> Can somebody please elaborate the issues here? If it is actually
> hairy, where does the hairiness come from? Is it an inherent problem
> or just an issue with how the code is organized currently?
Your idea is doable, and we are doing it now. I think it is just an issue
with how to organize the code.
The main problem is like Yinghai said, memory hotplug kernel and regular
kernel won't be able to share the code. We use a boot option to control it.
And I'll send a patch-set next week and then we can see how it goes.
......
>> And as tj concerned about the stability of the kernel boot sequence, then how
>> about this:
>
> I guess my answer remains the same. Why? What actual benefits does
> doing so buy us and why is changing the allocation direction, which
> conceptually is extremely simple, so complicated? What you guys are
> trying to do adds significant amount of complexity and convolution,
> which in itself doesn't necessarily disqualify the changes but it
> needs good enough justifications.
>
> I get that you guys want it but I still fail to see why. It *can't*
> be proper solution to the hotplug issue. We don't want earlyprintk to
> involve huge chunk of logic and the benefits of node-affine page
> tables for kernel linear mapping seem dubious. So, what do we gain by
> doing this? What am I missing here?
>
Sorry for the unclear description. To summaries, the whole picture is:
We are going to provide a system with some nodes hotpluggable, not all.
These nodes are movable nodes, with only ZONE_MOVABLE. So we need
a way to ensure the movable nodes have ZONE_MOVABLE only.
We want SRAT earlier because before it is parsed, memblock starts to
allocate memory for kernel, which won't be in ZONE_MOVABLE.
It is just that simple. You are not missing anything here, I think.
My suggestion is parsing SRAT earlier:
1. The nodes kernel resides in will be un-movable.
2. The nodes with un-hotpluggable memory in SRAT will be un-movable.
3. The nodes full of hotpluggable memory in SRAT will be movable nodes.
No offence, but seeing from me, it is a solution. The only thing it could buy
me is that I can achieve the goal. I was trying my best to avoid bad influence
to other code.
And other things, early_printk, and local node page table are some other
cases that also need acpi tables earlier.
That is exactly all the things I want to do. That is all I have, and I
don't have
anything new here.
I read the whole series, and I understand your points:
1. Even if move SRAT earlier, it is too late. It should be done in
bootloader and
kexec/kdump.
2. Doing so will make boot sequence more complicated and error-prone.
3. early_printk and local node page table won't by us so much when
using huge page.
...maybe some other points, I won't elaborate them all.
Since we have discussed so much, I don't want debate more. We are working on
patch-set according to your idea, and I also agree it is doable. I
have no objection to
your idea. Sending this patch-set is just one of my another try. So,
let's see how
it will go next week. :)
Thank you all for your comments and patient. :)
--
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>
prev parent reply other threads:[~2013-08-23 23:56 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-21 10:15 Tang Chen
2013-08-21 10:15 ` [PATCH 1/8] x86: Make get_ramdisk_{image|size}() global Tang Chen
2013-08-21 10:15 ` [PATCH 2/8] x86, microcode: Use get_ramdisk_{image|size}() in microcode handling Tang Chen
2013-08-21 10:15 ` [PATCH 3/8] x86, acpi: Move table_sigs[] to stack Tang Chen
2013-08-21 10:15 ` [PATCH 4/8] x86, acpi, brk: Extend BRK 256KB to store acpi override tables Tang Chen
2013-08-21 10:15 ` [PATCH 5/8] x86, brk: Make extend_brk() available with va/pa Tang Chen
2013-08-21 12:26 ` Konrad Rzeszutek Wilk
2013-08-21 12:35 ` H. Peter Anvin
2013-08-21 14:42 ` Konrad Rzeszutek Wilk
2013-08-21 15:04 ` H. Peter Anvin
2013-08-21 10:15 ` [PATCH 6/8] x86, acpi: Make acpi_initrd_override() available with va or pa Tang Chen
2013-08-21 10:15 ` [PATCH 7/8] x86, acpi, brk: Make early_alloc_acpi_override_tables_buf() available with va/pa Tang Chen
2013-08-21 10:15 ` [PATCH 8/8] x86, acpi: Do acpi_initrd_override() earlier in head_32.S/head64.c Tang Chen
2013-08-21 10:42 ` [PATCH 0/8] x86, acpi: Move acpi_initrd_override() earlier Tang Chen
2013-08-21 13:06 ` Tejun Heo
2013-08-21 15:00 ` Zhang Yanfei
2013-08-21 15:36 ` Tejun Heo
2013-08-21 19:31 ` Toshi Kani
2013-08-21 19:54 ` Tejun Heo
2013-08-21 20:29 ` Toshi Kani
2013-08-21 20:40 ` Tejun Heo
2013-08-21 22:36 ` Toshi Kani
2013-08-22 3:32 ` Tejun Heo
2013-08-22 15:52 ` Toshi Kani
2013-08-22 18:31 ` Tejun Heo
2013-08-22 19:39 ` Zhang Yanfei
2013-08-22 19:45 ` Tejun Heo
2013-08-22 20:11 ` Toshi Kani
2013-08-22 20:21 ` Tejun Heo
2013-08-22 20:35 ` Tejun Heo
2013-08-22 21:06 ` Toshi Kani
2013-08-22 21:21 ` Tejun Heo
2013-08-22 22:17 ` Toshi Kani
2013-08-23 13:04 ` Tejun Heo
2013-08-23 13:08 ` H. Peter Anvin
2013-08-23 14:19 ` Tejun Heo
2013-08-23 14:24 ` H. Peter Anvin
2013-08-23 14:35 ` Tejun Heo
2013-08-23 14:57 ` Tejun Heo
2013-08-23 16:14 ` Toshi Kani
2013-08-23 16:24 ` Tejun Heo
2013-08-23 17:13 ` Toshi Kani
2013-08-23 17:29 ` Zhang Yanfei
2013-08-23 16:54 ` Zhang Yanfei
2013-08-23 18:18 ` Yinghai Lu
2013-08-23 18:25 ` H. Peter Anvin
2013-08-23 20:33 ` chen tang
2013-08-23 21:08 ` Yinghai Lu
2013-08-23 22:27 ` chen tang
2013-08-23 18:29 ` Toshi Kani
2013-08-23 21:37 ` chen tang
2013-08-23 21:52 ` Tejun Heo
2013-08-23 23:56 ` chen tang [this message]
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='CAD11hGyuT9s9LnEnBjaw9hZH+ABicUC-krP7AupJg8PXjOm=LQ@mail.gmail.com' \
--to=imtangchen@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=gong.chen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=izumi.taku@jp.fujitsu.com \
--cc=jiang.liu@huawei.com \
--cc=jweiner@redhat.com \
--cc=konrad.wilk@oracle.com \
--cc=laijs@cn.fujitsu.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lv.zheng@intel.com \
--cc=lwoodman@redhat.com \
--cc=mgorman@suse.de \
--cc=mina86@mina86.com \
--cc=minchan@kernel.org \
--cc=mingo@elte.hu \
--cc=prarit@redhat.com \
--cc=riel@redhat.com \
--cc=rjw@sisk.pl \
--cc=robert.moore@intel.com \
--cc=tangchen@cn.fujitsu.com \
--cc=tglx@linutronix.de \
--cc=tj@kernel.org \
--cc=toshi.kani@hp.com \
--cc=trenn@suse.de \
--cc=vasilis.liaskovitis@profitbricks.com \
--cc=wency@cn.fujitsu.com \
--cc=x86@kernel.org \
--cc=yanghy@cn.fujitsu.com \
--cc=yinghai@kernel.org \
--cc=zhangyanfei.yes@gmail.com \
--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