Hi, On (12/19/17 16:58), Michal Hocko wrote: [..] > > we use shrinker for "optional" de-fragmentation of zsmalloc pools. we > > don't free any objects from that path. just move them around within their > > size classes - to consolidate objects and to, may be, free unused pages > > [but we first need to make them "unused"]. it's not a mandatory thing for > > zsmalloc, we are just trying to be nice. > > OK, it smells like an abuse of the API we don't use shrinker callback to "just reduce the internal fragmentation". the only reason we do de-fragmentation is to release the pages. if we see that defragmentation is going to be a useless exercise and we are not going to free pages, we just skip that class. so at the end it's - the kernel asks us to shrink, we are trying to shrink [release unneeded pages]. -ss -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>