Re: [RFC v2 PATCH 0/8] mm: mirrored memory support for page buddy allocations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Mel Gorman <mgorman@xxxxxxx> wrote:

> [...]
> 
> Basically, overall I feel this series is the wrong approach but not knowing who 
> the users are making is much harder to judge. I strongly suspect that if 
> mirrored memory is to be properly used then it needs to be available before the 
> page allocator is even active. Once active, there needs to be controlled access 
> for allocation requests that are really critical to mirror and not just all 
> kernel allocations. None of that would use a MIGRATE_TYPE approach. It would be 
> alterations to the bootmem allocator and access to an explicit reserve that is 
> not accounted for as "free memory" and accessed via an explicit GFP flag.

So I think the main goal is to avoid kernel crashes when a #MC memory fault 
arrives on a piece of memory that is owned by the kernel.

In that sense 'protecting' all kernel allocations is natural: we don't know how to 
recover from faults that affect kernel memory.

We do know how to recover from faults that affect user-space memory alone.

So if a mechanism is in place that prioritizes 3 groups of allocators:

  - non-recoverable memory (kernel allocations mostly)

  - high priority user memory (critical apps that must never fail)

  - recoverable user memory (non-dirty caches that can simply be dropped,
    non-critical apps, etc.)

then we can make use of this hardware feature. I suspect this series tries to move 
in that direction.

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]