linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tang Chen <imtangchen@gmail.com>
To: Tejun Heo <tj@kernel.org>
Cc: Tang Chen <tangchen@cn.fujitsu.com>,
	robert.moore@intel.com, lv.zheng@intel.com, rjw@sisk.pl,
	lenb@kernel.org, tglx@linutronix.de, mingo@elte.hu,
	hpa@zytor.com, akpm@linux-foundation.org, trenn@suse.de,
	yinghai@kernel.org, jiang.liu@huawei.com, wency@cn.fujitsu.com,
	laijs@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com,
	izumi.taku@jp.fujitsu.com, mgorman@suse.de, minchan@kernel.org,
	mina86@mina86.com, gong.chen@linux.intel.com,
	vasilis.liaskovitis@profitbricks.com, lwoodman@redhat.com,
	riel@redhat.com, jweiner@redhat.com, prarit@redhat.com,
	zhangyanfei@cn.fujitsu.com, yanghy@cn.fujitsu.com,
	x86@kernel.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linux-acpi@vger.kernel.org, imtangchen@gmail.com
Subject: Re: [PATCH part5 0/7] Arrange hotpluggable memory as ZONE_MOVABLE.
Date: Tue, 13 Aug 2013 00:19:02 +0800	[thread overview]
Message-ID: <52090AF6.6020206@gmail.com> (raw)
In-Reply-To: <20130812154623.GL15892@htj.dyndns.org>

On 08/12/2013 11:46 PM, Tejun Heo wrote:
> Hello,
>
> On Mon, Aug 12, 2013 at 11:41:25PM +0800, Tang Chen wrote:
>> Then there is no way to tell the users which memory is hotpluggable.
>>
>> phys addr is not user friendly. For users, node or memory device is the
>> best. The firmware should arrange the hotpluggable ranges well.
>
> I don't follow.  Why can't the kernel export that information to
> userland after boot is complete via printk / sysfs / proc / whatever?
> The admin can "request" hotplug by boot param and the kernel would try
> to honor that and return the result on boot completion.  I don't
> understand why that wouldn't work.

Sorry, I was in such a hurry that I didn't make myself clear...

The kernel can export info to users. The point is what kind of info.
Exporting phys addr is meaningless, of course. Now in /sys, we only
have memory_block and node. memory_block is only 128M on x86, and
hotplug a memory_block means nothing. So actually we only have node.

So users want to hotplug a node is reasonable, I think. In the
beginning, we set the hotplug unit to a node. That is also why we
did the movable node.

In summary, node hotplug is much meaningful and usable for users.
So it is the best that we can arrange a whole node to be movable
node, not opportunistic.

>
>> In my opinion, maybe some application layer tools may use SRAT to show
>> the users which memory is hotpluggable. I just think both of the kernel
>> and the application layer should obey the same rule.
>
> Sure, just let the kernel tell the user which memory node ended up
> hotpluggable after booting.
>
>>> * Similar to the point hpa raised.  If this can be made opportunistic,
>>>    do we need the strict reordering to discover things earlier?
>>>    Shouldn't it be possible to configure memblock to allocate close to
>>>    the kernel image until hotplug and numa information is available?
>>>    For most sane cases, the memory allocated will be contained in
>>>    non-hotpluggable node anyway and in case they aren't hotplug
>>>    wouldn't work but the system will boot and function perfectly fine.
>>
>> So far as I know, the kernel image and related data can be loaded
>> anywhere, above 4GB. I just can't make any assumption.
>
> I don't follow why that would be problematic.  Wouldn't finding out
> which node the kernel image is located in and preferring to allocate
> from that node before hotplug info is available be enough?

I'm just thinking of a more extreme case. For example, if a machine
has only one node hotpluggable, and the kernel resides in that node.
Then the system has no hotpluggable node.

If we can prevent the kernel from using hotpluggable memory, in such
a machine, users can still do memory hotplug.

I wanted to do it as generic as possible. But yes, finding out the
nodes the kernel resides in and make it unhotpluggable can work.

Thanks.

