On Tue 08-12-20 09:12:23, Shakeel Butt wrote: > +Michal Hocko > > Message starts at https://lkml.kernel.org/r/20201207142204.GA18516@rlk > > On Mon, Dec 7, 2020 at 10:08 PM Hui Su <sh_def@xxxxxxx> wrote: > > > > On Mon, Dec 07, 2020 at 09:28:46AM -0800, Shakeel Butt wrote: > > > On Mon, Dec 7, 2020 at 6:22 AM Hui Su <sh_def@xxxxxxx> wrote: > > > > > > The reason to keep __memcg_kmem_[un]charge_page functions is that they > > > were called in the very hot path. Can you please check the performance > > > impact of your change and if the generated code is actually same or > > > different. > > > > Hi, Shakeel: > > > > I objdump the mm/page_alloc.o and comapre them, it change the assemble code > > indeed. In fact, it change some code order, which i personally think won't have > > impact on performance. And i ran the ltp mm and conatiner test, it seems nothing > > abnormal. > > Did you run the tests in a memcg? The change is behind a static key of > kmem accounting which is enabled for subcontainers. > > > > > BUT i still want to check whether this change will have negative impact on > > perforance due to this change code was called in the very hot path like you > > said, AND saddly i did not find a way to quantify the impact on performance. > > Can you give me some suggestion about how to quantify the performance or some > > tool? > > > > At least I think we can try with a simple page allocation in a loop > i.e. alloc_page(GFP_KERNEL_ACCOUNT). I will think of any existing > benchmark which exercises this code path. > > Michal, do you have any suggestions? I have to say I do not see any big benefit from the patch and it alters a real hot path to check for the flag even in cases where kmem accounting is not enabled, unless I am misreading the code. -- Michal Hocko SUSE Labs