On Tue, 2024-06-11 at 07:57 -0500, Haitao Huang wrote: > On Mon, 10 Jun 2024 17:39:53 -0500, Huang, Kai <kai.huang@xxxxxxxxx> wrote: > > > > > > --- a/arch/x86/kernel/cpu/sgx/main.c > > > +++ b/arch/x86/kernel/cpu/sgx/main.c > > > @@ -1045,7 +1045,7 @@ static int __init sgx_init(void) > > > if (!sgx_page_cache_init()) > > > return -ENOMEM; > > > - if (!sgx_page_reclaimer_init()) { > > > + if (!sgx_page_reclaimer_init() || !sgx_cgroup_init()) { > > > ret = -ENOMEM; > > > goto err_page_cache; > > > } > > > > Does it make more sense to move the sgx_cgroup_init() to the > > sgx_drv_init()? The SGX cgroup only works for the driver side anyway. > > In this case, if something went wrong in sgx_cgroup_init(), the > > sgx_vepc_init() could still have a chance to work. > > > > vepc reclamation is not done by cgroup/ksgxd but try_charge() won't work > if user expecting cgroup to limit vepc allocation. > Oh ok. > Would it be more > consistent to just disable vepc, i.e., on system with MISC, sgx/vepc > always go with cgroup enabled? > Yes fine to me. >