From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8F875C52D7C for ; Wed, 14 Aug 2024 00:02:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 07C246B0085; Tue, 13 Aug 2024 20:02:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 02B9A6B0088; Tue, 13 Aug 2024 20:02:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DE71D6B0089; Tue, 13 Aug 2024 20:02:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id C0B4B6B0085 for ; Tue, 13 Aug 2024 20:02:49 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 458101C41F9 for ; Wed, 14 Aug 2024 00:02:49 +0000 (UTC) X-FDA: 82448900058.27.64E40C9 Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) by imf04.hostedemail.com (Postfix) with ESMTP id 461CD40007 for ; Wed, 14 Aug 2024 00:02:47 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=dLA8p3to; spf=pass (imf04.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.222.171 as permitted sender) smtp.mailfrom=jgg@ziepe.ca; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723593731; a=rsa-sha256; cv=none; b=Ip19LwscdFPLKc00bt//DB5frcqIBXPCR2RKq47eBkO9cv1xHrsFRUngBMrsw0Sg424T08 nEa2eymo1uYFcqfGFAWgPAHK6JEtF2vMjVjJ1Psgv0RvclseF+0eSlhuKBy1a+ljzChcad 9wkHljkX1j9wIcwVqMlcnJ/JQcUc7Uo= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=ziepe.ca header.s=google header.b=dLA8p3to; spf=pass (imf04.hostedemail.com: domain of jgg@ziepe.ca designates 209.85.222.171 as permitted sender) smtp.mailfrom=jgg@ziepe.ca; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723593731; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=TTKySPg0C0mUlZw+lpD9nr3DuGcnFr36IobOnZTiUuc=; b=Ybm9Xt6rWvwbyqyLaOvYHEUwFlmHtuG2UABf9ocT14m1ppZs1/M0q3UxzsdndPy6q1noxt lmddDb7mSWvZfWAQ62p3GQBSqvKZlVBOSHsYO95FHMc2X3FEgxCIoyiA8mvjdDZOVR4yaE Lo0Yim6vA17f0wYcUeSVCPkon0IyqZE= Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-7a1d6f4714bso41523085a.1 for ; Tue, 13 Aug 2024 17:02:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1723593766; x=1724198566; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=TTKySPg0C0mUlZw+lpD9nr3DuGcnFr36IobOnZTiUuc=; b=dLA8p3todM8l/VptIKeI7XmSoMG0X0rzce7KwUeMA1VUx3qbJGRBlcnOuUN4us5FGi e/0gsgZH27qMXejR4u1I+CCnTN7E4LkVFz7cgzMqaRwferBkyZcg/2WWb8UqpHI22Q6F XQrJNAtfgqyDCSR/wcl8peqdpxWB8K88kcMmTE3/YU+41KSCieWyv2YH4MCr4kVWzi/H WjrOQnrB8Tm00REkPxtOlZy51vurXFocRYypsZbTf0sKrrb2kAsX6VjUq5/NlTS+6MaT ocnmd2Io9BfvXiLMY1GmvdNUi3DPh70xh9Tchh7R+krVVpTf3lfxtDqrDEI7DFxInrJR DL9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723593766; x=1724198566; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=TTKySPg0C0mUlZw+lpD9nr3DuGcnFr36IobOnZTiUuc=; b=UMCoGDpI+w+eD+T1W4HIilxE6DWjsod4A0AnA60czP/RwV6aOYPt6Hp0zA9VaaDGk8 TqJsip8CQL3HPcUaJwiB3rWHZkQX8ag9IfToFrBcLGE/da+9fE+sAMxXlLXJwLJnoN1i aWhpgW4pQLCHkMmfHPnn8OUnXPOhWHnsF9/jRIOLlhjwfK23z4LGwtE3eJmpJethZSCz OzppLEaojV7Up8iFxxjGARwj8/GJHDY20ZDyh1CtClfHO7982PM1aIgBHsVLiy6wRs+L Qd/Kmcocl6UmVROWC3y4Zm0Cs8qEXYbqEzI4fwRoVB+aOYKJ93Wr5eXKTGPP+K9QpOtI nCng== X-Forwarded-Encrypted: i=1; AJvYcCUao+lLsb9/oobgOpTWHzMhLM+VGKO/So928Uj4+JmmzZmLQjQJnZGjGCtESEAulbQxJB40EKvI4SmsMBwgANzytoM= X-Gm-Message-State: AOJu0Ywelu1Wp2hstwKUr/G95M2kCKIyKfyI1Vqm+KnlH+7r06S49JCa Fn0/GYI3jqyg+gmuj6ZAzAT6lJvtu8xXTLHuPcfcu6I8WWD8lM/yeaxAcBPx+No= X-Google-Smtp-Source: AGHT+IELZQfx8+xdaOH9kPY1NkPGEscrDOIVC5ILmt/1CCzfZ7mr5luUHmGWXl7b2nhzl+Os2iGU7A== X-Received: by 2002:a05:620a:4252:b0:7a1:da10:91a with SMTP id af79cd13be357-7a4e37a6f76mr735266185a.12.1723593766145; Tue, 13 Aug 2024 17:02:46 -0700 (PDT) Received: from ziepe.ca (hlfxns017vw-142-68-80-239.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.68.80.239]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7a4c7e115c0sm375949685a.133.2024.08.13.17.02.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2024 17:02:45 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.95) (envelope-from ) id 1se1TR-00AVMp-3t; Tue, 13 Aug 2024 21:02:45 -0300 Date: Tue, 13 Aug 2024 21:02:45 -0300 From: Jason Gunthorpe To: Dan Williams Cc: Christoph Hellwig , Martin Oliveira , linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Andrew Morton , Artemy Kovalyov , Greg Kroah-Hartman , Leon Romanovsky , Logan Gunthorpe , Michael Guralnik , Mike Marciniszyn , Shiraz Saleem , Tejun Heo , John Hubbard , David Sloan Subject: Re: [PATCH v5 3/4] mm/gup: allow FOLL_LONGTERM & FOLL_PCI_P2PDMA Message-ID: <20240814000245.GV1985367@ziepe.ca> References: <20240808183340.483468-1-martin.oliveira@eideticom.com> <20240808183340.483468-4-martin.oliveira@eideticom.com> <20240812231249.GG1985367@ziepe.ca> <20240813160502.GH1985367@ziepe.ca> <66bb91fbcbe66_1c18294fe@dwillia2-mobl3.amr.corp.intel.com.notmuch> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <66bb91fbcbe66_1c18294fe@dwillia2-mobl3.amr.corp.intel.com.notmuch> X-Stat-Signature: 6w7du13cf3ckjzgse18boq6c939us1m9 X-Rspamd-Queue-Id: 461CD40007 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1723593767-283809 X-HE-Meta: U2FsdGVkX19F2whgFGnKykD4tu2xUl9RPdaCWfiWaduYH3l1FC268jayu0dqfg/PEBNkMlPGU4CqusCJlfDZnROI3uNXBOJGKBO/rDH9cQRB+RFC4vydYzsB3uZkRtD44j8rVzfr/zs3csUVjcTuDvjwNMY2t8VkK0ODGnIN8r/wAkp+RvJ7ZeUGLqCEJYfTsG7SVXnMSkyjdURI167SukPIRFrD8iAc8AVzRK0wtWtpENqTPxehDdowy5oxzzjgiAzK7tKu1Zt/f8sxyWvix8kYsKWlj9LMH0X0E7J30nngEM0YjmMeOUFaNAqiBZTeSswQqvd4iuFjXOFg99KAd+f00p6Yfhnr0Lf+YlyhCR2QMb9VDA4l/OD03PqYCjQFtkYYTqrK+1uwbixjcgRz2MhAaT3ddlRpMl078NS0nHv95+TBzrmEofJkx1sSo4MxKfKms970fx1+0J5UIKPlwm5/t/0T9kbDhDUwYH7dtSgT9S09iJWdcn9x3yGTpCg9is2MvHCSirk9u50bT7FM/fPFCUq0MsblzGgX2EBABp816elOXr82oyFuVSiJl7nWK2TpBBSt4QjwLa5YAYDJsEzTqYj1iPNFHAFHfhDWIHhoe5LwV+sjU2GxsT9g2c4GR5slH9OtF6tsW1cCuM3EyVf9qKIG/O2pUTJNlr/w3cmTmGL0MiJAEmTMydz//QYyf+WAqUNRr0Rlir7ew3uXVq4ubAWB/p8dRedBzzrxfuvZ901kh10vycr+MiWW2NwEWE6WrpnzlyK8w0EkxKGidBspoj4UAH+s6VKmrHXPFspRt3EuvL+zsKG70e6k0ulba/N0V61yu0Rq0uKpPj7syA4oGYCDmuQ9a2f5iiK2v4k9/PHG7Hl8IdHaHXeu/VSW19y1jXoZ90PuFuAB3m/piKkxODPno036Z8uahAPIjbCQlC4PWhaL8kgQsx6bCsLMgVvsjsDgD7+Bul+AQg/ UfOHmMdd 2B6yOXW4dckp6KWonjNL1DPFb43DdVvN1oMpW1VTBY9Qky8NeDG/PB9ZaIvvjzSgCXlgCwHlVwqL9b2I1UVwsbSqymvY5IDTjMizgR39OzVO5R0W19YZgy+tbxNOtWVKKdpA3ugC0pcLbEW3/UAldwwoCKHD7J9apNKI1x8xorjByYsbuLQbTGoA6YDQHWXlmGftHHqJ6IA4K9IRyjuYXWfRxud4dUnDpJerGfWHpO87ztDqXlAp3Mwt7XqRSdCz3k3Ca0DgX5T3YhL3Vo7pVWQFTXInI8CW/NfIKmR3fGuB1FLvbF1eUYP8Ohg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Aug 13, 2024 at 10:03:55AM -0700, Dan Williams wrote: > Jason Gunthorpe wrote: > > On Mon, Aug 12, 2024 at 10:41:20PM -0700, Christoph Hellwig wrote: > > > On Mon, Aug 12, 2024 at 08:12:49PM -0300, Jason Gunthorpe wrote: > > > > > This is unfortunately not really minor unless we have a well documented > > > > > way to force this :( > > > > > > > > It is not that different from blocking driver unbind while FDs are > > > > open which a lot of places do in various ways? > > > > > > Where do we block driver unbind with an open resource? > > > > I keep seeing it in different subsystems, safe driver unbind is really > > hard. :\ eg I think VFIO has some waits in it > > > > > The whole concept is that open resources will pin the in-memory > > > object (and modulo for a modular driver), but never an unbind or > > > hardware unplug, of which unbind really just is a simulation. > > > > Yes, ideally, but not every part of the kernel hits that ideal in my > > experience. It is alot of work and some places don't have any good > > solutions, like here. > > ...but there is a distinction between transient and permanent waits, > right? The difficult aspect of FOLL_LONGTERM is the holder has no idea > someone is trying to cleanup and may never drop its pin. It is the quite similar to userspace holding a FD open while a driver is trying to unbind. The FD holder has possibly no idea things are waiting on it. Nice subsystems allow the FD to keep existing while the driver is unplugged, but still many have to wait for the FD to close as disconnecting an active driver from it's FD requires some pretty careful design. Jason