> Let me check I understand. This patch on its own doesn't really do > anything. You need the zs_malloc support implemented in patch 3 for this > to have any effect. Even with that in place the zs_malloc doesn't follow > the __GFP_ACCOUNT scheme we use for allocation tracking. Correct? > Yes, I will use it on next version. > I do not think this is answering my question. Or maybe I just > misunderstand. Let me try again. Say you have a memcg under hard limit > pressure so any further charge is going to fail. How can you reasonably > implement zram back swapout if the memory is charged? > Sorry, let me try to explain again. I have a memcg under hard limit pressure. Any further charge will try to free memory and swapout to zram back which is compressed and stored data in memory.so any further charge is not going to fail. The charged memory is swapout to compressed memory step by step, but the compressed memory is not charged to the original memcgroup. So, Actual memory usage is already greater than the hard limit in some cases. This pachset will charge the compressed memory to the original memcg, limited by memory.max > -- > Michal Hocko > SUSE Labs