--
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>

  reply	other threads:[~2013-08-12 16:19 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-08 10:16 [PATCH part5 0/7] Arrange hotpluggable memory as ZONE_MOVABLE Tang Chen
2013-08-08 10:16 ` [PATCH part5 1/7] x86: get pg_data_t's memory from other node Tang Chen
2013-08-12 14:39   ` Tejun Heo
2013-08-12 15:12     ` Tang Chen
2013-08-08 10:16 ` [PATCH part5 2/7] x86, numa, mem_hotplug: Skip all the regions the kernel resides in Tang Chen
2013-08-08 10:16 ` [PATCH part5 3/7] memblock, numa: Introduce flag into memblock Tang Chen
2013-08-08 10:16 ` [PATCH part5 4/7] memblock, mem_hotplug: Introduce MEMBLOCK_HOTPLUG flag to mark hotpluggable regions Tang Chen
2013-08-08 10:16 ` [PATCH part5 5/7] memblock, mem_hotplug: Make memblock skip hotpluggable regions by default Tang Chen
2013-08-14 21:54   ` Naoya Horiguchi
2013-08-15  5:15     ` Tang Chen
2013-08-08 10:16 ` [PATCH part5 6/7] mem-hotplug: Introduce movablenode boot option to {en|dis}able using SRAT Tang Chen
2013-08-08 10:16 ` [PATCH part5 7/7] x86, numa, acpi, memory-hotplug: Make movablenode have higher priority Tang Chen
2013-08-09 16:32 ` [PATCH part5 0/7] Arrange hotpluggable memory as ZONE_MOVABLE Tejun Heo
2013-08-12  6:33   ` Tang Chen
2013-08-12  8:54   ` Tang Chen
2013-08-12 14:50 ` Tejun Heo
2013-08-12 15:14   ` H. Peter Anvin
2013-08-12 15:23     ` Tejun Heo
2013-08-12 16:29       ` Tang Chen
2013-08-12 16:46         ` Tejun Heo
2013-08-12 18:23           ` Tang Chen
2013-08-12 20:20             ` Tejun Heo
2013-08-12 20:49               ` Luck, Tony
2013-08-12 20:54                 ` Tejun Heo
2013-08-12 20:57                   ` H. Peter Anvin
2013-08-12 21:06                     ` Yinghai Lu
2013-08-12 21:08                       ` Tejun Heo
2013-08-12 21:12                         ` H. Peter Anvin
2013-08-12 21:14                           ` Tejun Heo
2013-08-12 21:11                       ` H. Peter Anvin
2013-08-12 21:11                   ` Luck, Tony
2013-08-12 21:25                     ` Yinghai Lu
2013-08-12 21:28                       ` H. Peter Anvin
2013-08-13  5:14                     ` H. Peter Anvin
2013-08-13  6:14           ` Tang Chen
2013-08-13  9:56             ` Tang Chen
2013-08-13 14:38               ` Tejun Heo
2013-08-13 22:33               ` Yinghai Lu
2013-08-14  1:22                 ` Tang Chen
2013-08-15 19:06                   ` Toshi Kani
2013-08-15 20:28                     ` Yinghai Lu
2013-08-16  2:08                       ` Tang Chen
2013-08-16  4:21                         ` Yinghai Lu
2013-08-19  3:07                           ` Tang Chen
2013-08-19  3:28                             ` Yinghai Lu
2013-08-15  8:42                 ` Tang Chen
2013-08-15 12:19                   ` Tejun Heo
2013-08-15 12:44                     ` Tang Chen
2013-08-15 12:49                       ` Tejun Heo
2013-08-15 12:52                         ` Tang Chen
2013-08-15 14:37                       ` Yinghai Lu
2013-08-15 14:45                         ` Tejun Heo
2013-08-15 15:05                           ` Yinghai Lu
2013-08-15 15:10                             ` Tejun Heo
2013-08-15 19:49                               ` Toshi Kani
2013-08-15 19:08                             ` Luck, Tony
2013-08-15 19:34                               ` Yinghai Lu
2013-08-15 14:35                   ` Yinghai Lu
2013-08-16  1:16                     ` Tang Chen
2013-08-12 15:41   ` Tang Chen
2013-08-12 15:46     ` Tejun Heo
2013-08-12 16:19       ` Tang Chen [this message]
2013-08-12 16:22         ` Tejun Heo
2013-08-12 17:01           ` Tang Chen
2013-08-12 17:23             ` H. Peter Anvin
2013-08-14 18:22               ` KOSAKI Motohiro
2013-08-12 18:07             ` Tejun Heo
2013-08-14 18:15               ` KOSAKI Motohiro
2013-08-14 18:23                 ` Tejun Heo
2013-08-14 19:40                   ` KOSAKI Motohiro
2013-08-14 19:55                     ` Tejun Heo
2013-08-14 20:29                       ` KOSAKI Motohiro
2013-08-14 20:30                         ` H. Peter Anvin
2013-08-14 20:35                         ` Tejun Heo
2013-08-14 21:17                           ` KOSAKI Motohiro
2013-08-14 21:36                             ` Tejun Heo
2013-08-15  1:08                               ` KOSAKI Motohiro
2013-08-15  1:21                                 ` Tejun Heo
2013-08-15  1:33                                   ` Tejun Heo
2013-08-15  1:44                                     ` KOSAKI Motohiro
2013-08-15  2:22                                       ` Tejun Heo
2013-08-15  1:38                                   ` KOSAKI Motohiro
2013-08-15  1:51                                     ` Tejun Heo

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=52090AF6.6020206@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=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=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@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;
as well as URLs for NNTP newsgroup(s).