All of lore.kernel.org
 help / color / mirror / Atom feed
From: Toshi Kani <toshi.kani@hp.com>
To: Tejun Heo <tj@kernel.org>
Cc: Zhang Yanfei <zhangyanfei.yes@gmail.com>,
	Tang Chen <tangchen@cn.fujitsu.com>,
	konrad.wilk@oracle.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
Subject: Re: [PATCH 0/8] x86, acpi: Move acpi_initrd_override() earlier.
Date: Thu, 22 Aug 2013 14:11:32 -0600	[thread overview]
Message-ID: <1377202292.10300.693.camel@misato.fc.hp.com> (raw)
In-Reply-To: <20130822183130.GA3490@mtj.dyndns.org>

Hello Tejun,

On Thu, 2013-08-22 at 14:31 -0400, Tejun Heo wrote:
> On Thu, Aug 22, 2013 at 09:52:09AM -0600, Toshi Kani wrote:
> > I understand that you are concerned about stability of the ACPI stuff,
> > which I think is a valid point, but most of (if not all) of the
> > ACPI-related issues come from ACPI namespace/methods, which is a very
> > different thing.  Please do not mix up those two.  The ACPI
> 
> I have no objection to implementing self-conftained earlyprintk
> support.  If that's all you want to do, please go ahead but do not
> pull in initrd override or ACPICA into it.

If you are referring ACPICA as the AML interpreter, right, we do not
move it up as I explained before.  We are trying to move up the ACPI
table init code (which is part of ACPICA, but has nothing to do with
AML.)

Note that ia64 also uses ACPI, and calls acpi_table_init() in
setup_arch() before initializing the bootmap in find_memory().

> > namespace/methods stuff remains the same and continues to be initialized
> > at very late in the boot sequence.
> > 
> > What's making the patchset complicated is acpi_initrd_override(), which
> > is intended for developers and allows overwriting ACPI bits at their own
> > risk.  This feature won't be used by regular users. 
> 
> Yeah, please forget about that in earlyboot.  It doesn't make any
> sense to fiddle with initrd that early during boot.

I think the reason why Tang is working on this stuff again is that his
previous change (which was once accepted) had broken initrd.  So, he'd
have to support it this time...

> > If you are referring the issue of kernel image location, it is a
> > limitation in the current implementation, not a technical limitation.  I
> > know other OS that supports movable memory and puts the kernel image
> > into a movable memory with SRAT by changing the bootloader.
> 
> I'm not saying that problem shouldn't be solved.  I'm saying what you
> guys are pushing doesn't help solving it at all.  It's too late in the
> boot process.  It needs to be handled either by bootloader or earlier
> kernel kexecing the actual one and super-early SRAT doens't help at
> all in either case, so what's the point of pulling ACPI code in when
> it doesn't contribute to solving the problem properly?

It's too late for the kernel image itself, but it prevents allocating
kernel memory from movable ranges after that.  I'd say it solves a half
of the issue this time.

> > Also, how do you support local page tables without pursing SRAT early?
> 
> Does it even matter with huge mappings?  It's gonna be contained in a
> single page anyway, right?

Are the huge mappings always used?  We cannot force user programs to use
huge pages, can we?

> > Initializing page tables on large systems may take a long time, and I do
> > think that earlyprink needs to be available before that point.
> 
> Yeah, sure, implement it in *minimal* way which doesn't affect
> anything if not explicitly enabled by kernel param like other
> earlyprintks.  It doens't make any sense to add dependency to acpi
> from early boot for that.

It makes sense because it needs to obtain the config info from ACPI
tables.

As for the maintainability, I am far more concerned with your suggestion
of having a separate page table init code when SRAT is used.  This kind
of divergence is a recipe of breakage.

Thanks,
-Toshi

--
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: Toshi Kani <toshi.kani@hp.com>
To: Tejun Heo <tj@kernel.org>
Cc: Zhang Yanfei <zhangyanfei.yes@gmail.com>,
	Tang Chen <tangchen@cn.fujitsu.com>,
	konrad.wilk@oracle.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
Subject: Re: [PATCH 0/8] x86, acpi: Move acpi_initrd_override() earlier.
Date: Thu, 22 Aug 2013 14:11:32 -0600	[thread overview]
Message-ID: <1377202292.10300.693.camel@misato.fc.hp.com> (raw)
In-Reply-To: <20130822183130.GA3490@mtj.dyndns.org>

Hello Tejun,

