[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <op.2lyv641jwjvjmi@hhuan26-mobl.amr.corp.intel.com>
Date: Tue, 09 Apr 2024 10:34:06 -0500
From: "Haitao Huang" <haitao.huang@...ux.intel.com>
To: Michal Koutný <mkoutny@...e.com>
Cc: "hpa@...or.com" <hpa@...or.com>, "tim.c.chen@...ux.intel.com"
<tim.c.chen@...ux.intel.com>, "linux-sgx@...r.kernel.org"
<linux-sgx@...r.kernel.org>, "x86@...nel.org" <x86@...nel.org>,
"dave.hansen@...ux.intel.com" <dave.hansen@...ux.intel.com>,
"jarkko@...nel.org" <jarkko@...nel.org>, "cgroups@...r.kernel.org"
<cgroups@...r.kernel.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "tglx@...utronix.de" <tglx@...utronix.de>,
"Mehta, Sohil" <sohil.mehta@...el.com>, "tj@...nel.org" <tj@...nel.org>,
"mingo@...hat.com" <mingo@...hat.com>, "bp@...en8.de" <bp@...en8.de>, "Huang,
Kai" <kai.huang@...el.com>, "mikko.ylinen@...ux.intel.com"
<mikko.ylinen@...ux.intel.com>, "seanjc@...gle.com" <seanjc@...gle.com>,
"anakrish@...rosoft.com" <anakrish@...rosoft.com>, "Zhang, Bo"
<zhanb@...rosoft.com>, "kristen@...ux.intel.com" <kristen@...ux.intel.com>,
"yangjie@...rosoft.com" <yangjie@...rosoft.com>, "Li, Zhiquan1"
<zhiquan1.li@...el.com>, "chrisyan@...rosoft.com" <chrisyan@...rosoft.com>
Subject: Re: Re: [PATCH v10 12/14] x86/sgx: Turn on per-cgroup EPC reclamation
On Tue, 09 Apr 2024 04:03:22 -0500, Michal Koutný <mkoutny@...e.com> wrote:
> On Mon, Apr 08, 2024 at 11:23:21PM -0500, Haitao Huang
> <haitao.huang@...ux.intel.com> wrote:
>> It's always non-NULL based on testing.
>>
>> It's hard for me to say definitely by reading the code. But IIUC
>> cgroup_disable command-line only blocks operations in /sys/fs/cgroup so
>> user
>> space can't set up controllers and config limits, etc., for the
>> diasabled
>> ones. Each task->cgroups would still have a non-NULL pointer to the
>> static
>> root object for each cgroup that is enabled by KConfig, so
>> get_current_misc_cg() thus sgx_get_current_cg() should not return NULL
>> regardless 'cgroup_disable=misc'.
>>
>> Maybe @Michal or @tj can confirm?
>
> The current implementation creates root css object (see cgroup_init(),
> cgroup_ssid_enabled() check is after cgroup_init_subsys()).
> I.e. it will look like all tasks are members of root cgroup wrt given
> controller permanently and controller attribute files won't exist.
>
> (It is up to the controller implementation to do further optimization
> based on the boot-time disablement (e.g. see uses of
> mem_cgroup_disabled()). Not sure if this is useful for misc controller)
>
> As for the WARN_ON(1), taking example from memcg -- NULL is best
> synonymous with root. It's a judgement call which of the values to store
> and when to intepret it.
>
> HTH,
> Michal
Thanks for the info.
The way I see it, misc does not have special handling like memcg so every
task at least belong to the root(default) group even if it's disabled by
command line parameter. So we would not get NULL from
get_current_misc_cg(). I think I'll keep the WARN_ON_ONCE for now as a
reminder in case misc do have custom support for disabling in future.
Thanks
Haitao
Powered by blists - more mailing lists