On Wed, Aug 28, 2019 at 4:23 AM Michal Hocko mhocko@kernel.org wrote:
On Mon 26-08-19 16:32:34, Mina Almasry wrote:
mm/hugetlb.c | 493 ++++++++++++------ mm/hugetlb_cgroup.c | 187 +++++--
This is a lot of changes to an already subtle code which hugetlb reservations undoubly are.
For what it's worth, I think this patch series is a net decrease in the complexity of the reservation code, especially the region_* functions, which is where a lot of the complexity lies. I removed the race between region_del and region_{add|chg}, refactored the main logic into smaller code, moved common code to helpers and deleted the duplicates, and finally added lots of comments to the hard to understand pieces. I hope that when folks review the changes they will see that! :)
Moreover cgroupv1 is feature frozen and I am not aware of any plans to port the controller to v2.
Also for what it's worth, if porting the controller to v2 is a requisite to take this, I'm happy to do that. As far as I understand there is no reason hugetlb_cgroups shouldn't be in cgroups v2, and we see value in them.
That all doesn't sound in favor of this change. Mike is the maintainer of the hugetlb code so I will defer to him to make a decision but I wouldn't recommend that. -- Michal Hocko SUSE Labs