On Thu, 2013-08-22 at 14:31 -0400, Tejun Heo wrote:
> On Thu, Aug 22, 2013 at 09:52:09AM -0600, Toshi Kani wrote:
> > I understand that you are concerned about stability of the ACPI stuff,
> > which I think is a valid point, but most of (if not all) of the
> > ACPI-related issues come from ACPI namespace/methods, which is a very
> > different thing.  Please do not mix up those two.  The ACPI
> 
> I have no objection to implementing self-conftained earlyprintk
> support.  If that's all you want to do, please go ahead but do not
> pull in initrd override or ACPICA into it.

If you are referring ACPICA as the AML interpreter, right, we do not
move it up as I explained before.  We are trying to move up the ACPI
table init code (which is part of ACPICA, but has nothing to do with
AML.)

Note that ia64 also uses ACPI, and calls acpi_table_init() in
setup_arch() before initializing the bootmap in find_memory().

> > namespace/methods stuff remains the same and continues to be initialized
> > at very late in the boot sequence.
> > 
> > What's making the patchset complicated is acpi_initrd_override(), which
> > is intended for developers and allows overwriting ACPI bits at their own
> > risk.  This feature won't be used by regular users. 
> 
> Yeah, please forget about that in earlyboot.  It doesn't make any
> sense to fiddle with initrd that early during boot.

I think the reason why Tang is working on this stuff again is that his
previous change (which was once accepted) had broken initrd.  So, he'd
have to support it this time...

> > If you are referring the issue of kernel image location, it is a
> > limitation in the current implementation, not a technical limitation.  I
> > know other OS that supports movable memory and puts the kernel image
> > into a movable memory with SRAT by changing the bootloader.
> 
> I'm not saying that problem shouldn't be solved.  I'm saying what you
> guys are pushing doesn't help solving it at all.  It's too late in the
> boot process.  It needs to be handled either by bootloader or earlier
> kernel kexecing the actual one and super-early SRAT doens't help at
> all in either case, so what's the point of pulling ACPI code in when
> it doesn't contribute to solving the problem properly?

It's too late for the kernel image itself, but it prevents allocating
kernel memory from movable ranges after that.  I'd say it solves a half
of the issue this time.

> > Also, how do you support local page tables without pursing SRAT early?
> 
> Does it even matter with huge mappings?  It's gonna be contained in a
> single page anyway, right?

Are the huge mappings always used?  We cannot force user programs to use
huge pages, can we?

> > Initializing page tables on large systems may take a long time, and I do
> > think that earlyprink needs to be available before that point.
> 
> Yeah, sure, implement it in *minimal* way which doesn't affect
> anything if not explicitly enabled by kernel param like other
> earlyprintks.  It doens't make any sense to add dependency to acpi
> from early boot for that.

It makes sense because it needs to obtain the config info from ACPI
tables.

As for the maintainability, I am far more concerned with your suggestion
of having a separate page table init code when SRAT is used.  This kind
of divergence is a recipe of breakage.

