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 C8A95C3ABBC for ; Mon, 12 May 2025 06:21:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ED8C46B00AF; Mon, 12 May 2025 02:21:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E888F6B00B0; Mon, 12 May 2025 02:21:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D505A6B00B1; Mon, 12 May 2025 02:21:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B6ABF6B00AF for ; Mon, 12 May 2025 02:21:53 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D6FEB80570 for ; Mon, 12 May 2025 06:21:52 +0000 (UTC) X-FDA: 83433260064.06.10CD4C7 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf06.hostedemail.com (Postfix) with ESMTP id 0D1FA180006 for ; Mon, 12 May 2025 06:21:49 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=Fq4XvHuo; spf=none (imf06.hostedemail.com: domain of BATV+a9f9d428a0434fa8c508+7932+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+a9f9d428a0434fa8c508+7932+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747030910; 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=mOYcyfOTEvmW7YlZTR2UYgH6ijut7zsCHvBlq+wYpns=; b=A7HL/U7Naa5Hl75dXS2M8TvNaj7s6Ekkt2lugJlwiVd3ec1D/9wlw33HaUfNba4nhlf0F5 4J62Ya5Jdh+ksVgRKTg72H9WVQez5aiizs/weJ7R595fzw3ngCf9bq2FpyZT06oSy8PIig MIDzLYXDYVG4/yxho8hUH9SwkUaqx9I= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=Fq4XvHuo; spf=none (imf06.hostedemail.com: domain of BATV+a9f9d428a0434fa8c508+7932+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+a9f9d428a0434fa8c508+7932+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747030910; a=rsa-sha256; cv=none; b=N7lB8+MXhXvBWR4uVwXoYNeA3tGSpxxu3mjD2C+eIdmiJ+CDvaJxQWBtnQhlfwf9eYU+h+ pjBzWAdrKfEZ/Tk6uzqNsbPjfmydYoyeLt1TGoAtKmaaVmRPkztZeOuzrwIwwLEmyBvhU9 +5RCnC/NRzwu9032t/+uYE9AHS1ngaw= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=mOYcyfOTEvmW7YlZTR2UYgH6ijut7zsCHvBlq+wYpns=; b=Fq4XvHuogpwCkqkgJbFSI9qq9e 9uUopkxAipJPb7LK0R7cJqwKGMMyIYrUWCYpOyoCkPd1AHXIzlehPJZ4MeBVDqHn5s39JSrT3ykA8 WbvqIfvX/KOo5HsyXa47EXc4K051999ksVFP9/0o7lcSbwYgR+4n6dMvzJ3v+7Xocw43aAxQXPNfo V9feCKURIbqxL2vAL62gjEcwd9Ml6qBb1QhkwJr8k4PgxUy1XdJ1dgZoat2I6fs9lp8s81wEAE7RP KvaxhZr8Lo85V5yFQuATHoqLShjvDl1d+WqZ/eb3luQXqq+2uRCuSMDVUO7NvzpyT7Bq6g808XMQQ 1wriUE9A==; Received: from hch by bombadil.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1uEMXp-00000008Ujw-1UrX; Mon, 12 May 2025 06:21:45 +0000 Date: Sun, 11 May 2025 23:21:45 -0700 From: Christoph Hellwig To: John Hubbard Cc: Christoph Hellwig , David Hildenbrand , David Howells , "Kirill A. Shutemov" , willy@infradead.org, linux-mm@kvack.org, Jens Axboe , linux-block@vger.kernel.org Subject: Re: Does GUP page unpinning have to be done in the pinning context? Message-ID: References: <939183.1743762009@warthog.procyon.org.uk> <67d4486b-658e-4f3f-9a67-8785616e6905@redhat.com> <21dfcbfc-5295-4493-8ae1-eaa82f018472@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <21dfcbfc-5295-4493-8ae1-eaa82f018472@nvidia.com> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Rspam-User: X-Rspamd-Queue-Id: 0D1FA180006 X-Rspamd-Server: rspam09 X-Stat-Signature: q1ewdbb5d5i9dkmuc9fjqf8zhrncx65i X-HE-Tag: 1747030909-284464 X-HE-Meta: U2FsdGVkX1/4+hUPEal3uaWY4tlaZn2HKJrP9D8B+UTLPZIJpT3HPinUfb5/vnxnjSGxfMbS9x4xyaZr79nxYMYvcJRhuRY7myt5r9DjHtnk5l7Lw5tJT9aU1zyXpe7VenXAe0HJYF5M9s6T+hdkYqQvRARBBw4EyaOoekwRLXEDBAY1xF+Tavl8vNgKSeLxPz1HdEmt2YEVYUY/wEjS4yM27D5U4TWWWKqykeYN+4swsJIUifJg1UxAbMbMBYU+BZ2fqLm2JyiW+Vjgt19LrF0vKXmrHV7W9SDyA2Mcac8bOteDlu74rxCeL8HduDoXyKMD2FVQBvVIFbhi39wQQtRzftqgHmjlbO9DAqHZI4aj6EpaOoI6uktQMYHyKhh3DZ4LnyMi78l0GxPQVgDVWbBIk75xu/dQpLTDVlOmZF4Vk2b4i61XIhPTbb3RfMPxZLmI3ZqL9ZEiXlTVEyiSwtNLq1z4kTpN4C7lw0o4ElJkae5LTWJAsfjkP3SbBiz4GKBV5UbumiF1XjciDF5KqheIgjnWBdM7/yDoblGoJRT5rOV0NBEmP7baYYf3LrmVrgzzxhwPGl7BOI4OudQHM23o24ThVPSbGTo9V5/FCwO30lhCPdnt+8AYqGM5z/57eCVtvwRrZtQY2ifC/FIRTnJ6cGw5sAGzFW5AlFcDOOtdz/lPXo74oAUIEOQV468ZoW0BNXlGqQD038TnEE8GYGz8Sg83vV+eUI/dJDcK1B5z74MStdTShbx0yp7Vd44qRZc8TVt70hhGdHnC2KGMqUukUCo/wEgIbphq3qQzcRFWtaPcMaWpoqTha5Y+Rs9+xI+5xMY0kdlvzo0VO0yqpKf/vN+OfqOr7uO0P5nE4BZs9InVvKtAQjZosCxBV829F4gwa7M1LfS6fUsWy2ECzSUSEO3GQpS3Xe8K2BXvbud8MV63Po0qk9AP8NophXcJsyXvtHYsgwTAl22BDA2 4ZBT2byX uQEzBjepFbhjJ86lbSAvzRSmqE9MAL4iKqVaS4QAlXJy5KFwRFmfO03P8bs1coTnYcsvxduegh/dSb9IB8S1DlZkusH1dkSRCh21iwIB+V3VGw7wbJfkg+jyTEx92xkiyqzUt1OpWMPgq2zSmjtK66CduyLHeSBvPiSZMnhU36NQ92MyaA1VPmoC1lHlyTlCKNcOUg+RhyKOW215wIQ2CNrtufndeKxEe0pyGIPJGUyg9U+wOF9cu6v4x9MlAVvSuxFqSbswycn0oPLfAxVEJgRhuscvU2/VeqpfFQ6BgfU4GVu1WrE2gg7LN8vH5Ysp7f5RdSQsof0ZjQSNpO9wLYoujC7sGMTyqnANBDy7Qyy1aVmKAQtIaw2ZH0HnagMM6UzgljXtNrEwidNp/zec6JEl0RkFU1KkgbI8iviOPuY/WrZFoFD0B2qL1vTJ49BgXP4zlDBztQ0shNAszfTCbGJqV3ySZqe/vSa7LmKdSBjwjMwcsfq5fTEB40Df8ZMpHklPQlThMSKu/Fg858vne4grRg8Cyjx1EtTE+DVKgbHJagN8= 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 Thu, Apr 10, 2025 at 12:11:42PM -0700, John Hubbard wrote: > Oh actually I think I was wrong in my earlier reply about clearing > the dirty bit. Because in Jan Kara's original bug report, what > happened was that periodic writeback came in while the pages > were pinned, and cleared the dirty bit--and also deleted the > page buffers (file system specific behavior) that are required > for writeback. > > So then later when the pages are unpinned and marked dirty, > that causes the next writeback to fail in an unexpected way > (it used to cause ext4 BUG checks, in fact). > > So the problem here is that these pinned pages can get cleaned > while they are pinned, and then dirtied again by DMA (invisible > to the filesystem). I've looked around a bit. We do skip pinned pags in shrink_folio_list (btw, can someone please split that thing up, it's so huge that it is completely unreadable) but that's not really relevant for clearing the dirty bit for filemap folios these days despite comments talking about just that. So I guess, yes - we'd need to skip folio_maybe_dma_pinned() in writeback, or wait for the bit to be cleared for data integrity writeback. Which doesn't sound too hard, but there might be pitfalls.