lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 29 Jul 2019 22:33:41 +0100 From: Qais Yousef <qais.yousef@....com> To: Waiman Long <longman@...hat.com> Cc: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>, linux-kernel@...r.kernel.org, linux-mm@...ck.org, Andrew Morton <akpm@...ux-foundation.org>, Phil Auld <pauld@...hat.com> Subject: Re: [PATCH v2] sched/core: Don't use dying mm as active_mm of kthreads On 07/29/19 17:06, Waiman Long wrote: > On 7/29/19 4:18 AM, Qais Yousef wrote: > > On 07/27/19 13:10, 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. > >> > >> Fix that by forcing the kernel threads to use init_mm as the active_mm > >> if the previous active_mm is dying. > >> > >> The determination of a dying mm is based on the absence of an owning > >> task. The selection of the owning task only happens with the CONFIG_MEMCG > >> option. Without that, there is no simple way to determine the life span > >> of a given mm. So it falls back to the old behavior. > > I don't really know a lot about this code, but does the owner field has to > > depend on CONFIG_MEMCG? ie: can't the owner be always set? > > > Yes, the owner field is only used and defined when CONFIG_MEMCG is on. I guess this is the simpler answer of it's too much work to take it out of CONFIG_MEMCG. Anyway, given the direction of the thread this is moot now :-) Thanks! -- Qais Yousef
Powered by blists - more mailing lists