Gregory Price <gregory.price@xxxxxxxxxxxx> writes: > On Wed, Oct 25, 2023 at 09:13:01AM +0800, Huang, Ying wrote: >> Gregory Price <gregory.price@xxxxxxxxxxxx> writes: >> >> > On Mon, Oct 23, 2023 at 10:09:56AM +0800, Huang, Ying wrote: >> >> Gregory Price <gregory.price@xxxxxxxxxxxx> writes: >> >> >> >> > Depends. if a user explicitly launches with `numactl --cpunodebind=0` >> >> > then yes, you can force a task (and all its children) to run on node0. >> >> >> >> IIUC, in your example, the `numactl` command line will be >> >> >> >> numactl --cpunodebind=0 --weighted-interleave=0,1,2,3 >> >> >> >> That is, the CPU is restricted to node 0, while memory is distributed to >> >> all nodes. This doesn't sound like reasonable for me. >> >> >> > >> > It being reasonable isn't really relevant. You can do this today with >> > normal interleave: >> > >> > numactl --cpunodebind=0 --interleave=0,1,2,3 >> > >> > The only difference between this method and that is the application of >> > weights. Doesn't seem reasonable to lock users out of doing it. >> >> Do you have some real use case? >> > > I don't, but this is how mempolicy and numactl presently work. You can > do this today with the current kernel. I'm simply extending it to > include weights. The extending adds complexity to the kernel code and changes the kernel ABI. So, IMHO, we need some real life use case to prove the added complexity is necessary. For example, in [1], Johannes showed the use case to support to add per-memory-tier interleave weight. [1] https://lore.kernel.org/all/20220607171949.85796-1-hannes@xxxxxxxxxxx/ -- Best Regards, Huang, Ying