Re: [PATCH RFC v3] x86/sgx: Add /proc/sys/kernel/sgx/total_mem
From: Dave Hansen
Date: Wed Aug 11 2021 - 10:30:48 EST
On 8/10/21 8:21 PM, Jarkko Sakkinen wrote:
> +The following sysctl files can be found in the ``/proc/sys/kernel/sgx/`` directory:
> +
> +``total_mem``
> + The total amount of SGX protected memory in bytes available in the system
> + available for use. In other words, it describes the size of the Enclave
> + Page Cache (EPC).
I've been acting as if /proc is deprecated for new stuff. Shouldn't
this be going in sysfs?
I figured, at some point, someone is going to ask for NUMA statistics.
That would tend to point in the direction of us needing something in:
/sys/devices/system/node/nodeN/
Maybe 'sgxinfo' or 'sgxstat' to go along with 'meminfo'.
But, we'll probably also end up needing some stats for other things.
Folks have, for instance, asked for a counter of the number of
instantiated enclaves.
We could also use the drivers' namespaces:
/sys/class/misc/sgx_enclave
/sys/class/misc/sgx_provision
/sys/class/misc/sgx_vepc
although that is a bit awkward for reporting global resources like memory.
We could create a platform device just for these stats, say:
/sys/bus/platform/devices/sgx
But I think platform devices are rather highly scrutinized these days.
I'm not sure if SGX counts as one.
/sys/kernel also appears to be a bit of a free-for-all. Perhaps it
could go in:
/sys/kernel/sgx
or
/sys/kernel/enclaves
The other crazy thing we could try would be to just hijack core mm
mechanisms:
/proc/{meminfo,vmstat}
/sys/devices/system/node/nodeN/{vmstat,meminfo}
Then we can just use the existing counter infrastructure, which I think
gets us into /sys and /proc. I'm not sure the mm folks would be fond of
this for something arch and vendor specific, though.
In any case, ABIs are hard and SGX is weird. News at 11.