On 7/10/24 12:17 PM, Suren Baghdasaryan wrote: >> Hi Suren & Vlastimil, >> >> Thanks a lot for comments! I will follow your suggestion to update the patch. >> But there are another issue related to the problem, in Suren's patch, make the >> MEMCG select SLAB_OBJ_EXT? why memcg needs this? I checked the mm/memcontrol.c >> seems should work with !SLAB_OBJ_EXT. > It would help you understand this if you think of slab.obj_exts and > page.memcg_data as the same pointer with two different names. When one > exists, the other should exist and vice versa, when one does not exist > the other should not exist. In my patches they both depend on > CONFIG_SLAB_OBJ_EXT. Now, since CONFIG_MEMCG requires page.memcg_data, > it should make sure page.memcg_data exists and that's what it does by > selecting CONFIG_SLAB_OBJ_EXT. > > The above description is how things work today. If you are changing > the way Vlastimil suggested then this dependency can go away depending > on how you implement it. Thanks a lot for the explanation! I just sent out a reference patch to decouple SLAB_OBJ_EXT and MEMCG. https://lore.kernel.org/all/20240710054336.190410-2-alexs@xxxxxxxxxx/ Would you like to give some comments? :) Thanks! Alex