Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1286128 > unrolled thread

Re: [PATCH v2 0/2] mm: Introduce kernelcore=reliable option

Started byAndrew Morton <akpm@linux-foundation.org>
First post2015-12-08 01:40 +0100
Last post2015-12-09 01:00 +0100
Articles 4 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v2 0/2] mm: Introduce kernelcore=reliable option Andrew Morton <akpm@linux-foundation.org> - 2015-12-08 01:40 +0100
    RE: [PATCH v2 0/2] mm: Introduce kernelcore=reliable option "Izumi, Taku" <izumi.taku@jp.fujitsu.com> - 2015-12-08 09:10 +0100
      Re: [PATCH v2 0/2] mm: Introduce kernelcore=reliable option Tony Luck <tony.luck@gmail.com> - 2015-12-08 17:20 +0100
        RE: [PATCH v2 0/2] mm: Introduce kernelcore=reliable option "Izumi, Taku" <izumi.taku@jp.fujitsu.com> - 2015-12-09 01:00 +0100

#1286128 — Re: [PATCH v2 0/2] mm: Introduce kernelcore=reliable option

FromAndrew Morton <akpm@linux-foundation.org>
Date2015-12-08 01:40 +0100
SubjectRe: [PATCH v2 0/2] mm: Introduce kernelcore=reliable option
Message-ID<qDetY-3wh-9@gated-at.bofh.it>
On Sat, 28 Nov 2015 00:03:55 +0900 Taku Izumi <izumi.taku@jp.fujitsu.com> wrote:

> Xeon E7 v3 based systems supports Address Range Mirroring
> and UEFI BIOS complied with UEFI spec 2.5 can notify which
> ranges are reliable (mirrored) via EFI memory map.
> Now Linux kernel utilize its information and allocates
> boot time memory from reliable region.
> 
> My requirement is:
>   - allocate kernel memory from reliable region
>   - allocate user memory from non-reliable region
> 
> In order to meet my requirement, ZONE_MOVABLE is useful.
> By arranging non-reliable range into ZONE_MOVABLE,
> reliable memory is only used for kernel allocations.
> 
> My idea is to extend existing "kernelcore" option and
> introduces kernelcore=reliable option. By specifying
> "reliable" instead of specifying the amount of memory,
> non-reliable region will be arranged into ZONE_MOVABLE.

It is unfortunate that the kernel presently refers to this memory as
"mirrored", but this patchset introduces the new term "reliable".  I
think it would be better if we use "mirrored" throughout.

Of course, mirroring isn't the only way to get reliable memory. 
Perhaps if a part of the system memory has ECC correction then this
also can be accessed using "reliable", in which case your proposed
naming makes sense.  reliable == mirrored || ecc?



Secondly, does this patchset mean that kernelcore=reliable and
kernelcore=100M are exclusive?  Or can the user specify
"kernelcore=reliable,kernelcore=100M" to use 100M of reliable memory
for kernelcore?

This is unclear from the documentation and I suggest that this be
spelled out.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1286300

From"Izumi, Taku" <izumi.taku@jp.fujitsu.com>
Date2015-12-08 09:10 +0100
Message-ID<qDlvr-89i-1@gated-at.bofh.it>
In reply to#1286128
Dear Tony,

  Thanks for testing!

Dear Andrew,


> > Xeon E7 v3 based systems supports Address Range Mirroring
> > and UEFI BIOS complied with UEFI spec 2.5 can notify which
> > ranges are reliable (mirrored) via EFI memory map.
> > Now Linux kernel utilize its information and allocates
> > boot time memory from reliable region.
> >
> > My requirement is:
> >   - allocate kernel memory from reliable region
> >   - allocate user memory from non-reliable region
> >
> > In order to meet my requirement, ZONE_MOVABLE is useful.
> > By arranging non-reliable range into ZONE_MOVABLE,
> > reliable memory is only used for kernel allocations.
> >
> > My idea is to extend existing "kernelcore" option and
> > introduces kernelcore=reliable option. By specifying
> > "reliable" instead of specifying the amount of memory,
> > non-reliable region will be arranged into ZONE_MOVABLE.
> 
> It is unfortunate that the kernel presently refers to this memory as
> "mirrored", but this patchset introduces the new term "reliable".  I
> think it would be better if we use "mirrored" throughout.
> Of course, mirroring isn't the only way to get reliable memory.

  YES. "mirroring" is not the only way.
  So, in my opinion, we should change "mirrored" into "reliable" in order
  to match terms of UEFI 2.5 spec.

