On Mon 29-07-19 11:27:35, Waiman Long wrote: > On 7/29/19 5:12 AM, Michal Hocko wrote: > > On Sat 27-07-19 13:10:47, Waiman Long wrote: > >> It was found that a dying mm_struct where the owning task has exited > >> can stay on as active_mm of kernel threads as long as no other user > >> tasks run on those CPUs that use it as active_mm. This prolongs the > >> life time of dying mm holding up memory and other resources like swap > >> space that cannot be freed. > > IIRC use_mm doesn't pin the address space. It only pins the mm_struct > > itself. So what exactly is the problem here? > > As explained in my response to Peter, I found that resource like swap > space were depleted even after the exit of the offending program in a > mostly idle system. This patch is to make sure that those resources get > freed after program exit ASAP. Could you elaborate more? How can a mm counter (do not confuse with mm_users) prevent address space to be torn down on exit? -- Michal Hocko SUSE Labs