RE: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-13 Thread Izumi, Taku
> > I remember Kame has already suggested this idea. In my opinion, > > I still think it's better to add a new migratetype or a new zone, > > so both user and kernel could use mirrored memory. > > A new zone would be more flexible ... and probably the right long > term solution. But this looks

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-13 Thread Kamezawa Hiroyuki
On 2015/10/09 19:36, Xishi Qiu wrote: On 2015/10/9 17:24, Kamezawa Hiroyuki wrote: On 2015/10/09 15:46, Xishi Qiu wrote: On 2015/10/9 22:56, Taku Izumi wrote: Xeon E7 v3 based systems supports Address Range Mirroring and UEFI BIOS complied with UEFI spec 2.5 can notify which ranges are

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-13 Thread Kamezawa Hiroyuki
On 2015/10/09 19:36, Xishi Qiu wrote: On 2015/10/9 17:24, Kamezawa Hiroyuki wrote: On 2015/10/09 15:46, Xishi Qiu wrote: On 2015/10/9 22:56, Taku Izumi wrote: Xeon E7 v3 based systems supports Address Range Mirroring and UEFI BIOS complied with UEFI spec 2.5 can notify which ranges are

RE: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-13 Thread Izumi, Taku
> > I remember Kame has already suggested this idea. In my opinion, > > I still think it's better to add a new migratetype or a new zone, > > so both user and kernel could use mirrored memory. > > A new zone would be more flexible ... and probably the right long > term solution. But this looks

RE: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-12 Thread Luck, Tony
> If we reuse the movable zone, we should set appropriate size of > mirrored memory region(normal zone) and non-mirrored memory > region(movable zone). In some cases, kernel will take more memory > than user, e.g. some apps run in kernel space, like module. > > I think user can set the size in

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-12 Thread Matt Fleming
On Fri, 09 Oct, at 06:51:34PM, Luck, Tony wrote: > > Current hardware can map one mirrored region from each memory controller. > We have two memory controllers per socket. So on a 4-socket machine we will > usually have 8 separate mirrored ranges. Two per NUMA node (assuming > cluster on die is

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-12 Thread Matt Fleming
On Fri, 09 Oct, at 06:51:34PM, Luck, Tony wrote: > > Current hardware can map one mirrored region from each memory controller. > We have two memory controllers per socket. So on a 4-socket machine we will > usually have 8 separate mirrored ranges. Two per NUMA node (assuming > cluster on die is

RE: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-12 Thread Luck, Tony
> If we reuse the movable zone, we should set appropriate size of > mirrored memory region(normal zone) and non-mirrored memory > region(movable zone). In some cases, kernel will take more memory > than user, e.g. some apps run in kernel space, like module. > > I think user can set the size in

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Xishi Qiu
On 2015/10/9 18:36, Xishi Qiu wrote: > On 2015/10/9 17:24, Kamezawa Hiroyuki wrote: > >> On 2015/10/09 15:46, Xishi Qiu wrote: >>> On 2015/10/9 22:56, Taku Izumi wrote: >>> Xeon E7 v3 based systems supports Address Range Mirroring and UEFI BIOS complied with UEFI spec 2.5 can notify

RE: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Luck, Tony
> I remember Kame has already suggested this idea. In my opinion, > I still think it's better to add a new migratetype or a new zone, > so both user and kernel could use mirrored memory. A new zone would be more flexible ... and probably the right long term solution. But this looks like a very

RE: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Luck, Tony
> I understand if the mirrored regions are always at the start of the zone > today, but is that somehow guaranteed going forward on all future hardware? > > I think it's important to at least consider what we would do if DMA32 > turned out to be non-reliable. Current hardware can map one mirrored

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Dave Hansen
On 10/09/2015 03:36 AM, Xishi Qiu wrote: > I mean the mirrored region can not at the middle or end of the zone, > BIOS should report the memory like this, > > e.g. > BIOS > node0: 0-4G mirrored, 4-8G mirrored, 8-16G non-mirrored > node1: 16-24G mirrored, 24-32G non-mirrored > > OS > node0: DMA

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Xishi Qiu
On 2015/10/9 17:24, Kamezawa Hiroyuki wrote: > On 2015/10/09 15:46, Xishi Qiu wrote: >> On 2015/10/9 22:56, Taku Izumi 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

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Kamezawa Hiroyuki
On 2015/10/09 15:46, Xishi Qiu wrote: On 2015/10/9 22:56, Taku Izumi 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

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Xishi Qiu
On 2015/10/9 22:56, Taku Izumi 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

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Kamezawa Hiroyuki
On 2015/10/09 15:46, Xishi Qiu wrote: On 2015/10/9 22:56, Taku Izumi 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

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Xishi Qiu
On 2015/10/9 18:36, Xishi Qiu wrote: > On 2015/10/9 17:24, Kamezawa Hiroyuki wrote: > >> On 2015/10/09 15:46, Xishi Qiu wrote: >>> On 2015/10/9 22:56, Taku Izumi wrote: >>> Xeon E7 v3 based systems supports Address Range Mirroring and UEFI BIOS complied with UEFI spec 2.5 can notify

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Xishi Qiu
On 2015/10/9 22:56, Taku Izumi 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

RE: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Luck, Tony
> I remember Kame has already suggested this idea. In my opinion, > I still think it's better to add a new migratetype or a new zone, > so both user and kernel could use mirrored memory. A new zone would be more flexible ... and probably the right long term solution. But this looks like a very

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Xishi Qiu
On 2015/10/9 17:24, Kamezawa Hiroyuki wrote: > On 2015/10/09 15:46, Xishi Qiu wrote: >> On 2015/10/9 22:56, Taku Izumi 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

RE: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Luck, Tony
> I understand if the mirrored regions are always at the start of the zone > today, but is that somehow guaranteed going forward on all future hardware? > > I think it's important to at least consider what we would do if DMA32 > turned out to be non-reliable. Current hardware can map one mirrored

Re: [PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-09 Thread Dave Hansen
On 10/09/2015 03:36 AM, Xishi Qiu wrote: > I mean the mirrored region can not at the middle or end of the zone, > BIOS should report the memory like this, > > e.g. > BIOS > node0: 0-4G mirrored, 4-8G mirrored, 8-16G non-mirrored > node1: 16-24G mirrored, 24-32G non-mirrored > > OS > node0: DMA

[PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-08 Thread Taku Izumi
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

[PATCH][RFC] mm: Introduce kernelcore=reliable option

2015-10-08 Thread Taku Izumi
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