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 9A52FC54E5D for ; Wed, 13 Mar 2024 03:16:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DE1928E0033; Tue, 12 Mar 2024 23:16:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D92078E0011; Tue, 12 Mar 2024 23:16:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C59C58E0033; Tue, 12 Mar 2024 23:16:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id B249F8E0011 for ; Tue, 12 Mar 2024 23:16:19 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 375C2160FED for ; Wed, 13 Mar 2024 03:16:19 +0000 (UTC) X-FDA: 81890552478.07.4B026A5 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf14.hostedemail.com (Postfix) with ESMTP id 9A671100008 for ; Wed, 13 Mar 2024 03:16:15 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Nxg+c3wH; dmarc=none; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710299777; 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: references:dkim-signature; bh=ZJSpOQKOV4kTzjn9r73iIICow5hZKLttBhdWTcIoP7s=; b=q2PxEiCr6A8MG7D/WtCBS2onb6rgX0UpQq2aBXQvgrAqOIGRnwSE/Hu7OsPeWgKxs0dOCG ktqe+LANpeJ/ME4SoOdofXlLUkGikdX00mOCHW86izbKVyrU07F5z4J2dwLVFD+zC1djXw SWCPMGqBKsXiOwNkTlEmhPX873u4eEU= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Nxg+c3wH; dmarc=none; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710299777; a=rsa-sha256; cv=none; b=2prJyUyfOhqHbGlZugR1RdvVewVmV6/6A7V6VnXO415WucoCAW5FoZCrKA7x0HNF3n7+KB NtYqkeHPddgKefwh1ANrNoA2NRBZK094Pk3Kf0OSqjdcVMlEicFyPvQx+znhaI8+L9Av9d 2MIhIxUrgupNQTr+vDzJsEc62MxNaq4= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:Content-ID: Content-Description:In-Reply-To:References; bh=ZJSpOQKOV4kTzjn9r73iIICow5hZKLttBhdWTcIoP7s=; b=Nxg+c3wHX0kjEwYXMX5CSmB8bo Sl2JD/Wkg6fI/OKI0ep+Pu47aIdrDM/+PemGPro1zgP/vG3NNinQCi63O7F7JhWZ+WG3CcOdkwfr7 RMVRCCRsC+wNo7IKT/VxvWvn+lMcm950BlekgBUhXViDIPmlB1DNq+QciWiOtGSL/RK+wzjoDEyvX h0HEQljv0JBnsvbxkDOoCmsqTBN5cgXaIYOrZfdgkK7RNlCk7Sq6uxN1bckbRUQrppuklr/ph5zHk 0nGGE3uN09lV4UeOGymk9ECtvRkK4CM11nzmJLc6AfqJO9bkimMIHUtUrY/TFIjnDeG20E+XAJWJQ YXQTNt1g==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkF6A-00000004V4K-0uoc; Wed, 13 Mar 2024 03:16:10 +0000 Date: Wed, 13 Mar 2024 03:16:10 +0000 From: Matthew Wilcox To: Jane Chu Cc: linux-mm@kvack.org, John Hubbard , David Hildenbrand Subject: Splitting pinned folios Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 9A671100008 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: be78bw5j68454675xmbj77rtysp19km6 X-HE-Tag: 1710299775-108966 X-HE-Meta: U2FsdGVkX19enuPpuqzN5A9ZdDi/nxGTxxmwXlvOO+b9wIPEB/bmE4arsPnnZxqaHJOBlzwNhEv0XfMOX6YT5c8znTGXW258cFnoOAoNrfu4u+Z2NsstttELvghwRNTOqZWHRoLx6Ala6wJtMe1cavyum7zqwXLhzzRnU00FIV7dytGGDyJkupiiP03gRihenuNsanRSEb+k0QeLY4Kbgmw90gBo5cDRbFcS8vjmCf0ScjI297vP1npXqIA8y5E8J6CzZbWDK1rZ40U2yg/vCWtBn+zcArKFqBDvfavQ+JIZ9CAQ2UL6nLKR2siXsHXgF6Lb/eGL+kyqLf0uN70YJwwbodltd3TJNocRtxUkkoJM5oGKqQmhfrmFbKQrg6QsTq1uKge8HFzSBBN+2l2X3iJ/cx2812BkMv4xijrMCVCB8uK4/zvuOd0ChJKDGyxzh6zwIOIeZPhu4ShEFxY3+mMBanYerxyM3rWG+09PzMTFyAaEiaopxt6olOGNj6hvJf4xNrlXUPsyF2nlHvhdYD49D3wWxE+yhsQyWl/jYJEhfRnzafUFGZ4tM58vbUumpsmQoyfDTCPy3Z0xpuXJTkQNtIJsRYYOsywRH5zQ5wQVZFaJltPM0x70ajIQl+352/x1OQadySs1pxsMHfUaYRPvvIsf8dG7VrhDhtLkmxQ2CYGycVrYt+vMKaBQyDsaa96nevw6WIbvAeyeFhnpVebrF9SEMLBQul/CCB22pAFk+LThZ66erGJ6ke0WQMHTwAGtbbCIMebfZfFD2+O8Fu/8ebnSfZMRHWcJ2fSloXz9chvFmb5MwttQscYQhnlKyyy2g7EMouKb9bYu9svmmRfHsAVO4Za/9sXoIZ4xx/7pHBlcbAjXVZQMo3vB/gyOyvMT7WwlMK95tqZy3o+O6tgVgf8+8Sz0y0EYWQqCEP6sNYwJRmGBWhzYrEicfY1U4jeVI8yrt8qsI2UYKKG IEeCshfx 1Dl0tCdqiY2tZ5YGqw8BpHiXEVfbH8klbOWINRUEpEoy/9Dw3SiGh3iefJpnoCd9DHMKDPEsopmuY0pDS/QpB6VaQPQk6Jh74VL2ru58dTQXRzUox3lTJzrXaIQ0JIPwIVdvVbS9NzDGd68EUFLGnPjJlnho0Kdc1HBpG 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, Mar 12, 2024 at 06:23:43PM -0700, Jane Chu wrote: > I noticed this recently OK, this is entirely different, so I'm going to start a new thread ;-) >  * GUP pin and PG_locked transferred to @page. Rest subpages can be freed if >  * they are not mapped. >  * >  * Returns 0 if the hugepage is split successfully. >  * Returns -EBUSY if the page is pinned or if anon_vma disappeared from under >  * us. >  */ > int split_huge_page_to_list(struct page *page, struct list_head *list) > { > > I have a test case with poisoned shmem THP page that was mlocked and > > GUP pinned (FOLL_LONGTERM|FOLL_WRITE), but the split succeeded. I'm going to blame John for this! There's no reference to pincount anywhere in huge_memory.c, so I have no clue how this comment is even close to true, nor do I understand how it could be done, since we don't know which pages in a folio are pinned. I think we have to prohibit splits of folios that are GUP pinned.