On 11/26/2018 11:38 PM, Dan Williams wrote: > On Mon, Nov 26, 2018 at 8:42 AM Dave Hansen <dave.hansen@xxxxxxxxx> wrote: >> >> On 11/23/18 1:13 PM, Dan Williams wrote: >>>> A new system call makes total sense to me. I have the same concern >>>> about the completeness of what's exposed in sysfs, I just don't see a >>>> _route_ to completeness with sysfs itself. Thus, the minimalist >>>> approach as a first step. >>> Outside of platform-firmware-id to Linux-numa-node-id what other >>> userspace API infrastructure does the kernel need to provide? It seems >>> userspace enumeration of memory attributes is fully enabled once the >>> firmware-to-Linux identification is established. >> >> It would be nice not to have each app need to know about each specific >> platform's firmware. > > The app wouldn't need to know if it uses a common library. Whether the > library calls into the kernel or not is an implementation detail. If > it is information that only the app cares about and the kernel does > not consume, why have a syscall? If we just care about platform-firmware-id <--> Linux-numa-node-id mapping and fetching memory attribute from the platform (and hiding implementation details in a library) then the following interface should be sufficient. /sys/devices/system/node/nodeX/platform_id But as the series proposes (and rightly so) kernel needs to start providing ABI interfaces for memory attributes instead of hiding them in libraries.