Received: by 2002:ac0:e350:0:0:0:0:0 with SMTP id g16csp2755662imn; Tue, 2 Aug 2022 14:49:46 -0700 (PDT) X-Google-Smtp-Source: AA6agR4Y1YsSn2r5GVp7/fUz9mdBHRSVIB0jrocqLBqkzdRx4FzzEANOWJz1eRjh/+10cEc5cNer X-Received: by 2002:a17:903:41cc:b0:16e:d522:6b8e with SMTP id u12-20020a17090341cc00b0016ed5226b8emr16200452ple.62.1659476985810; Tue, 02 Aug 2022 14:49:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1659476985; cv=none; d=google.com; s=arc-20160816; b=rPhJshgTnQ1EmuwRnkDqjRdMK6PTb2HlwExURjm59ZHY+vwOpaXZd1ZpOsgBoQmCxR eLsBL3K0IrRBK4sdHwuKC1F7ClaHcPykhhc8cow7AbDAS6gytQ6cMAt4uCtdd5UGhocU SiFT5TgAzS2gvDnt/oSFZCc5lLB8SPKAt6kFvXpJMyzjcuQmRG4oCT88jE+eOqHXw9/E Qnt3LgpxPF9wYWSVycGmN4iUI6m3+okpQygek4wC+/TuFCwQvjh/6VnOvQy2zpVLjw7C DVmQaMcSEclXBVUtNa5waGnHaNg1qFzveddzwoSI8JUMWQOsCpzTzWIbF1R+tRxyVl/1 Jcwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=OKtGK5sIPibPNqcR6q99LYNIzHJsqP/Ejs1dmn/8SIk=; b=agt/R8QgTC1BjNtN0bfVony4is8T6z0yAsMi4Z9rLpzFr6LrikOWaV1pQ7uGcH74xm trOepIyk30dLicKwqDzluYIXsz3W3UBBvZmQrlO+g5d7k7u4F4VWG6ENuxB9k6wqxDL3 3NwloNZrQzV1XH79Tv4yi9+8j2WharcLSVBW228h75fGjN5S6iyBPyX0bLSnojA901/3 C9JM6XWWFWSOYkSRBN5PkTh2VfS8RVvkyfXMV1CEB/i7I/xjK1Mszdk/VKZajVM+JZs2 JSKRoRKJ4JFWhH4G+CVV4085eFvZO4oqjo7zTVMWY0TongQIGhibxwFdEKPHSOyCBy/h 6qeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@soleen.com header.s=google header.b=Mj8eI2OC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id me13-20020a17090b17cd00b001f4f259febesi9828166pjb.163.2022.08.02.14.49.31; Tue, 02 Aug 2022 14:49:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@soleen.com header.s=google header.b=Mj8eI2OC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237192AbiHBVhZ (ORCPT + 99 others); Tue, 2 Aug 2022 17:37:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49656 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237169AbiHBVhU (ORCPT ); Tue, 2 Aug 2022 17:37:20 -0400 Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5980C1011 for ; Tue, 2 Aug 2022 14:37:19 -0700 (PDT) Received: by mail-ej1-x631.google.com with SMTP id gb36so2611378ejc.10 for ; Tue, 02 Aug 2022 14:37:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=OKtGK5sIPibPNqcR6q99LYNIzHJsqP/Ejs1dmn/8SIk=; b=Mj8eI2OCfNotqPrABVWGaqA7+gZkpOh5zRHQPIi+DjoSYb9SSYuXQK2xd4chptvWX3 t6E23pXV6D+gR9KSHqWK2+FvPHdgpyiB99JD8ukiFVv39NoW69m6VimX0eXW4u2evro/ YU8vGErs+6zLx6tSNwvqVQNe11QjdZ+DPujtBI5Ld6GM8GL0avsCGk9newQDeW7tCsm6 vd5/NX3nbzrivN3peKk9fR3t+uuNw3FKPOASBFdeEgKbGGAPunXR6U/ZsJxje8sbQKPT QObgclWm2c8x8EU5aDnDB8R9fKMcSYVglUcjIv9MrWON425OEWHe3Tvellnd9x1+TIIr nycw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=OKtGK5sIPibPNqcR6q99LYNIzHJsqP/Ejs1dmn/8SIk=; b=dZYj5Xw/tDVen13JF2lEuLSsiNbClZpB6x1L/xg0OSxfFFowQ1N20nNa/hVmhymo2U /VZnl0hp/AUzXZ472a2nHf0fAU0a+23ghPthpTTCF/PMUEiMyWcPCK49b2O/rBgpJdev 4mpI27d/qBFvkBJl8fcz6+7B+afM1dxbXM4KaCEiz7lzOT45n7Rxb2y27tqYHfO8Dbpx gJOnX86EU6CpLZpbNF1N9K0S4XRop7QOvoV+x2c8uHT0ruONk1CBzcZnZ5Uu0cr6jBME 14aBQToThZ7/drPB+IGRiEg4BKAxTKrOKoKcVqPLZhnzaPDnNLaeV7GKcBIjWSYfw+3K KP+w== X-Gm-Message-State: ACgBeo1FyYTwjdDe8OAde/b6BGjYqHQnaMLZ+ZK8n6+31WmkngkUGz1z p2Vsplaf7NyxPLhhI9sL54CY5abfspABBKWzPNodIPrKw7+O6g== X-Received: by 2002:a17:907:3ea5:b0:730:8b95:dc69 with SMTP id hs37-20020a1709073ea500b007308b95dc69mr8449191ejc.34.1659476237901; Tue, 02 Aug 2022 14:37:17 -0700 (PDT) MIME-Version: 1.0 References: <814dee5d3aadd38c3370eaaf438ba7eee9bf9d2b.1659399696.git-series.apopple@nvidia.com> In-Reply-To: <814dee5d3aadd38c3370eaaf438ba7eee9bf9d2b.1659399696.git-series.apopple@nvidia.com> From: Pasha Tatashin Date: Tue, 2 Aug 2022 17:36:41 -0400 Message-ID: Subject: Re: [PATCH v2] mm/gup.c: Simplify and fix check_and_migrate_movable_pages() return codes To: Alistair Popple Cc: linux-mm , jgg@nvidia.com, Andrew Morton , Minchan Kim , LKML , John Hubbard , David Hildenbrand Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 1, 2022 at 8:32 PM Alistair Popple wrote: > > When pinning pages with FOLL_LONGTERM check_and_migrate_movable_pages() > is called to migrate pages out of zones which should not contain any > longterm pinned pages. > > When migration succeeds all pages will have been unpinned so pinning > needs to be retried. This is indicated by returning zero. When all pages > are in the correct zone the number of pinned pages is returned. > > However migration can also fail, in which case pages are unpinned and > -ENOMEM is returned. However if the failure was due to not being unable > to isolate a page zero is returned. This leads to indefinite looping in > __gup_longterm_locked(). Hi Alistair, During prohibiting pinning movable zone development, there was a discussion where we figured that isolation errors should be transient [1]. What isolation errors are you seeing that lead to infinite loop? Why do they happen? Pasha [1] https://lore.kernel.org/linux-mm/20201218104655.GW32193@dhcp22.suse.cz