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 03CAFC27C5E for ; Tue, 11 Jun 2024 08:32:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5036E6B0092; Tue, 11 Jun 2024 04:32:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4B3326B0095; Tue, 11 Jun 2024 04:32:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 37AC76B0098; Tue, 11 Jun 2024 04:32:42 -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 146A06B0092 for ; Tue, 11 Jun 2024 04:32:42 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 9AE89406B3 for ; Tue, 11 Jun 2024 08:32:41 +0000 (UTC) X-FDA: 82217941722.23.C36FBEC Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by imf01.hostedemail.com (Postfix) with ESMTP id BF88940011 for ; Tue, 11 Jun 2024 08:32:39 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mLnPWKU4; spf=pass (imf01.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.210.174 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718094759; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=IyMd6je3c+sfy5Rg2KxR8ykOqUQ5h0cra/XdXKMR+Ww=; b=pSDcYB19FAzu0ATpPwzmmccYcjrf8LownrpC2qDIsIgBMMHvqSfROC3fYx3TURnP4X2K4K Hj4TbPQLgEQqfBN44jvwYFBYZb+mZ0DPTiCE0xOfVwBitPFCj6+3ryOavpgZxTIJS+xDDk zfPn2C2sLNsbd/k0Gu/NVT2jm/Q7AZo= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mLnPWKU4; spf=pass (imf01.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.210.174 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718094759; a=rsa-sha256; cv=none; b=jED7FbS4VXNqfWd7G0K5+T1NVyv0+vw4K7hXu5vBU/DpVD/yx4oRztmg181UmVVf/2oDMM onzHJ9BUxTxjIQLKHVptPedJjLzJ31nEAEDJ5J8Hn3ZLTXzuO5O99hGnhENjbW40/7OhvM yz/dJ2DrmSyaw2Rx/Dg5GVTB06gl8Ls= Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-7041053c0fdso2700532b3a.3 for ; Tue, 11 Jun 2024 01:32:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718094758; x=1718699558; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IyMd6je3c+sfy5Rg2KxR8ykOqUQ5h0cra/XdXKMR+Ww=; b=mLnPWKU4Rhx7q2D8U4JSho9PYVutpzJXa4KYZi/nOWGkmrrYDqe8Vd8XQXrkrUUoV3 Wai7gDTArljDOzFJ7QZGK/WAmO5UrTxNCb6WDyg/zyK7JZIsjjWZE+HxHi8ZVmBtUYII Wifwjp/+Bn+w+pDYF14GnVNyLcAQQ3gGSAdIbOY07vVftsID5iUhtQHso4zJgDFybc08 cEdTT9VJFuE6Td7xrRaqUusMRgjdVo2EjXMzuGUMpMgcpt6FdWdmPpXWo9yvsxxZNgjj GQJdIR4fRMOmbzNtAPcc1nraYn5CJhrkBM/AYKjeQ525oAiwN9MyXijAbQ/vcrZHP6nF b4xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718094758; x=1718699558; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IyMd6je3c+sfy5Rg2KxR8ykOqUQ5h0cra/XdXKMR+Ww=; b=CJzPR18txhjJDl3mZWJjFbsd3FMnbu6C3VkdxG4pdDFoLKkHnkjbidzBXfzfwkJkC3 mZs/y0EQnt9quglHROponQDEnnaJgDQsHO63bSB3InhuZSbttg6OAktr/RtnvCB7OEnN i55t4xQm1WHl0R2wycqrtWLpdyQ5ck+fOf1lDhw/dwnBaJn7Qi7pRbxJkTfcHT3ee9/U Y0rrbpgzCp4tUPuoL5x9EimSarf5ikDMIi2pm7W7VSWQStYjrGsGCgHIlJDDCGY++XCT fSVNTF/ay35CgCHlzT2mWyYmMtsNb6RQy9IfVfbL94hmwpSNV1m1HvVSc+RgZnqInvkK fpKw== X-Forwarded-Encrypted: i=1; AJvYcCWvkJBDoT8dqNOrJSLNK5zjgNlZpA0wJ/2hDUJ1altsjdfs/vx0VUF7oscx+RvKZmH1NU7QZqtILfmh+jcuOqZKtu4= X-Gm-Message-State: AOJu0Yyo6xMRZY6pCNgKLU8VnkeXEMZpx/oThbgeQww3F3MAevddRdRK 3a+FdOPxrf4YQJZVgo9P8PrIJreQoWtjXlY5/4rtIXjPA5YYVn6M X-Google-Smtp-Source: AGHT+IFvvDQ7kTdXtEuQnX7Oq/Pky7r/ZSb6+uUdqShjhDT2MKUUZy+lofolhPIbnumpre78JxfXOw== X-Received: by 2002:a05:6a20:a111:b0:1b7:577c:7187 with SMTP id adf61e73a8af0-1b7577c737bmr5043123637.5.1718094758254; Tue, 11 Jun 2024 01:32:38 -0700 (PDT) Received: from localhost.localdomain ([2407:7000:8942:5500:aaa1:59ff:fe57:eb97]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-70596eed610sm3056959b3a.170.2024.06.11.01.32.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Jun 2024 01:32:37 -0700 (PDT) From: Barry Song <21cnbao@gmail.com> To: yuzhao@google.com Cc: corbet@lwn.net, linux-mm@kvack.org, lsf-pc@lists.linux-foundation.org Subject: Re: [Chapter Two] THP shattering: the reverse of collapsing Date: Tue, 11 Jun 2024 20:32:24 +1200 Message-Id: <20240611083224.281772-1-21cnbao@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240229183436.4110845-3-yuzhao@google.com> References: <20240229183436.4110845-3-yuzhao@google.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: BF88940011 X-Rspamd-Server: rspam01 X-Stat-Signature: bdwjoaidauze5tgwhq1u9xbfzhsgz4ru X-HE-Tag: 1718094759-162116 X-HE-Meta: U2FsdGVkX18FTRWWjhNPl/ImoZGBoXhVZRsv38NzR+d+I7U0aOEiPkzOTnMfPb5564rhY7W97Mk5oYvkNu27W9AxEVpbPhPiNVjyeyaAa3Y4UFkAYIli/z2Gg91IL0kjWEnYA9e6tIzt6sOah3srGiSkquJcNGo/gOkbK06TbZ+Y3cTCzg9zGkMG0vszAnBm2KJQRU8x3zSeNCOFS83qvb4VfqRiqXEh7dGqqtd8dw2nOMgQrsxTLyRhrpU0xlOz8qczTH+of2L5atilGJsmpzesAXuI+EJcE+DneaZ893O1AD0WfT9GpEkuaK/q8f1k6juH/wW/EwTVgx1LELSRaxn9jQtsb6PUjlN8JHNMu7BvLU2t9fXtYhR5lY1E0U/Rf0csrh4do1LvwTLEQPAjCTLnqXdNjnG20e/kR6M8VSJQjMFd8Xdf+g3/pLzTMH4wjtIDyP0HSyZqBnFOQNIA7mA7WJ6SEnfUOzatK5lexQBNd0c6nRWFtENLE7KHWyuvTesB+Z4MCVYzFq3cI2UYqo2bLv+uhczTXC754Zxg3nVZJGiNZZfA2lC2WFU6CKnIN4qRDUWttDAbO4BuaO9Tp7QdNOJV9/aIWMnGML7XLWvt3ecrTMobMypxVZ+pJmDcKYfyFc07Uuf6LjLxjdDm5xsb5R3Za7se45CcEki3Q9r31g6XRcd7bJLovHZQ6NiqQl2dABMBkckaBbhRdJseVT1yp7z2JnSI/+mjr42VD4xOjh+zMyNjk+Dyu1WXcE3djX6Scw8j2RW76g1eOUENoDIwcqyJWasvSEGXr8xTp00h2Rzwx2ew9FlAq3+EMdxr2o3XJPRJ60wW+0IVc81y14gPSjsnN2ARx+YZKgEkFpTUMoOXelZuFlB0uFNzrzHCg6qYwTWX7QYewE4NFTrL0ExeFMIU/u2Wx62hedu3vcEjHVd3fxhqkq7xeAZvsMtnH8ODcp0zdlLytkrh3Mx hGk+4Lf/ YbC5FWv+PMs8raoSliE4k+Q7D+d82VWGnEr+QOXDztSxG7M0UeqI2Sb+rvL0exuhtvruYWtGIWjRQV/bxZrghfjx2N7RkAwIQzYxcKGUuFx3+W2HJz2L2vpzfF4E95z/Scls/I7pz6GEv92IpI+hN6L0DxeWkbSffAYIRky3pKwr1Ca5iKLfmUAWKbElGGIFXaJvGB1qOoUkvtW/5VlXUAY8J4e0/RfoXb0pXisEXyJaV6wZI72U7BDtAI3UycRlN9spVPju/YbHVxkrQ2J67GsyFCtRib+aQX98TmumRfzd0Loh9V5QrxHtAJOvpp+0LIr6TZWSmg60u7LyMHXa37zl+E1WQNB88fggCSM5tm869+Cu5EOHqlFbB6A== 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: > In contrast to split, shatter migrates occupied pages in a partially > mapped THP to a bunch of base folios. IOW, unlike split done in place, > shatter is the exact opposite of collapse. > > +static void copy_page_owner(struct folio *src) > +{ > + int i; > + int nr_pages = folio_nr_pages(src); > + > + if (folio_can_split(src)) > + return; > + > + if (WARN_ON_ONCE(!src->_dst_pp)) > + return; > + > + for (i = 0; i < nr_pages; i++) { > + struct page *dst = folio_dst_page(src, i); > + > + if (dst) > + folio_copy_owner(src, page_folio(dst)); folio_copy_owner(page_folio(dst), src) ? or can we drop this? then dst will have shatter as allocation stack. this seems more helpful for debugging. or it is even better we can reflect both the src pageowner and shatter stack by enhancing pageowner mechinism? > + } > +} Thanks Barry