Re: [PATCH] mm: make PR_SET_THP_DISABLE immediately active

From: Mike Rapoprt
Date: Sat Jun 03 2017 - 06:35:23 EST




On June 2, 2017 11:55:12 PM GMT+03:00, Vlastimil Babka <vbabka@xxxxxxx> wrote:
>On 06/02/2017 10:40 PM, Andrew Morton wrote:
>> On Fri, 2 Jun 2017 22:31:47 +0200 Vlastimil Babka <vbabka@xxxxxxx>
>wrote:
>>>> Perhaps we should be adding new prctl modes to select this new
>>>> behaviour and leave the existing PR_SET_THP_DISABLE behaviour
>as-is?
>>>
>>> I think we can reasonably assume that most users of the prctl do
>just
>>> the fork() & exec() thing, so they will be unaffected.
>>
>> That sounds optimistic. Perhaps people are using the current
>behaviour
>> to set on particular mapping to MMF_DISABLE_THP, with
>>
>> prctl(PR_SET_THP_DISABLE)
>> mmap()
>> prctl(PR_CLR_THP_DISABLE)
>>
>> ?
>>
>> Seems a reasonable thing to do.
>
>Using madvise(MADV_NOHUGEPAGE) seems reasonabler to me, with the same
>effect. And it's older (2.6.38).
>
>> But who knows - people do all sorts of
>> inventive things.
>
>Yeah :( but we can hope they don't even know that the prctl currently
>behaves they way it does - man page doesn't suggest it would, and most
>of us in this thread found it surprising.
>
>>> And as usual, if
>>> somebody does complain in the end, we revert and try the other way?
>>
>> But by then it's too late - the new behaviour will be out in the
>field.
>
>Revert in stable then?
>But I don't think this patch should go to stable. I understand right
>that CRIU will switch to the UFFDIO_COPY approach and doesn't need the
>prctl change/new madvise anymore?

Yes, we are going to use UFFDIO_COPY. We still might want to have control over THP in the future without changing per-VMA flags, though.

--
Sincerely yours,
Mike.