Re: [PATCH v14 14/14] selftests/sgx: Add scripts for EPC cgroup testing
From: Huang, Kai
Date: Mon Jun 10 2024 - 18:40:24 EST
--- 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.
And IIUC we need to reset the "capacity" to 0 if sgx_cgroup_init()
fails, no matter it is called inside sgx_drv_init() or sgx_init(),
otherwise the "epc" would appear in the cgroup hierarchy as a misc
cgroup resource.
Another option is to defer setting the capacity to the point where we
have made sure sgx_drv_init() and sgx_cgroup_init() cannot fail.
Btw, I plan to review the rest from late of this week or next week
because this week I have some other staff needs to be finished first.