On 2020-01-20 at 20:45 Michal Hocko wrote: >On Fri 17-01-20 23:46:03, Li Xinhai wrote: >[...] >> >> by call mbind then check the >> >> numa_maps, instead of just call mbind. So, I'd like option #3 is there. That is >> >> a simple change, and I am glad to add this function if no objection. >> > >> >Any reason you cannot use move_pages syscall? >> >> I use it, that is the 'take action later' mentioned above, I'd like to >> know if there are misplace pages before call it if mbind can help >> to give answer. > >I am sorry but I do not follow? Why do you need to do two steps? Why >don't you simply call move_pages right away? I am trying to decrease the number of call to move_pages(). For call move_pages(), we need prepare parameters in array for 'pages', 'nodes' (i.e., it do not support moving pages as specified through start addr and length), which could be cost. One way for handling my case is - mbind: set policy without detecting if any pages misplaced nor moving pages. (continue below part when timing is right) - move_pages: call on pages which are within range of above mbind. The other way is: - mbind: set policy and detects if any pages are misplaced. (continue below part when timing is right) - move_pages: call on pages which are within range has misplaced pages. Knowing about misplaced pages from mbind will give me flexibility for choosing different solutions. > >-- >Michal Hocko >SUSE Labs