[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <36b49523-792d-45f9-8617-32b6d9d77418@daenzer.net>
Date: Wed, 24 Jan 2018 12:23:10 +0100
From: Michel Dänzer <michel@...nzer.net>
To: Michal Hocko <mhocko@...nel.org>
Cc: linux-kernel@...r.kernel.org, amd-gfx@...ts.freedesktop.org,
Christian.Koenig@....com, linux-mm@...ck.org,
dri-devel@...ts.freedesktop.org, Roman Gushchin <guro@...com>
Subject: Re: [RFC] Per file OOM badness
On 2018-01-24 12:01 PM, Michal Hocko wrote:
> On Wed 24-01-18 11:27:15, Michel Dänzer wrote:
>> On 2018-01-24 10:28 AM, Michal Hocko wrote:
> [...]
>>> So how exactly then helps to kill one of those processes? The memory
>>> stays pinned behind or do I still misunderstand?
>>
>> Fundamentally, the memory is only released once all references to the
>> BOs are dropped. That's true no matter how the memory is accounted for
>> between the processes referencing the BO.
>>
>>
>> In practice, this should be fine:
>>
>> 1. The amount of memory used for shared BOs is normally small compared
>> to the amount of memory used for non-shared BOs (and other things). So
>> regardless of how shared BOs are accounted for, the OOM killer should
>> first target the process which is responsible for more memory overall.
>
> OK. So this is essentially the same as with the normal shared memory
> which is a part of the RSS in general.
Right.
>> 2. If the OOM killer kills a process which is sharing BOs with another
>> process, this should result in the other process dropping its references
>> to the BOs as well, at which point the memory is released.
>
> OK. How exactly are those BOs mapped to the userspace?
I'm not sure what you're asking. Userspace mostly uses a GEM handle to
refer to a BO. There can also be userspace CPU mappings of the BO's
memory, but userspace doesn't need CPU mappings for all BOs and only
creates them as needed.
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
Powered by blists - more mailing lists