Mel Gorman <mgor...@suse.de> writes: > On Thu, Nov 19, 2020 at 02:17:21PM +0800, Huang, Ying wrote: >> >> Various page placement optimization based on the NUMA balancing can be >> >> done with these flags. As the first step, in this patch, if the >> >> memory of the application is bound to multiple nodes (MPOL_BIND), and >> >> in the hint page fault handler the accessing node are in the policy >> >> nodemask, the page will be tried to be migrated to the accessing node >> >> to reduce the cross-node accessing. >> >> >> > >> > The patch still lacks supporting data. It really should have a basic >> > benchmark of some sort serving as an example of how the policies should >> > be set and a before/after comparison showing the throughput of MPOL_BIND >> > accesses spanning 2 or more nodes is faster when numa balancing is enabled. >> >> Sure. Will add some basic benchmark data and usage example. >> > > Thanks > >> > A man page update should also be added clearly outlining when an >> > application should consider using it with the linux-api people cc'd >> > for review. >> >> Yes. Will Cc linux-api for review and will submit patches to >> manpages.git after the API is finalized. >> > > Add the manpages patch to this series. While it is not merged through > the kernel, it's important for review purposes. > >> > The main limitation is that if this requires application modification, >> > it may never be used. For example, if an application uses openmp places >> > that translates into bind then openmp needs knowledge of the flag. >> > Similar limitations apply to MPI. This feature has a risk that no one >> > uses it. >> >> My plan is to add a new option to `numactl` >> (https://github.com/numactl/numactl/), so users who want to enable NUMA >> balancing within the constrains of NUMA binding can use that. I can >> reach some Openstack and Kubernate developers to check whether it's >> possible to add the support to these software. For other applications, >> Yes, it may take long time for the new flag to be used. >> > > Patch for numactl should also be included to see what it looks like in > practice. Document what happens if the flag does not exist in the > running kernel. > > I know this is awkward, but it's an interface exposed to userspace and > as it is expected that applications will exist that then try run on > older kernels, it needs to be very up-front about what happens on older > kernels. It would not be a complete surprise for openmp and openmpi > packages to be updated on distributions with older kernels (either by > source or via packaging) leading to surprises.
Sure. I understand that we should be careful about the user space interface. I will send out a new version together with the man pages and numactl patches with all your comments addressed. Best Regards, Huang, Ying