On Sat, Jun 03, 2017 at 01:34:52PM +0300, Mike Rapoprt wrote: > > > 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. Unfortunately, I was over optimistic about ability of CRIU to use UFFDIO_COPY for pre-copy part :( I was too concentrated on the simplified flow and overlooked some important details. After I've spent some time trying to actually implement usage of UFFDIO_COPY, I realized that registering memory with userfault at that point of the restore flow quite contradicts CRIU architecture :( That said, we would really want to have the interface this patch proposes. -- Sincerely yours, Mike. -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html