> Perhaps if a part of the system memory has ECC correction then this
> also can be accessed using "reliable", in which case your proposed
> naming makes sense.  reliable == mirrored || ecc?

  "reliable" is better.

  But, I'm willing to change "reliable" into "mirrored".

  Otherwise, I keep "kernelcore=reliable" and add the following minimal fix as 
  a separate patch:

diff  a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -134,7 +134,7 @@ void __init efi_find_mirror(void)
                }
        }
        if (mirror_size)
-               pr_info("Memory: %lldM/%lldM mirrored memory\n",
+               pr_info("Memory: %lldM/%lldM reliable memory\n",
                        mirror_size>>20, total_size>>20);
 }

 
 Which do you think is beter ?
   - change into kernelcore="mirrored"
   - keep kernelcore="reliable" and minmal printk fix 

> 
> Secondly, does this patchset mean that kernelcore=reliable and
> kernelcore=100M are exclusive?  Or can the user specify
> "kernelcore=reliable,kernelcore=100M" to use 100M of reliable memory
> for kernelcore?

  No, these are exclusive.
> 
> This is unclear from the documentation and I suggest that this be
> spelled out.

  Thanks. I'll update its document.

 Sincerely,
 Taku Izumi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1286647

FromTony Luck <tony.luck@gmail.com>
Date2015-12-08 17:20 +0100
Message-ID<qDt9E-4CC-29@gated-at.bofh.it>
In reply to#1286300
On Tue, Dec 8, 2015 at 12:07 AM, Izumi, Taku <izumi.taku@jp.fujitsu.com> wrote:
>  Which do you think is beter ?
>    - change into kernelcore="mirrored"
>    - keep kernelcore="reliable" and minmal printk fix

UEFI came up with the "reliable" wording (as a more generic term ...
as Andrew said
it could cover differences in ECC modes, or some alternate memory
technology that
has lower error rates).

But I personally like "mirror" more ... it matches current
implementation. Of course
I'll look silly if some future system does something other than mirror.

-Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1286921

From"Izumi, Taku" <izumi.taku@jp.fujitsu.com>
Date2015-12-09 01:00 +0100
Message-ID<qDAkO-yZ-1@gated-at.bofh.it>
In reply to#1286647
RGVhciBUb255LA0KDQoNCj4gPiAgV2hpY2ggZG8geW91IHRoaW5rIGlzIGJl
dGVyID8NCj4gPiAgICAtIGNoYW5nZSBpbnRvIGtlcm5lbGNvcmU9Im1pcnJv
cmVkIg0KPiA+ICAgIC0ga2VlcCBrZXJuZWxjb3JlPSJyZWxpYWJsZSIgYW5k
IG1pbm1hbCBwcmludGsgZml4DQo+IA0KPiBVRUZJIGNhbWUgdXAgd2l0aCB0
aGUgInJlbGlhYmxlIiB3b3JkaW5nIChhcyBhIG1vcmUgZ2VuZXJpYyB0ZXJt
IC4uLg0KPiBhcyBBbmRyZXcgc2FpZA0KPiBpdCBjb3VsZCBjb3ZlciBkaWZm
ZXJlbmNlcyBpbiBFQ0MgbW9kZXMsIG9yIHNvbWUgYWx0ZXJuYXRlIG1lbW9y
eQ0KPiB0ZWNobm9sb2d5IHRoYXQNCj4gaGFzIGxvd2VyIGVycm9yIHJhdGVz
KS4NCj4gDQo+IEJ1dCBJIHBlcnNvbmFsbHkgbGlrZSAibWlycm9yIiBtb3Jl
IC4uLiBpdCBtYXRjaGVzIGN1cnJlbnQNCj4gaW1wbGVtZW50YXRpb24uIE9m
IGNvdXJzZQ0KPiBJJ2xsIGxvb2sgc2lsbHkgaWYgc29tZSBmdXR1cmUgc3lz
dGVtIGRvZXMgc29tZXRoaW5nIG90aGVyIHRoYW4gbWlycm9yLg0KPiANCg0K
IE9rYXksIEknbGwgY2hhbmdlIHRoZSBvcHRpb24gbmFtZSBpbnRvIGtlcm5l
bGNvcmU9bWlycm9yLg0KDQpTaW5jZXJlbHksDQpUYWt1IEl6dW1pDQo=
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web