On Wed 12-09-18 13:23:58, Prakash Sangappa wrote: > For analysis purpose it is useful to have numa node information > corresponding mapped virtual address ranges of a process. Currently, > the file /proc/<pid>/numa_maps provides list of numa nodes from where pages > are allocated per VMA of a process. This is not useful if an user needs to > determine which numa node the mapped pages are allocated from for a > particular address range. It would have helped if the numa node information > presented in /proc/<pid>/numa_maps was broken down by VA ranges showing the > exact numa node from where the pages have been allocated. > > The format of /proc/<pid>/numa_maps file content is dependent on > /proc/<pid>/maps file content as mentioned in the manpage. i.e one line > entry for every VMA corresponding to entries in /proc/<pids>/maps file. > Therefore changing the output of /proc/<pid>/numa_maps may not be possible. > > This patch set introduces the file /proc/<pid>/numa_vamaps which > will provide proper break down of VA ranges by numa node id from where the > mapped pages are allocated. For Address ranges not having any pages mapped, > a '-' is printed instead of numa node id. > > Includes support to lseek, allowing seeking to a specific process Virtual > address(VA) starting from where the address range to numa node information > can to be read from this file. > > The new file /proc/<pid>/numa_vamaps will be governed by ptrace access > mode PTRACE_MODE_READ_REALCREDS. > > See following for previous discussion about this proposal > > https://marc.info/?t=152524073400001&r=1&w=2 It would be really great to give a short summary of the previous discussion. E.g. why do we need a proc interface in the first place when we already have an API to query for the information you are proposing to export [1] [1] http://lkml.kernel.org/r/20180503085741.GD4535@xxxxxxxxxxxxxx -- Michal Hocko SUSE Labs