Re: [PATCH] ring-buffer: Add set/clear_current_oom_origin() during allocations
From: Zhaoyang Huang
Date: Fri Apr 06 2018 - 03:16:11 EST
On Fri, Apr 6, 2018 at 7:36 AM, Joel Fernandes <joelaf@xxxxxxxxxx> wrote:
> Hi Steve,
>
> On Thu, Apr 5, 2018 at 12:57 PM, Joel Fernandes <joelaf@xxxxxxxxxx> wrote:
>> On Thu, Apr 5, 2018 at 6:43 AM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>>> On Wed, 4 Apr 2018 16:59:18 -0700
>>> Joel Fernandes <joelaf@xxxxxxxxxx> wrote:
>>>
>>>> Happy to try anything else, BTW when the si_mem_available check
>>>> enabled, this doesn't happen and the buffer_size_kb write fails
>>>> normally without hurting anything else.
>>>
>>> Can you remove the RETRY_MAYFAIL and see if you can try again? It may
>>> be that we just remove that, and if si_mem_available() is wrong, it
>>> will kill the process :-/ My original code would only add MAYFAIL if it
>>> was a kernel thread (which is why I created the mflags variable).
>>
>> Tried this. Dropping RETRY_MAYFAIL and the si_mem_available check
>> destabilized the system and brought it down (along with OOM killing
>> the victim).
>>
>> System hung for several seconds and then both the memory hog and bash
>> got killed.
>
> I think its still Ok to keep the OOM patch as a safe guard even though
> its hard to test, and the si_mem_available on its own seem sufficient.
> What do you think?
>
> thanks,
>
>
> - Joel
I also test the patch on my system, which works fine for the previous script.
PS: The script I mentioned is the cts test case POC 16_12 on android8.1