Re: [PATCH] arm64: add NUMA emulation support

From: Michal Hocko
Date: Tue Sep 11 2018 - 05:11:29 EST

On Mon 10-09-18 20:02:05, Shuah Khan wrote:
> Hi Michal,
> On 09/10/2018 07:48 AM, Michal Hocko wrote:
> > On Fri 07-09-18 16:30:59, Shuah Khan wrote:
> >> On 09/07/2018 02:34 AM, Michal Hocko wrote:
> >>> On Thu 06-09-18 15:53:34, Shuah Khan wrote:
> [....]
> >>
> >> In addition to isolation, being able to reserve a block instead is one of the
> >> issues I am looking to address. Unfortunately memory cgroups won't address that
> >> issue.
> >
> > Could you be more specific why you need reservations other than
> > isolation.
> >
> Taking automotive as a specific example, there are two classes of applications:
> 1. critical applications that must run
> 2. Infotainment and misc. user-space.
> In this case, being able to reserve a block of memory for critical applications
> will ensure the memory is available for them. If a critical application has to
> restart and/or when an on-demand critical application starts, it might not be able
> to allocate memory if it is not reserved.
> When a flat system has multiple memory blocks, with NUMA emulation in conjunction with
> cpusets, one or more block can be reserved for critical applications configuring a set
> of cpus and one of more memory nodes for them.
> Memory cgroups will not support such reservation. Hope this helps explain the use-case
> I am trying to address with this patch.

OK, that is more clear. I still believe that you either have to have a
very good control over memory allocations or a good luck to not see
unexpected kernel allocations in your reserved memory which might easily
break guarantees you would like to accomplish.
Michal Hocko