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 C6DD0EB64D9 for ; Mon, 10 Jul 2023 09:32:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4578F6B0072; Mon, 10 Jul 2023 05:32:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4076D6B0074; Mon, 10 Jul 2023 05:32:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 282D86B0075; Mon, 10 Jul 2023 05:32:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 11CB56B0072 for ; Mon, 10 Jul 2023 05:32:49 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id DE10C1402F4 for ; Mon, 10 Jul 2023 09:32:48 +0000 (UTC) X-FDA: 80995187616.24.BD529C4 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf20.hostedemail.com (Postfix) with ESMTP id A1DAA1C0021 for ; Mon, 10 Jul 2023 09:32:46 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=cXuT4mse; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf20.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688981566; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=feKfT2GvXCROVww4eZNbKTv+YtvilbWXxCvzkbciRhY=; b=2eBJW4gG8QHWzVMO5GuG5y6ibr6AEAAGJx7Wh+587Hqemz0Rm6yXgLw9r6AHTZMap05r25 0GUs064n6FfCpOx3SF3EZ07cJkgWn5cjiXiNZ82MQtuymroExyJYr+8gZD10Kmkg17TMyk BPj7gbg0J4U9tMXA10iNZicrGvC+Xbg= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=cXuT4mse; dmarc=pass (policy=none) header.from=redhat.com; spf=pass (imf20.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688981566; a=rsa-sha256; cv=none; b=aMuDKcuCmbrzpA74T1Yp1W/GmuTl7nwusNsh4aFRZZc+xJyXIVBQOA2oDZmpQPe0CX+BCe /8XOg9S0H+znWT7MvHqMELSXrwi9Gqrw+iIzpKwoOItSUgKrEGTHBVFYnE8n/eSbMhwGpd x7lzeejnk3M5aWKtQORASU0Vz9eaarI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1688981565; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=feKfT2GvXCROVww4eZNbKTv+YtvilbWXxCvzkbciRhY=; b=cXuT4mse3nZQDlc3LCGqsXY1n7Z02oLpaxzH+wTKDPgUCUKs9liFdqz0AbDI2tsPx/t+xA NsGo/SmTltH1zSRFb01C5qNtdrGn6JuNzUNSAq61mc+/V2LHsrOw4+eFQtWV7i8vO9KU9z STwIJz1F6H0Q7m6PzMHXR27eVbscbtg= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-135-uDPfGOkxMhOrAnBiLfPtkw-1; Mon, 10 Jul 2023 05:32:43 -0400 X-MC-Unique: uDPfGOkxMhOrAnBiLfPtkw-1 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-3fbefe1b402so25637045e9.1 for ; Mon, 10 Jul 2023 02:32:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688981562; x=1691573562; h=content-transfer-encoding:in-reply-to:subject:organization:from :references:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=feKfT2GvXCROVww4eZNbKTv+YtvilbWXxCvzkbciRhY=; b=BueQ8CBIiMBJ+j/oi76VLVJqN/jmFNlF5lESD0KVqRyxu1l+nE6O7p4qZzTsWRPaUj WC2QHTWe7dlMO3EowZwX+ShSnzrId3BmmPLscP2EeXfkmadN+hlivVf8PUsSVJvEosfA t+AU+gHQg06NW4uTLkcEM02UpSSfX20t6tWvBu10iz5xI6uOyeV0WPchEkE1j/ak4Rnk 0DNAUUtjx96yb9kC1UVM2M5/jEpCjBi0wNucC1kj29rtOXUL6r9b3SUPLy+UE+22jNJV i96VK08DAmXlD5IFWx2DjKsUxa9l2On4teyRo0HLGTs9wGbnCq0dxahHVdrcRgAwBDpL UK9w== X-Gm-Message-State: ABy/qLY4PCzdQEstFgXeBzCiUz5ZygPn41DP9ArRrZxsDXk8gR/rrem7 AWUP8B3edK2MAfJJUj4ntuSlkrrtMtYf0IrzDh16kryiDMHgzLmSiI9fzR4pvB2qdYQx2iO6hKW LDHe+4e6qScc= X-Received: by 2002:a05:600c:2313:b0:3fc:521:8492 with SMTP id 19-20020a05600c231300b003fc05218492mr5821035wmo.5.1688981561915; Mon, 10 Jul 2023 02:32:41 -0700 (PDT) X-Google-Smtp-Source: APBJJlE6ZgJ0/UlKVhwASeD/7xDB/tkvVIEoM79WQl5KkGDgu46daoSzxg16iohGJdU7Jw0HNIgfnQ== X-Received: by 2002:a05:600c:2313:b0:3fc:521:8492 with SMTP id 19-20020a05600c231300b003fc05218492mr5821009wmo.5.1688981561552; Mon, 10 Jul 2023 02:32:41 -0700 (PDT) Received: from ?IPV6:2003:cb:c738:7500:b60f:a446:46f6:5acf? (p200300cbc7387500b60fa44646f65acf.dip0.t-ipconnect.de. [2003:cb:c738:7500:b60f:a446:46f6:5acf]) by smtp.gmail.com with ESMTPSA id 11-20020a05600c230b00b003fbaade0735sm9732540wmo.19.2023.07.10.02.32.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 10 Jul 2023 02:32:41 -0700 (PDT) Message-ID: <04efd5eb-06c2-d449-8427-d7c30df962d1@redhat.com> Date: Mon, 10 Jul 2023 11:32:40 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 To: "Yin, Fengwei" , Matthew Wilcox Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, yuzhao@google.com, ryan.roberts@arm.com, shy828301@gmail.com, akpm@linux-foundation.org References: <20230707165221.4076590-1-fengwei.yin@intel.com> <4bb39d6e-a324-0d85-7d44-8e8a37a1cfec@redhat.com> <436cd29f-44a6-7636-5015-377051942137@intel.com> <676ce1b3-6c72-011e-3a4f-723945db3d31@intel.com> From: David Hildenbrand Organization: Red Hat Subject: Re: [RFC PATCH 0/3] support large folio for mlock In-Reply-To: <676ce1b3-6c72-011e-3a4f-723945db3d31@intel.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: A1DAA1C0021 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 4mem8qkmw7hi4ww38pou4zo4mcg8biw3 X-HE-Tag: 1688981566-919136 X-HE-Meta: U2FsdGVkX1+sbUV+fsLK9lQ7ROXm/Nz2OCxp0Naykm90QL/ixYxXExY/QlQAByGOpUdMXtoLuyum3rYHlLgOOdT48YpmSJZS0PpACWmyIZY3NlneHOJdU2Ylf/d0Gj+ezsSv48LXFor3W+OQg03QvHCIjvaClGs60I9MEJ3W6EqjsrIL65K2osRnMsmwV+m1BJUN0xUBQja5W2U1RANu0+ITO5Jfrz64+KklhVH35MaFF1cKx70sHz3SBoPlRLfZld2wVeGacBUCByAwFhUrOEO0lynxpufM3xQ0a4NjKUYXOk9Ut1mil9JJL5bx9BJkCdblz00Z9gT96F9QaArRftnliD0KdfWBogofxaDiKeSYrdSylWCLpTfH/pYRFDSv27328OHgN44Q4arNNuC46ktUbDk4lLmb4N3An5nyjqsomBTOHqnC3Rq5pRgRCSRY5B0hweiRSEjGx5iBHaWth5wCo6LHYGkr+5LXEMz4U5bAeOaBEPg+7XEIqb68eDNYf6Vn9DtigrP2PSQMe4YKR821VogykuTVdnh6cQN/tIJyEOXj+TfAo58aQq1RdCxY9ZGB8QZtdohM+2atj8lv58W56Ezo1z+vdSaGe2n8qFyEy0Tkcpz9IEZ8IQCcgKO0cDWj/x/1buMiTtr4PTATNNHwdAnjSM/ekhilbbceEbIG/NmduU+P3NFpA8Z3nBrEeu7OtP+Rb8hqldBjDXkv3AcCSt5K8334IJ4LNtu3D9i2MO9cqU1EfPjzdAbg6d2FptK/77HDANKyGy7h1wUp/Z/OqyYbhqzbXbjj0sTfW9hzuSSfEr7ZSuxoVWNAmGAVK+CY13JOnK3EN5aLXl00KF05ubTCrWNKixxT8l3cAUM22urYCEoTMxs1qp6Le66BV8aMM8G6QzkRawVFfplYqm48OhNXIOIEVTmrjcLmOsURkjjeF1eq1cw2oKR5LG8wPx1Jxsvdz1FAt281C9c yJeYO6QM AQTsP7ppLdgHpnmZpIz5518yTx84PXTsdB6mfsFK5vUH6J7ZQz45tskYvbwctVeaPGPdNWIo459JwtLJrEV3C642ojsGy0acMCmOB8OPzm6hQVYTn39GJlGPxo/oszMyqSrcld9Tf0EIjDaq/fVVm5vQeUYpgDvxgSd45PP9EchDZbg2HP024pPv1w4i/kuLAnisLmcW+nUZoL7+P1YKM68uo1Sac16aflpsUz3faUhqu1xVDfKGIpJGdWLIYa6zPgjg6Y9TrEgfJYXP8j606bn3Hywo4yFw2loFt 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: On 09.07.23 15:25, Yin, Fengwei wrote: > > > On 7/8/2023 12:02 PM, Matthew Wilcox wrote: >> I would be tempted to allocate memory & copy to the new mlocked VMA. >> The old folio will go on the deferred_list and be split later, or its >> valid parts will be written to swap and then it can be freed. > If the large folio splitting failure is because of GUP pages, can we > do copy here? > > Let's say, if the GUP page is target of DMA operation and DMA operation > is ongoing. We allocated a new page and copy GUP page content to the > new page, the data in the new page can be corrupted. No, we may only replace anon pages that are flagged as maybe shared (!PageAnonExclusive). We must not replace pages that are exclusive (PageAnonExclusive) unless we first try marking them maybe shared. Clearing will fail if the page maybe pinned. page_try_share_anon_rmap() implements the clearing logic, taking care of synchronizing against concurrent GUP-fast. There are some additional nasty details regarding O_DIRECT. But once it completely switched from using FOLL_GET to properly using FOLL_PIN (a lot of that conversion already happened IIRC), we're fine in that regard. -- Cheers, David / dhildenb