Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751359AbdFEHF0 (ORCPT ); Mon, 5 Jun 2017 03:05:26 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:48442 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751297AbdFEHFZ (ORCPT ); Mon, 5 Jun 2017 03:05:25 -0400 Date: Mon, 5 Jun 2017 10:05:14 +0300 From: Mike Rapoport To: Vlastimil Babka , Andrew Morton Cc: Linux API , Michal Hocko , Andrea Arcangeli , Arnd Bergmann , "Kirill A. Shutemov" , Pavel Emelyanov , linux-mm , lkml , Michal Hocko Subject: Re: [PATCH] mm: make PR_SET_THP_DISABLE immediately active References: <1496415802-30944-1-git-send-email-rppt@linux.vnet.ibm.com> <20170602125059.66209870607085b84c257593@linux-foundation.org> <8a810c81-6a72-2af0-a450-6f03c71d8cca@suse.cz> <20170602134038.13728cb77678ae1a7d7128a4@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-TM-AS-GCONF: 00 x-cbid: 17060507-0040-0000-0000-000003A1472E X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17060507-0041-0000-0000-000025987AA8 Message-Id: <20170605070513.GA4159@rapoport-lnx> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-06-05_02:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1706050132 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2273 Lines: 63 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 wrote: > >On 06/02/2017 10:40 PM, Andrew Morton wrote: > >> On Fri, 2 Jun 2017 22:31:47 +0200 Vlastimil Babka > >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.