Thanks,
-Toshi


  parent reply	other threads:[~2013-08-22 20:11 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-21 10:15 [PATCH 0/8] x86, acpi: Move acpi_initrd_override() earlier Tang Chen
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   ` 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   ` Tang Chen
2013-08-21 10:15 ` [PATCH 3/8] x86, acpi: Move table_sigs[] to stack Tang Chen
2013-08-21 10:15   ` 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   ` Tang Chen
2013-08-21 10:15 ` [PATCH 5/8] x86, brk: Make extend_brk() available with va/pa Tang Chen
2013-08-21 10:15   ` Tang Chen
2013-08-21 12:26   ` Konrad Rzeszutek Wilk
2013-08-21 12:26     ` Konrad Rzeszutek Wilk
2013-08-21 12:35     ` H. Peter Anvin
2013-08-21 12:35       ` H. Peter Anvin
2013-08-21 14:42       ` Konrad Rzeszutek Wilk
2013-08-21 14:42         ` Konrad Rzeszutek Wilk
2013-08-21 15:04         ` H. Peter Anvin
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   ` 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   ` 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:15   ` Tang Chen
2013-08-21 10:42 ` [PATCH 0/8] x86, acpi: Move acpi_initrd_override() earlier Tang Chen
2013-08-21 10:42   ` Tang Chen
2013-08-21 13:06 ` Tejun Heo
2013-08-21 13:06   ` Tejun Heo
2013-08-21 15:00   ` Zhang Yanfei
2013-08-21 15:00     ` Zhang Yanfei
2013-08-21 15:36     ` Tejun Heo
2013-08-21 15:36       ` Tejun Heo
2013-08-21 19:31       ` Toshi Kani
2013-08-21 19:31         ` Toshi Kani
2013-08-21 19:54         ` Tejun Heo
2013-08-21 19:54           ` Tejun Heo
2013-08-21 20:29           ` Toshi Kani
2013-08-21 20:29             ` Toshi Kani
2013-08-21 20:40             ` Tejun Heo
2013-08-21 20:40               ` Tejun Heo
2013-08-21 22:36               ` Toshi Kani
2013-08-21 22:36                 ` Toshi Kani
2013-08-22  3:32                 ` Tejun Heo
2013-08-22  3:32                   ` Tejun Heo
2013-08-22 15:52                   ` Toshi Kani
2013-08-22 15:52                     ` Toshi Kani
2013-08-22 18:31                     ` Tejun Heo
2013-08-22 18:31                       ` Tejun Heo
2013-08-22 19:39                       ` Zhang Yanfei
2013-08-22 19:39                         ` Zhang Yanfei
2013-08-22 19:45                         ` Tejun Heo
2013-08-22 19:45                           ` Tejun Heo
2013-08-22 20:11                       ` Toshi Kani [this message]
2013-08-22 20:11                         ` Toshi Kani
2013-08-22 20:21                         ` Tejun Heo
2013-08-22 20:21                           ` Tejun Heo
2013-08-22 20:35                           ` Tejun Heo
2013-08-22 20:35                             ` Tejun Heo
2013-08-22 21:06                           ` Toshi Kani
2013-08-22 21:06                             ` Toshi Kani
2013-08-22 21:21                             ` Tejun Heo
2013-08-22 21:21                               ` Tejun Heo
2013-08-22 22:17                               ` Toshi Kani
2013-08-22 22:17                                 ` Toshi Kani
2013-08-23 13:04                                 ` Tejun Heo
2013-08-23 13:04                                   ` Tejun Heo
2013-08-23 13:08                                   ` H. Peter Anvin
2013-08-23 13:08                                     ` H. Peter Anvin
2013-08-23 14:19                                     ` Tejun Heo
2013-08-23 14:19                                       ` Tejun Heo
2013-08-23 14:24                                       ` H. Peter Anvin
2013-08-23 14:24                                         ` H. Peter Anvin
2013-08-23 14:24                                         ` H. Peter Anvin
2013-08-23 14:35                                         ` Tejun Heo
2013-08-23 14:35                                           ` Tejun Heo
2013-08-23 14:57                                           ` Tejun Heo
2013-08-23 14:57                                             ` Tejun Heo
2013-08-23 16:14                                   ` Toshi Kani
2013-08-23 16:14                                     ` Toshi Kani
2013-08-23 16:24                                     ` Tejun Heo
2013-08-23 16:24                                       ` Tejun Heo
2013-08-23 17:13                                       ` Toshi Kani
2013-08-23 17:13                                         ` Toshi Kani
2013-08-23 17:29                                         ` Zhang Yanfei
2013-08-23 17:29                                           ` Zhang Yanfei
2013-08-23 16:54                                     ` Zhang Yanfei
2013-08-23 16:54                                       ` Zhang Yanfei
2013-08-23 18:18                                       ` Yinghai Lu
2013-08-23 18:18                                         ` Yinghai Lu
2013-08-23 18:25                                         ` H. Peter Anvin
2013-08-23 20:08                                           ` Yinghai Lu
2013-08-23 20:30                                             ` Russ Anderson
2013-08-23 20:48                                               ` Yinghai Lu
2013-08-23 21:50                                                 ` chen tang
2013-08-23 21:52                                                   ` Moore, Robert
2013-08-23 22:05                                                     ` Yinghai Lu
2013-08-23 22:08                                                   ` Yinghai Lu
2013-08-23 22:40                                                     ` chen tang
2013-08-23 23:04                                                       ` Yinghai Lu
2013-08-24  2:41                                             ` Russ Anderson
2013-08-23 20:33                                         ` chen tang
2013-08-23 20:33                                           ` chen tang
2013-08-23 21:08                                           ` Yinghai Lu
2013-08-23 21:08                                             ` Yinghai Lu
2013-08-23 22:27                                             ` chen tang
2013-08-23 22:27                                               ` chen tang
2013-08-23 18:29                                       ` Toshi Kani
2013-08-23 18:29                                         ` Toshi Kani
2013-08-23 21:37                                         ` chen tang
2013-08-23 21:37                                           ` chen tang
2013-08-23 21:52                                           ` Tejun Heo
2013-08-23 21:52                                             ` Tejun Heo
2013-08-23 23:56                                             ` chen tang
2013-08-23 23:56                                               ` chen tang

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=1377202292.10300.693.camel@misato.fc.hp.com \
    --to=toshi.kani@hp.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=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 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.