From patchwork Wed Jan 25 23:41:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13116410 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 DAFAAC27C76 for ; Wed, 25 Jan 2023 23:41:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7D6706B0073; Wed, 25 Jan 2023 18:41:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 75F576B0075; Wed, 25 Jan 2023 18:41:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 58AE16B0078; Wed, 25 Jan 2023 18:41:49 -0500 (EST) 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 4AD886B0073 for ; Wed, 25 Jan 2023 18:41:49 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 0C26AA0E4D for ; Wed, 25 Jan 2023 23:41:49 +0000 (UTC) X-FDA: 80394946338.13.A85F9DA Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by imf05.hostedemail.com (Postfix) with ESMTP id 3947110000A for ; Wed, 25 Jan 2023 23:41:47 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=mIXSbS3z; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf05.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.214.181 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674690107; 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=BGNwUbDjmHky71GpbBmE9Nh0iBILc0cb1v5YBQZD5HQ=; b=sET4MBvp3D4pgmO4Jzv/mUzRk2hBj4Dvtfw/ImuOWP4xjmK3260DcyjvvjZ2qsAINXacnE 1D1A6i0+Ti5HWaBqJJvv/t/iTGVksgvUJFDMn/YdLIFGlr1+561eTcgAQ4/N2DELTsK8hk yg4NwVvaz5ECaElsynlAC4D4xksfAQs= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=mIXSbS3z; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf05.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.214.181 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674690107; a=rsa-sha256; cv=none; b=aBVwPg6Iui+SAlJEg93EckrKVcZu1BoGgdmNMqEXrgewisQVqlYSsk4hXPhWOEBIWHSyi8 XnZ0mkl5wsRl0UVbpP6Nyf4u1u9jWJue6qDavh+ymoyZRsmB0wwhuqr2p8DG2bNhMWv8Vm TndQu3Dc02uajXfZOUTlmWgPCth5tbs= Received: by mail-pl1-f181.google.com with SMTP id c6so446657pls.4 for ; Wed, 25 Jan 2023 15:41:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=BGNwUbDjmHky71GpbBmE9Nh0iBILc0cb1v5YBQZD5HQ=; b=mIXSbS3zx/wNtBmDxZy9pZVvSQJv/mHw4CtjWD65+3W9Nc24sZUEDDrNS8oORXHJiB CGLmGyovSMwnhhTJMVQUd2L8GZWQRYAR8SllfoLNKEh7wrEFC3j3GTPcpO6eGTt7IB6K lBtFoVj4NrI54l4nxgO5tQt5fd01MB+QIlXVuAOr/ab4O+2GR41LajuWCD6FMFuOkAbT foNteELlF+BDx6tehXHJkvTXF29r//7Ulc+DmZlFdhCsp3uvvGWYSsETbBZM2P3pBhTp ISJu5TQzkh/8DkQKSyiad0S01AG/Ia9PJmFtvYNhAgSLLO6dL8TA1pu24hsqMP5gFGpv Dniw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=BGNwUbDjmHky71GpbBmE9Nh0iBILc0cb1v5YBQZD5HQ=; b=ZOSH47PbEDcgbGa/X4+yHvhi7vCYxlHsTzP9vZ0LaoySvs7+Vhv0u/cfJ5v5uqqLAY zEBMKJBEgPAsMtjBoXOZGXMJRx37/TdHMRluqpPmRBow3sLKw0/g+NHC7fHDcmeMMYnt Lv5Jt7+j6JWi9Wc5YkLS47AcNiQWdyWzgk4xCYqW6BVNEPJXUaU9BFi+VYTkpZTL4RoE 3CEItlNEIWaqTYtPFBA3ijiA9MhRQaU0xPblXWn6s11YqZd9lN0a7Ek/wlGjF39iyi3z xItGCQW6AnHOs/zpxfNt+4ip5Okln2k2NK2C1exqEexfOFJ6w59iR0j+8Iln27rqaQGd n0Kg== X-Gm-Message-State: AFqh2krYit1zapbEkskekHn3p3a7ShZoZg+LYdJFvLbeFIJ/hp6+ZDuX KlljVoq1oy7kD8O/hTfP0AqPAbbCvLIvNw== X-Google-Smtp-Source: AMrXdXv1TwX5bErJjQ9rOnQpq3s7ctcdlqui9fwxZ8JXfbnCm/ilrQAv8fF/p6GLVjSDREEOIxnLsQ== X-Received: by 2002:a17:90b:1e4b:b0:229:ff05:691a with SMTP id pi11-20020a17090b1e4b00b00229ff05691amr23275110pjb.16.1674690105896; Wed, 25 Jan 2023 15:41:45 -0800 (PST) Received: from fedora.hsd1.ca.comcast.net ([2601:644:8002:1c20::4e4b]) by smtp.googlemail.com with ESMTPSA id e8-20020a17090a630800b00219752c8ea5sm2226806pjj.37.2023.01.25.15.41.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jan 2023 15:41:45 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH mm-unstable v3 1/6] mm: Add folio_estimated_mapcount() Date: Wed, 25 Jan 2023 15:41:29 -0800 Message-Id: <20230125234134.227244-2-vishal.moola@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230125234134.227244-1-vishal.moola@gmail.com> References: <20230125234134.227244-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 3947110000A X-Stat-Signature: n8yhfsu349z7jo3ewuws6n5u3m7195wm X-HE-Tag: 1674690106-884270 X-HE-Meta: U2FsdGVkX1+OQps2fGzZVscLW1KR84L/y+OKCoU8SWi+tSfxCBy0WiSXM11597ZeKK6T23ID/qKscR/5NF/Pj6Wqi8VZjudKV7dmS+AgjXR7Aa2KLy0AogZbjjYVzBihXJehvb5CK4GbrClGQT+hcqO66IvMlOlEm1i2ZmJwQ4u6gV5tYAJrDsGxwecv0046hdwIK5DX4gPPqqLh4Ji5QJYVX7qhUjiWrSd/LADF5ib4mm2PYF80T6Y/9De1mDlIQ/URItdlSizKjDSUOOkIdD7C/B4/bF/9RxLS8xznbYmzCXOjJCTUZ6K5GBtXThD7WCRI20SBV8LhRmbhAT/pu8XLvDbUtfuXav9mfq6e/CON9mE1rdJdfu/XRgOgR4Gsz22Gjqjgn+6tDQyUwFvvpo5j6wWURG2o5RDCHxeDDTRFl7fjQ9yR9bASdIRkC0aHjcOWOXPnis1VOmk+gI072VQFJeHVYw78ZxX4ZTOxffeCV99kdIkeXDP507xFv5eMYmdRI6kJofovH1QKLeCH5Zhbpy2bnFn1XsPbRik7IPK/t/xuH6wY0bLMZN42KDPCABduHWhS7iSKzpluYZjhbRUVsDd9Bx0YTJ9T+m+j8s+kFI9GMTYZJdmiwDfTGzk0DautjYLo155Wmk0ZAFX8LeQ+Z5DXSJ1RNsBfGi9WMy/gvUbVjS5v9qOg6rBA0d7bli79D8DG82JI+NZLy3sOQdEkuXluLTaEbDvQHQrDrt5q2qhTZmfsCuwXZWHSTCg3TrHj5RJfyUxjA82XsNdrsJ05LKBIZyAHCLLxNZw7W8qNnP4LGCIXH/tYMH/ltXBZNUr/BDsggzXPUES99UuOSWkGmTcJyr6FfiQ9mS7Bi3UfDWDYKhLJ8BJ6fyGypg6zsBQDmURppcOIYhM5ai7QIFLL5TJyi4DfePS+zO4DAAriXrpbnbj4nUVWSJZxSeurxSwvTD2lPfxZXFa2m+2 UqYzvxA0 Xe4DTyhqAqvCuqls8slHHpDMVrQTdq+R+EC+d8BcgOII955h+SwV/xUEbEKHMUM4ER/sPXD9NX3HDK5XpHcPL6b/GGOw7G7BsplRRV5K+ug03kqSpDuMozovmPzPwMTA4/XQsRI7Fhk0QA9mKJ+3FRzLrXVSyxzG46suuN/IeemIOVuGhBqsXLQEAs+arFmjSoeKWc3GkF6qTWYPt1oGs3ONqrv+W0N63xFZgsg04dBsjh3zBnhDy7Bjiln/53RYwUACP3oOLjNn68b7SaPTMoJtQpsMxTJaN85bRmn3eOgDV2E4b8EphuTru8bS6zf1F4lo3DOvZ+itNsqyGnIfrhPsV/gnEYCvWxt8OAEu7CHuf1g+jwDJyJ0BO4thZXgwdgH6psK5ykR1e9C7JrLUoQcD1heJyZHrP3SOshG+MYaeiD+h2qBrNtAMbnKCyL16qhO+ptQUW5vW4Y1vFF+3nFDwnH55mxbDvtKEzGOgYU7k8VQU6CkdsEH7L/EiGtP4oeTDsV6FlrcjjIst0yEotcjSgSQ4xrJOtF3kxhGU2gsO6XvFhSkusZBsBYSVycQVXAK3b/LWhS2+9jndtQQEMZ7BmkA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000018, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: folio_estimated_mapcount() takes in a folio and returns the precise number of times the first subpage of the folio is mapped. This function aims to provide an estimate for the mapcount of a subpage within a folio. This is necessary for folio conversions where we care about the mapcount of a subpage, but not necessarily the whole folio. This is in contrast to folio_mapcount() which calculates the total number of the times a folio and all its subpages are mapped. Signed-off-by: Vishal Moola (Oracle) --- include/linux/mm.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/include/linux/mm.h b/include/linux/mm.h index c9db257f09b3..fdd5b77ac209 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1817,6 +1817,23 @@ static inline size_t folio_size(struct folio *folio) return PAGE_SIZE << folio_order(folio); } +/** + * folio_estimated_mapcount - Estimate a folio's per-page mapcount. + * @folio: The folio. + * + * folio_estimated_mapcount() aims to serve as a function to efficiently + * estimate the number of times each page in a folio is mapped. + * This may not be accurate for large folios. If you want exact mapcounts, + * look at page_mapcount() or folio_total_mapcount(). + * + * Return: The precise mapcount of the first subpage, meant to estimate + * the precise mapcount of any subpage. + */ +static inline int folio_estimated_mapcount(struct folio *folio) +{ + return page_mapcount(folio_page(folio, 0)); +} + #ifndef HAVE_ARCH_MAKE_PAGE_ACCESSIBLE static inline int arch_make_page_accessible(struct page *page) { From patchwork Wed Jan 25 23:41:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13116411 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 5FBA8C61D9D for ; Wed, 25 Jan 2023 23:41:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8C0646B0078; Wed, 25 Jan 2023 18:41:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 871B26B007B; Wed, 25 Jan 2023 18:41:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 64EBD6B007D; Wed, 25 Jan 2023 18:41:50 -0500 (EST) 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 570026B0078 for ; Wed, 25 Jan 2023 18:41:50 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 2377880E6C for ; Wed, 25 Jan 2023 23:41:50 +0000 (UTC) X-FDA: 80394946380.07.6FF32A5 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by imf19.hostedemail.com (Postfix) with ESMTP id 539DC1A001A for ; Wed, 25 Jan 2023 23:41:48 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="UBtFM/nS"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf19.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674690108; 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=1khdYzxT7PMCcz7jBx9VZXJLxnPij2EE71ujrUVxn1A=; b=bsFQc1Vbv3d8/a5fj3jc+v1jbdkvSCNH4COAzkxCVDk4JwyKNXK8uKex/PRdmqOEjcuv71 VSrf2rVPTS47KDRWjWXkKg0yGYgTppeg9gOH5ZCvgOv8XOUgL/oDoLyKDDR8u1iNYaSbA8 iDIiAVvX1XvA+z8y1MsedWHzPlLfauI= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="UBtFM/nS"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf19.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674690108; a=rsa-sha256; cv=none; b=O06XTH/sRH2ZNMEJEeB2sw8QnWpWgPJGC8VAwvk3p9rFNjSB44dbWv3YnBYy8062cRiX6N gY/LCaaxBulhT1mBhG5c5d4MzGXZ+i2ZGrtSU4eC61ow73PD+p/oOAQWI3gJHsxCAGFB9U yPHHIKutyonPHuQPxJ3FTL1GQj9LnxY= Received: by mail-pl1-f176.google.com with SMTP id d9so421760pll.9 for ; Wed, 25 Jan 2023 15:41:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=1khdYzxT7PMCcz7jBx9VZXJLxnPij2EE71ujrUVxn1A=; b=UBtFM/nSuni9xqZ8qtJkIk8LKEjARrE386v/XFm4q/6iNHXQglwU92LD/bg63vOquU XtqMQys200RkZrhJtyGKmphdie9l9Zb+gcF0lR2o2q/lBs2t6ClE41cQ5XjRo+Edpf9h F/md9YBpcoz6dthRROooSVzXlPU/MVHdUIy7JULq17/ImoUOXg3nmk8rQMNBYRjdCoFE s0Ynvr4xdLyHXZRENkORJ/T5iABEwi93EyCQsVc6yO0tidjP/AUx8OD8A94a2VejPLdP H2+pU1CayBQrjSiZzZHcZ4Az8LmDqjh5OsliDpGe4V/0lp3jnPy/iqNSK2qSaG1aZ3rI sqgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=1khdYzxT7PMCcz7jBx9VZXJLxnPij2EE71ujrUVxn1A=; b=znQLbacmZ6RUcxe8joROInDAfKl/8Vf80DWuVoQGSxUtHCWNzdPBTcHoXWHHxMyuOX /oK2Db4MVd01/OxvUgh9sOTV72cLI2HTSYG/WRYwFCYNFQ2nkFdEFK4VQaAsfy6+r2ms ZL+eBVepo2PxqMavqMqpwQGYN6mFbDLran7u1NNcbCm8Nxnq4bqNf1qrOnhMHM9BRXgb bG4uwy/OBPCeM4eS5s6LXmADJB3GKPO9YRwY2Z3QGl3HF6W6Ey85z+8LSgpULOn55j5a y926Y8NdsdhLoU0ASXOLiNJcoct+n5A/GgNYPSo0abUUhiyJmX7mXAz5+efsNE6Pl8Dr qFAg== X-Gm-Message-State: AO0yUKUHOmZNpwSXav8+pfwqSZttGvKg5lvuGVnkmniWwNEh51F1rsbI 5jY2g8/IXu1d0TBb3NpHfWd/kUzx07Xqlw== X-Google-Smtp-Source: AK7set+5Nv8G0rFVsuyjEbZtPNT4sTuxT0GinYLwHib3RTjsxtB9s5pk4/OGua0gnNYq1cTWnineZg== X-Received: by 2002:a17:90a:14a5:b0:22b:b25a:d0a0 with SMTP id k34-20020a17090a14a500b0022bb25ad0a0mr4742pja.15.1674690107112; Wed, 25 Jan 2023 15:41:47 -0800 (PST) Received: from fedora.hsd1.ca.comcast.net ([2601:644:8002:1c20::4e4b]) by smtp.googlemail.com with ESMTPSA id e8-20020a17090a630800b00219752c8ea5sm2226806pjj.37.2023.01.25.15.41.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jan 2023 15:41:46 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH mm-unstable v3 2/6] mm/mempolicy: Convert queue_pages_pmd() to queue_folios_pmd() Date: Wed, 25 Jan 2023 15:41:30 -0800 Message-Id: <20230125234134.227244-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230125234134.227244-1-vishal.moola@gmail.com> References: <20230125234134.227244-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 539DC1A001A X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: iaww7q16aro5gggyryy3mq5657gjphu9 X-HE-Tag: 1674690108-810593 X-HE-Meta: U2FsdGVkX1/wjjuscXM+sgecYHuyiK2urZI6fmLEgfYC6z1fexqzOytj4GLfOlp8VXCnF/BDw+H9eKCxQJzwHojO3HRD58rJcWfPi1M/LjqLQU7Q7HsNXQ74VJT/UW/Qs+vKrLKMApj1nvQSgy7WKZ1eHbWHe98dgp6YxfMg4kpcKuKmOtjrj3epsEErIbtHbgyNbJMX+J1MoIpwwgenTx4KEth4hk3OEoktZt0dlbRMwUVA1KRDefWo6KK6LVwoXJt6V1xSws89LY8iUBst+rdREEOnUULXpv2sPIpU99K5n2iQb0RhobzdhRb3mR9jJnaUGu7JBBX7VqbFDI5eeQFq9i6lb/ukSUbZQNElevWoN/A+zVuqTp+QAcN3r+K5kL1v7+6h4RD6ChSTZwImpDBMN1/4g8YS7q5TdKd/iP4JiWJzswdFwcq9cud5V4IRzJ6gV/No19HnG3NKUkz1Uz39oqJpajBXaVrC44DzIhirkVgWG4oPicTaorFjRIt3FHVmQX20geV0sUN2/PQIpw/wKNObdMCcCJjz15ASkCNiYdOmPV5l6sVgVpUXRt2S9JCukA3sPMc6PiQM8xNdZglKJkUAYJ+KDpF/7ZcQ1OiWizCrCC2UoHdMyfK/Rz4XMoj9ygaYqxIj/RZ5S3gP0+uUkd/at1Fh31mgT96I4C5de1fO/3frzO0m9+lYO3+231BdMPrCKAsNEb74QwV+1s1hzW7EoOzq0dBxRpujU+2ptQGQb/w1L9tYy9cDxTc3ub+W3m30d88K9fM/glKsW71JZohecj7mEa1nuXxoKfV10BBBrnAXEced4JxR3My3HfAos3UXjxLGoblrZMEPiaVY4Hdwi4qmlHXP2d5UpTCMmJmWH+tPUSSYRP7Y2khp3EM0uCPSAZpX0trGocPD8Y1ZJ6/ScQ5x/jSzH4KsqwQWuB8uzDfIvupomDlUoX/ajG/7drbeZ9adN3v4jko tVovnX5+ dRMHrYFakCzc1324rwu0RS5AjhOmqnO+6m79smAAXidI3YTaFwu0qWrlGlqOB9QdSiQPM3JwC8FzbRZND984QSMRDTvNKpDPOKvULXc/Pp9NNSAy4Xj7ResL49PenoQc1FL3vEB2LZD5oC2iDp9Yz66raWUbF+uW8TAQuaRXinqN8fGTsmM4XyrJoS33ypk3R29F97FBlydjr2Ua15a8dNcSMuqgbpcQxrkgqtuT0S6Kje/RVfEbDTO+8q4FnAgPSnGMUbNOyg5kPtgj8P/6AWSbadmrUUUaXPCbyZXb8i1JekZl8Lwct55u32HbqImE++cfEddf+ULgNgUemnP1s86utvq2w9z+ewTuetQnhNvNkAUbO/7b4fJ6m3bXVQwNRUx9yK6ET05Tx1GfpeFMZxpE0SgSXc/HyxgkT3sAWPbiL3JLIozNWNeWfa7Ubt2/+pH1sMRt61M4RyGhedfB8EITnKj0eGwlaf4y8KTzOFVETiJMiuHwntGuflrFsxwYqV0WdHvHJCMNEulNqkX9m/vxQcD6zFrgn0npRASPnJ805Pdh+RQWHhlftwhmy+gSo83FGTpXn4a4Z8vwuhFVP2Q8699k+sBC9CR2Sfx1v3pYpHq4bPK5XcYYLk+K+hFcJXFdLji96gvpRO1ail2/AcypyJVIVtsCvQcP1tPjbr/HQLt0= 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: The function now operates on a folio instead of the page associated with a pmd. This change is in preparation for the conversion of queue_pages_required() to queue_folio_required() and migrate_page_add() to migrate_folio_add(). Signed-off-by: Vishal Moola (Oracle) --- mm/mempolicy.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index fd99d303e34f..00fffa93adae 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -442,21 +442,21 @@ static inline bool queue_pages_required(struct page *page, } /* - * queue_pages_pmd() has three possible return values: - * 0 - pages are placed on the right node or queued successfully, or + * queue_folios_pmd() has three possible return values: + * 0 - folios are placed on the right node or queued successfully, or * special page is met, i.e. huge zero page. - * 1 - there is unmovable page, and MPOL_MF_MOVE* & MPOL_MF_STRICT were + * 1 - there is unmovable folio, and MPOL_MF_MOVE* & MPOL_MF_STRICT were * specified. * -EIO - is migration entry or only MPOL_MF_STRICT was specified and an - * existing page was already on a node that does not follow the + * existing folio was already on a node that does not follow the * policy. */ -static int queue_pages_pmd(pmd_t *pmd, spinlock_t *ptl, unsigned long addr, +static int queue_folios_pmd(pmd_t *pmd, spinlock_t *ptl, unsigned long addr, unsigned long end, struct mm_walk *walk) __releases(ptl) { int ret = 0; - struct page *page; + struct folio *folio; struct queue_pages *qp = walk->private; unsigned long flags; @@ -464,19 +464,19 @@ static int queue_pages_pmd(pmd_t *pmd, spinlock_t *ptl, unsigned long addr, ret = -EIO; goto unlock; } - page = pmd_page(*pmd); - if (is_huge_zero_page(page)) { + folio = pfn_folio(pmd_pfn(*pmd)); + if (is_huge_zero_page(&folio->page)) { walk->action = ACTION_CONTINUE; goto unlock; } - if (!queue_pages_required(page, qp)) + if (!queue_pages_required(&folio->page, qp)) goto unlock; flags = qp->flags; - /* go to thp migration */ + /* go to folio migration */ if (flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)) { if (!vma_migratable(walk->vma) || - migrate_page_add(page, qp->pagelist, flags)) { + migrate_page_add(&folio->page, qp->pagelist, flags)) { ret = 1; goto unlock; } @@ -512,7 +512,7 @@ static int queue_pages_pte_range(pmd_t *pmd, unsigned long addr, ptl = pmd_trans_huge_lock(pmd, vma); if (ptl) - return queue_pages_pmd(pmd, ptl, addr, end, walk); + return queue_folios_pmd(pmd, ptl, addr, end, walk); if (pmd_trans_unstable(pmd)) return 0; From patchwork Wed Jan 25 23:41:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13116412 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 AF65AC54E94 for ; Wed, 25 Jan 2023 23:41:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 985616B007B; Wed, 25 Jan 2023 18:41:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7FC906B0083; Wed, 25 Jan 2023 18:41:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 629586B0081; Wed, 25 Jan 2023 18:41:51 -0500 (EST) 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 4A0A86B007B for ; Wed, 25 Jan 2023 18:41:51 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 177A6C0E4B for ; Wed, 25 Jan 2023 23:41:51 +0000 (UTC) X-FDA: 80394946422.30.3CC7520 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by imf16.hostedemail.com (Postfix) with ESMTP id 489BE180010 for ; Wed, 25 Jan 2023 23:41:49 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Kh4RfcbG; spf=pass (imf16.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.50 as permitted sender) smtp.mailfrom=vishal.moola@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=1674690109; 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=8vZic6jN1vVBvksvwJz1xQpCGfyGjrm+SSW90x/iIgk=; b=Jh1URBlmig8te1r0wbF9kP9g9Yjf31+ur0ftNFX6YEg6Cyd7y/Noqj7osDNU55Vsn6X1kf n9xWKo+BD51zyaUHtWUxlCZzUw/8Fttohc2RnT/EiSJCbdRTrpOt/eSnlwvVHrApZutIgj DgWttXJHTjxJhERJC3jRsz2yPTxLyB4= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Kh4RfcbG; spf=pass (imf16.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.50 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674690109; a=rsa-sha256; cv=none; b=3SUkf3jccymTFMP9PetxLn+gSf78rlE88ku4ekVX5p09OkVq8N7uSMryNxgoz2S5m74V9M wthiqJFbh9tcmjfqHFanBrm46a0FUTd9W8G+L025p4IljjZyWBgKpe/9VEXcd4K8Jfwjh+ qi0A2UiNtSR6uFXkTnp9v9M0G99qa+I= Received: by mail-pj1-f50.google.com with SMTP id h5-20020a17090a9c0500b0022bb85eb35dso215707pjp.3 for ; Wed, 25 Jan 2023 15:41:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=8vZic6jN1vVBvksvwJz1xQpCGfyGjrm+SSW90x/iIgk=; b=Kh4RfcbGLDn6wlmfeljol0sY1eBsJweLAeurosHOgEoNqinDlrYKhY8araOCBOa8wF I/o3DWf7ZyhOwYrBnjIJRzBu/1oB/NNffx5MEncS4Ysj8sudz0DvCcQtY9fGPeFgMfF3 gKedCJxlAVgpI44tRJIRNaoo2AD/9FsRM5z2GBhyTI2MAjFKxNDv5qbOn4GX0RlVDWbT wOIc3zu6WO9W0NW0LMVWZ/+cPSyma7Hk0MtPYdhVAYyp8QnbYyoyev+Rcuk4Y3LqRtIm OtWmcd7GqPnf+HwQ2pxmx2LZVvI6PszEEAQlIgBPp3TtL0QXQaoEbcrbEc6fAkM9ag6v nOwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=8vZic6jN1vVBvksvwJz1xQpCGfyGjrm+SSW90x/iIgk=; b=jUKcLdtoZA3hmASw+nzHHCz48K84e9hVAl1/K2Uy5qlWie7Sd9R/HkxFdhecSd7Ddp xN1b+V+kCQuo3hp43F7OvrFBAvrPZvrlPMoKyEJS+tg9V3zCiAe5FqALFGJxv3NAF+UT CQSkqrZ87mp4PaIYrX6HNnsJikQW0LG4kWsaG5ni2xiNCuw4CJTPR/fsREfzkhacPImX kEJWSjdOR3H9XTEAF3mvzSwkEEzBV97B9RorvP1GXpjSOWekjcO2U/tAudofro+zBTUB D5HJjDrQLpC1Uz6vvdAk5H4oAWtt5biWlZ9NsuIF9qEqXcV8vLBeBfwZCyEAaEnbkDZY wFKw== X-Gm-Message-State: AFqh2kpXiwMqqjkUA2fA1/rNlnep/aD6h1uTZsqLFM96IJyUQBaM4JCQ 5CppgyUml56m0JKnWsi3Q+4XGi0yEQ8C7A== X-Google-Smtp-Source: AMrXdXvYkeLDgOA+420enIPeVPOV1ZMOk9RJKxRmcpIlHaghsMRa14AqSMz9s53AItO9WVuQozAWfA== X-Received: by 2002:a17:90a:7347:b0:226:b52e:f1b8 with SMTP id j7-20020a17090a734700b00226b52ef1b8mr35518920pjs.24.1674690107979; Wed, 25 Jan 2023 15:41:47 -0800 (PST) Received: from fedora.hsd1.ca.comcast.net ([2601:644:8002:1c20::4e4b]) by smtp.googlemail.com with ESMTPSA id e8-20020a17090a630800b00219752c8ea5sm2226806pjj.37.2023.01.25.15.41.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jan 2023 15:41:47 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH mm-unstable v3 3/6] mm/mempolicy: Convert queue_pages_pte_range() to queue_folios_pte_range() Date: Wed, 25 Jan 2023 15:41:31 -0800 Message-Id: <20230125234134.227244-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230125234134.227244-1-vishal.moola@gmail.com> References: <20230125234134.227244-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 489BE180010 X-Rspam-User: X-Stat-Signature: xke1h14akxzosgssmc7dqu7te4hf8zok X-HE-Tag: 1674690109-576061 X-HE-Meta: U2FsdGVkX182Dw5XokIrVj/EK/jxJuHvmGcGf5Tfkg2nPDsfa0JLgmazvecq8FGT6L4js+8FiCSpgnJnUaDSthccsnOI9ytjL2bxikhNvQ2uvND2eEkKgpIVjdRkx7BViLJxC6Kyf6UllOi3V2zyNrqwfdHFaSZBxCTRVLeQ8rkPUPqllgh2CZ90ykzI8LfgJbW8h0cLnaAeLM/RT02Yg/IuORA7JEfQGGI/kfncWYkEOByf/roKsvKQoXIFQtdM63iMs3x0LmsSmS+Zrk6izggP6iCL4gW34sdYR8XdIv45iBwA1rdtT7I/rHWiPrV4+Nt0n+qQMWs51lMztj+UgirGM+60V9ywbrgnBu53GVjsdPMUQZiO9/drbJkhSo3cCZAOgEWes1Hk3fCZkS86o5rsWAmHZgeTa6Iynv9EYmwYQxajnR4ZPalfKxNFA16VWlW/7ADE/URMlbjlu7GhGdcH1wusx57pOBYxpdCGDNvr7CLhUZQKsHNf/F7dJSj7718QZBezEUiXRW9N4js+VR99wp21N2cK0r9Yzmx1nzT0m9how9nqjL2AGyYyhyLehNW9LzGegoVtePgsUnFzjAZdxz0LzO3u8O1do9y9M7X4L1jKFd00v+KzYH7HuOvoxESTgd9kpSg95eeqN8krzBgmQmgF8s8LUJokyJhWPvvFGCrc8Wd99KUt8q+5GN7lLwRnfzsi5b0kV/VnkK3mlM/UGSdhAj+AI3y7XPiPIPA1aJp7K77Acl3QAIqpWBhXHYaRSUu/lKfd+9z9vYgjnxZd/BYDYIoPZDIcY+u8AMxMt21eYOYPXu7Rh4OBgORkjUM2JYBE18RzJqkc9rMDkQ4+I8ySx2Cif5QLwSY9WnGwr0GsZVjuCOYeO2FqkvXihulY3OxlXBOBlyZzx51hNVUs8XdjWfU8DxzofbM5S8LZzUIo6r4SBDxc87LzTtPSRtaq49e/TeGkUa6Dib4 nubqhFmM baIrt+oaJnPypQFdZDWJcxL8n0RIasOYZrw1TMVpeyUf+WTrMgHBKr1tcmezYBs9LtO9HsPzWP85tB8KRUM7o2M5g8wrjbj1nlXaVthkSMIr9tddMBrUWTEWi3h87o3xAgcW5M4iaP007kRpyDe+Lo4Jnlp3kJQbxlRsHJPbndYhumzSHuGqQALqzKwg/xnzJBdpOu4+GUVSAUblSfiGN6LJy2+ChqC/gFyOZ9N11iD5Mhr06gVNrmaRAfkLbm6Nxs64DdbUtQ4hOv4kCvbQAmu0dTIchNs8xTgH+RkVN/OMcVp/oiH/HSBoSutzVkfrs9KwPl0u/Yb2t3bKv27XmJ+mMTzKxfrPC7iIKWYZs694gM1boQ23LrkN9vesZjqup4V0g0Dc42UYITrHrpxugcuvnZzVyB78Xt5HebLadRVlfH32o3zCSgW8qoOCQC8FjF1MZ7nDjpfT9H9zdsWs8THm/dL0ocKDyMHsO7u26SFmIyxB+rVD6ctTlGkAmbWdZmfh5/Pb2ZdO7jwCxsh+bXg8QZaWNdDA1f2JViaebm4w7dl9JKSZmSALspUDIo8mlvrtIGlN/E3bQGtTbBSmnTiGMUg== 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: This function now operates on folios associated with ptes instead of pages. This change is in preparation for the conversion of queue_pages_required() to queue_folio_required() and migrate_page_add() to migrate_folio_add(). Signed-off-by: Vishal Moola (Oracle) --- mm/mempolicy.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 00fffa93adae..ae9d16124f45 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -491,19 +491,19 @@ static int queue_folios_pmd(pmd_t *pmd, spinlock_t *ptl, unsigned long addr, * Scan through pages checking if pages follow certain conditions, * and move them to the pagelist if they do. * - * queue_pages_pte_range() has three possible return values: - * 0 - pages are placed on the right node or queued successfully, or + * queue_folios_pte_range() has three possible return values: + * 0 - folios are placed on the right node or queued successfully, or * special page is met, i.e. zero page. - * 1 - there is unmovable page, and MPOL_MF_MOVE* & MPOL_MF_STRICT were + * 1 - there is unmovable folio, and MPOL_MF_MOVE* & MPOL_MF_STRICT were * specified. - * -EIO - only MPOL_MF_STRICT was specified and an existing page was already + * -EIO - only MPOL_MF_STRICT was specified and an existing folio was already * on a node that does not follow the policy. */ -static int queue_pages_pte_range(pmd_t *pmd, unsigned long addr, +static int queue_folios_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, struct mm_walk *walk) { struct vm_area_struct *vma = walk->vma; - struct page *page; + struct folio *folio; struct queue_pages *qp = walk->private; unsigned long flags = qp->flags; bool has_unmovable = false; @@ -521,16 +521,16 @@ static int queue_pages_pte_range(pmd_t *pmd, unsigned long addr, for (; addr != end; pte++, addr += PAGE_SIZE) { if (!pte_present(*pte)) continue; - page = vm_normal_page(vma, addr, *pte); - if (!page || is_zone_device_page(page)) + folio = vm_normal_folio(vma, addr, *pte); + if (!folio || folio_is_zone_device(folio)) continue; /* - * vm_normal_page() filters out zero pages, but there might - * still be PageReserved pages to skip, perhaps in a VDSO. + * vm_normal_folio() filters out zero pages, but there might + * still be reserved folios to skip, perhaps in a VDSO. */ - if (PageReserved(page)) + if (folio_test_reserved(folio)) continue; - if (!queue_pages_required(page, qp)) + if (!queue_pages_required(&folio->page, qp)) continue; if (flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)) { /* MPOL_MF_STRICT must be specified if we get here */ @@ -544,7 +544,7 @@ static int queue_pages_pte_range(pmd_t *pmd, unsigned long addr, * temporary off LRU pages in the range. Still * need migrate other LRU pages. */ - if (migrate_page_add(page, qp->pagelist, flags)) + if (migrate_page_add(&folio->page, qp->pagelist, flags)) has_unmovable = true; } else break; @@ -703,7 +703,7 @@ static int queue_pages_test_walk(unsigned long start, unsigned long end, static const struct mm_walk_ops queue_pages_walk_ops = { .hugetlb_entry = queue_pages_hugetlb, - .pmd_entry = queue_pages_pte_range, + .pmd_entry = queue_folios_pte_range, .test_walk = queue_pages_test_walk, }; From patchwork Wed Jan 25 23:41:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13116413 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 2F070C27C76 for ; Wed, 25 Jan 2023 23:41:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8F5066B0085; Wed, 25 Jan 2023 18:41:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8987B6B0083; Wed, 25 Jan 2023 18:41:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 738246B0085; Wed, 25 Jan 2023 18:41:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 63CD46B0081 for ; Wed, 25 Jan 2023 18:41:52 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 415CC1A0E98 for ; Wed, 25 Jan 2023 23:41:52 +0000 (UTC) X-FDA: 80394946464.19.9F70306 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by imf19.hostedemail.com (Postfix) with ESMTP id 511E71A001A for ; Wed, 25 Jan 2023 23:41:50 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=dmcxWY8U; spf=pass (imf19.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.44 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674690110; a=rsa-sha256; cv=none; b=Yfo0D3hrmyU/WL/R432LXwjlOnV/dR3GP54GFks0+xHyyfpc8SCDQxMXP93YF9bPxN/ELg aV6RbSqaSpWBN8P32KFYzaJn2zoq2aWwopMsW0RDZR2aUvfytwb4WryXOgofbyRTVXS/om 9/2h76bO0NwY+8XLyv7QudzvuXS9E+M= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=dmcxWY8U; spf=pass (imf19.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.44 as permitted sender) smtp.mailfrom=vishal.moola@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=1674690110; 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=Sz4HU32GWbuxfmIkQjW0u4ISqBHZ5RIiVnsfOJ2Lp54=; b=r8zzmpvAbXcheHTpcb0fHWztrotHV6LugIk2QKCDnXpCStrhlRECizbSS3306vomCoLUDK JnuUVb6tKVwakHh4qO7PG+7CPxps+ou6168bSyhr4co09nboSZB0s7mfmx77hMaQKWB9R1 FHwnsh9P4nlczy3qj7JecOhPdQpUyhU= Received: by mail-pj1-f44.google.com with SMTP id b24-20020a17090a551800b0022beefa7a23so3715798pji.5 for ; Wed, 25 Jan 2023 15:41:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=Sz4HU32GWbuxfmIkQjW0u4ISqBHZ5RIiVnsfOJ2Lp54=; b=dmcxWY8U8wAh2AlCeZFmiUjni88jRf+FuhGzSc73OspKeJg/jDgHIv8asRJVZPLE7M GeKI9hjadJUH2P0ponOvP3pbBraa8S/sk+8nTl4/oqYo8JIFSVUDaHw97FrPx7bfNMeo IJM+6DNiaCAdp7b5r7OTFO2h/cIicEasMLMQulW80HW0FxGMwht/P0Z1SgDxEeIXj8ay 2XqexkXBfBMFdPiiPa5MRPZOB4u9lcaP/PQFrDUw4y91ocEY92PcwC3UgXttppZ+VloB bHpeYO3CnwoDG+CP4gqrrpWVu95EqQynL873hIUCRONzU4/DRWp2/OjNZ5OfpzIHluv5 h5Vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=Sz4HU32GWbuxfmIkQjW0u4ISqBHZ5RIiVnsfOJ2Lp54=; b=s1ZkoeH/pZJ7GMViUcJ8fZRK5+Skt2CwiOuNhw+ocqkzCV8nHGYEou6/PFQ5EnJbiL I1IaSautcCKYmSc3GT+QJIxUP3GDElmmxJhDalvjKrHc7KsyTz8obxb2KsNUvP6lT9kJ /rzmZJVEmTm0C6aUtJc5gNgH8XuWdfY/W07+SK9yzrokwDdz9IyAnzt4jPEH5CumHVlo Ant0NmnvwLmCATIYsUgA+D/eDhxeIQxJaVWdrnrUlevADLeQDm1SfARRTqKKTk0t/Koh Zzj5RzL5nGjf4wd3t6bUtqju9xv+q6grHOeh3ioSaSSj1Z8A8uq5yvzH431ISgCJLTag K/Ng== X-Gm-Message-State: AFqh2kpTSYY/85mpSY5VDcQvFz8qY+32P+rZqT2EsJ0ka99A4d0Z6sGY yrIIeT7ZGmf1sE0ou0PXcIsj7MujtQrKNA== X-Google-Smtp-Source: AMrXdXsXHo3GclXuQ2bpTqlIoBZsCQOEjXZP3AX7aqO/uZ63Y2s2D6JyQLIgnnmthEvorHx4y3b9Fg== X-Received: by 2002:a17:90b:4fc2:b0:229:680:1729 with SMTP id qa2-20020a17090b4fc200b0022906801729mr34762484pjb.10.1674690108968; Wed, 25 Jan 2023 15:41:48 -0800 (PST) Received: from fedora.hsd1.ca.comcast.net ([2601:644:8002:1c20::4e4b]) by smtp.googlemail.com with ESMTPSA id e8-20020a17090a630800b00219752c8ea5sm2226806pjj.37.2023.01.25.15.41.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jan 2023 15:41:48 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH mm-unstable v3 4/6] mm/mempolicy: Convert queue_pages_hugetlb() to queue_folios_hugetlb() Date: Wed, 25 Jan 2023 15:41:32 -0800 Message-Id: <20230125234134.227244-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230125234134.227244-1-vishal.moola@gmail.com> References: <20230125234134.227244-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Queue-Id: 511E71A001A X-Rspamd-Server: rspam01 X-Stat-Signature: gw13a6izg8jegrrmqsi3hnxhzyf5mxj7 X-HE-Tag: 1674690110-53618 X-HE-Meta: U2FsdGVkX18woAi5gppqzSeLkv0iL6yr02uN0HHKhMvWXZdItsr7uJuI1b5ilnYW5PvCSw+x4iVztEfDn+ikTtKPa0GYHv2GAszWADXO6Q8HaOn/Z0Jaudec/e9EroJF9zuTNJ2kSp73Ln/X4/MaV9/4LjYdfJ/xBJP/3GVRRIZwSqwzWOqvcNH34NP3ziqNSub7/XZkW9/B+rn0KnHibEH2QcqgHlHVwlkVBS1IqgPWe0bBsRrlwHxiIucIppZwJmeKpGlypl7mwfmhhSd08Wm6EsxqKtW39XpWZulzP/focK83pf21BPUkt+ncYNvFOvTGskTTnNOpPpwaYiBFkIoYa0nIf9J2zOpH5OrDjrlJLM1Q9KLu2g7iSh46cCFhWg2yzXgTniRptXBXc4rjZNxYj3iZi3uMToq9ppgXUOIIaXOix16j9eIeMH42WNCFQ+DKgy1B4CRrO0HTzIU2UbnS1LmhQ2c4AgZ/IuxQyOPmhkJFqtHl5EZCVToopaBg0ilDpCJv1c5yoKkz+Tp2aloq79lC06y1Q3sNauC2WjkyNFdfOw2RxVvTlfM4YmN61sADUakJKnuJ0Tujyim3MvT/sBP/avrNqclkgtm6XB0biQnQhrq+AAVrwvo4CTE9n9Fbl5QneqARyNryVOrSCuiXm18ucVlryxtVB8wGjv92+PWS2rBTMrXdBWSxEJ9rtVWxN5muKU7EUsO7hgKyFf9e0WNVP1Fz6qiUeuFgXwjL/YSSdopNmZcvEdQ9wD1Z4R0iu/I2Z3ggSOn4D8qjqGI3fcGXyVgEG5RlijbAb8XEBMqieXbDlDt+MCK/sEhJZO0ZYdIaQZkyAaJRifVI6LdWunUdCERPPGNCbTT/gqx6qjJs7Fgd+nGQjJD1YU2PCAHcyexh8P2sAynsamgoZEUQ8cD74AcDu+TXFH+fXjcimhnbij/bPmnZct+SVR/FwXLxkAK2kfSpTREE4jB iC47UDaN aOiKPkigjLrG8/Yu0Z7DxxaZtEsizOtfYjtnqvV9XKjhXTXzaNt1fL1LbflPqd+IiM077igaIkh8PzScTV/7Sb8NpN7JrzBLs9PSHgsN5799c8nGLsGGuKCVPnG9updLaUNlF4syMJPQ6XX2TnRCXxeU5ztS7N6nBh+tlHdwfROi3n3rxT+WWQQgPhRw+dKFfUY6LjcdGBh4GPfeI0nhxJdlDneIc5jyafdc4szPeHl9k5CT9o2wiSKf6mQqGtrR4bjrZVzm7kvGET/9pmVp4GLBzgb0ThtN7de17yaBUH+tLSTz6VLfvj2ajmuZ75FsHGuD3mVALaQQfmG0SFauehrAau6fX8MCki7Wbme/bB5Tql9ltfAHVoq+R4RRTD3bMjjyERcMrI4iZSOrydff5cfzWal7+xllwoCkxNYDC06PxZFtlCHEMK1w+lSmsS2uAZl6Z45gSX4yqluw3ncaDxdLs7fmXhyFYEzJqAnZ0kCxSo/c0kSulgiWA/XAQkTsx9dAvo74D/hUjdvDtusNulXXYzJiiRcOdl0eTWUda+SuK1LwA8xrfR6dvgLPJZqmTe783By+P5O20FRc2xy6J4EqvoA== 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: This change is in preparation for the conversion of queue_pages_required() to queue_folio_required() and migrate_page_add() to migrate_folio_add(). Signed-off-by: Vishal Moola (Oracle) --- mm/mempolicy.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index ae9d16124f45..ea8cac447e04 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -558,7 +558,7 @@ static int queue_folios_pte_range(pmd_t *pmd, unsigned long addr, return addr != end ? -EIO : 0; } -static int queue_pages_hugetlb(pte_t *pte, unsigned long hmask, +static int queue_folios_hugetlb(pte_t *pte, unsigned long hmask, unsigned long addr, unsigned long end, struct mm_walk *walk) { @@ -566,7 +566,7 @@ static int queue_pages_hugetlb(pte_t *pte, unsigned long hmask, #ifdef CONFIG_HUGETLB_PAGE struct queue_pages *qp = walk->private; unsigned long flags = (qp->flags & MPOL_MF_VALID); - struct page *page; + struct folio *folio; spinlock_t *ptl; pte_t entry; @@ -574,13 +574,13 @@ static int queue_pages_hugetlb(pte_t *pte, unsigned long hmask, entry = huge_ptep_get(pte); if (!pte_present(entry)) goto unlock; - page = pte_page(entry); - if (!queue_pages_required(page, qp)) + folio = pfn_folio(pte_pfn(entry)); + if (!queue_pages_required(&folio->page, qp)) goto unlock; if (flags == MPOL_MF_STRICT) { /* - * STRICT alone means only detecting misplaced page and no + * STRICT alone means only detecting misplaced folio and no * need to further check other vma. */ ret = -EIO; @@ -591,20 +591,27 @@ static int queue_pages_hugetlb(pte_t *pte, unsigned long hmask, /* * Must be STRICT with MOVE*, otherwise .test_walk() have * stopped walking current vma. - * Detecting misplaced page but allow migrating pages which + * Detecting misplaced folio but allow migrating folios which * have been queued. */ ret = 1; goto unlock; } - /* With MPOL_MF_MOVE, we migrate only unshared hugepage. */ + /* + * With MPOL_MF_MOVE, we try to migrate only unshared folios. If it + * is shared it is likely not worth migrating. + * + * To check if the folio is shared, ideally we want to make sure + * every page is mapped to the same process. Doing that is very + * expensive, so check the estimated mapcount of the folio instead. + */ if (flags & (MPOL_MF_MOVE_ALL) || - (flags & MPOL_MF_MOVE && page_mapcount(page) == 1)) { - if (isolate_hugetlb(page_folio(page), qp->pagelist) && + (flags & MPOL_MF_MOVE && folio_estimated_mapcount(folio) == 1)) { + if (isolate_hugetlb(folio, qp->pagelist) && (flags & MPOL_MF_STRICT)) /* - * Failed to isolate page but allow migrating pages + * Failed to isolate folio but allow migrating folios * which have been queued. */ ret = 1; @@ -702,7 +709,7 @@ static int queue_pages_test_walk(unsigned long start, unsigned long end, } static const struct mm_walk_ops queue_pages_walk_ops = { - .hugetlb_entry = queue_pages_hugetlb, + .hugetlb_entry = queue_folios_hugetlb, .pmd_entry = queue_folios_pte_range, .test_walk = queue_pages_test_walk, }; From patchwork Wed Jan 25 23:41:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13116414 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 73E3EC54EED for ; Wed, 25 Jan 2023 23:41:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B7F36B0081; Wed, 25 Jan 2023 18:41:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 36AEE6B0083; Wed, 25 Jan 2023 18:41:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 146076B0087; Wed, 25 Jan 2023 18:41:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id EEC6C6B0081 for ; Wed, 25 Jan 2023 18:41:53 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id CACD61A0E98 for ; Wed, 25 Jan 2023 23:41:53 +0000 (UTC) X-FDA: 80394946506.12.30C0BC8 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by imf03.hostedemail.com (Postfix) with ESMTP id 883CE20010 for ; Wed, 25 Jan 2023 23:41:51 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=jQrVZxKe; spf=pass (imf03.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.45 as permitted sender) smtp.mailfrom=vishal.moola@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=1674690111; 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=nE+3UuHIJTsmxu1JqArGmSE4JP62IBIElITMZZ15/p0=; b=L2sUtq+hX+uXFvYk2CYq1vit97VjPoeodUH++ULt8XsHkieb9K5rIn2Ds8xVvQPitdJNx3 mdr07DcgA+17YPoYiIhRJbgFuqJkuroKYrg0YY7rzQFSidvvzahgjba4d2BJm/cBCvpoCs BWaG6PgVZFSbL+I2to3/411CAJHxL9A= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=jQrVZxKe; spf=pass (imf03.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.45 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674690111; a=rsa-sha256; cv=none; b=y/rv2+yyzWYQTb1MwKzXqh+pfTl+64hlqK0OVbhGiw0WfuLThH1BkX52fX9d5UbnD1d/uc X9/++IUQB1yxHcXDdZsqUNMfGL62DpS4AM80VZPZ7VA/xJLknG2140t3DH+IZbjHV5OkJV rhkxxKRkaSEEJfb0SptC72x8vtDoYxA= Received: by mail-pj1-f45.google.com with SMTP id m7-20020a17090a71c700b0022c0c070f2eso3053478pjs.4 for ; Wed, 25 Jan 2023 15:41:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=nE+3UuHIJTsmxu1JqArGmSE4JP62IBIElITMZZ15/p0=; b=jQrVZxKeueZyKOX/9U6abED0nBNMUqF3gG1HIZMoK5tlZcQs9cJ/ODvbcqhthYHpKQ DWBlgZq8Tb2XiUpPQuMtypfYZ9+e6LBX9aHXQkiGdmyvdgULRvOsFnVYvZyBzK93TgON yT+3SjOAyRVIKqC2tyImtBCNxFkufKllds3KVdssuCQ158DP+AUXt5N9a7sXPIwJu0b7 6NUR4WdIza3XMkpwmk7ebXCPL8ZC27KhnroLf9RZKkf8URh1kFoa0wxqKDWcfTalHBmd 5ICDiFBJCDc915aV0MFz6KVHGYDjIaaj6cqBHLkLCcrCG7fiSVT8xzU8d7ZO0yGQVsMP GiWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=nE+3UuHIJTsmxu1JqArGmSE4JP62IBIElITMZZ15/p0=; b=5MgnxI29dbmzsZrO3tsbiJ41E4fKPTVnSNTq38sSubHbq3XhhxIw8f5jW2tzLc0FfW WRYGEVvs5/kjDoOmPLgVnWCuxAvdU17hNLCgqyXJmDpSkRzRxiLCB+Fm8ZrhZIpM4/5R zGyPrBAeXXoMphCMLodkH7VD0nQLx5zwh+diD3MjLSV2tO//zW12QpUgay05F8lRKfTo uHlhDtJ+7g9xIBhNOHx4R6HP7+xAEXRjSE7M/A/IBhi0NmEKB7z1Bgyb7K/vcEaWeyBc uPXUqmFrDo3iFaM9rGyVzgx4Eq2QyZy8My98CaHgJvgxEjtUcKOSHcLa4MlyuFIHiUHh eR0Q== X-Gm-Message-State: AFqh2kpN6afJnzLaomovbns5ksBM365xmwIKrz8pFFkPeEWvA6+AE3lb FGakpXfznb0VmAzVc5WoTIqNJOBwVoTsxw== X-Google-Smtp-Source: AMrXdXv4oLc42hq8XgjfnjjhZaGW0OoALKHESNHJGGGtNWvyj5n5jowOYvkPnWGGVyUX9x1zr7AhOw== X-Received: by 2002:a17:90a:7804:b0:229:912:1340 with SMTP id w4-20020a17090a780400b0022909121340mr34515942pjk.39.1674690110189; Wed, 25 Jan 2023 15:41:50 -0800 (PST) Received: from fedora.hsd1.ca.comcast.net ([2601:644:8002:1c20::4e4b]) by smtp.googlemail.com with ESMTPSA id e8-20020a17090a630800b00219752c8ea5sm2226806pjj.37.2023.01.25.15.41.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jan 2023 15:41:49 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH mm-unstable v3 5/6] mm/mempolicy: Convert queue_pages_required() to queue_folio_required() Date: Wed, 25 Jan 2023 15:41:33 -0800 Message-Id: <20230125234134.227244-6-vishal.moola@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230125234134.227244-1-vishal.moola@gmail.com> References: <20230125234134.227244-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: cs1xuwd5czuugmcqrhfnn9zmuhianexd X-Rspamd-Queue-Id: 883CE20010 X-HE-Tag: 1674690111-499754 X-HE-Meta: U2FsdGVkX1/5vi/YWZ7/tSfiX19KDT0rne1dG4gTxFGh/L0YVgBy+oqPP5QfKqu+7IMqcAzk4+lOCmO/pGIf8LuECg8NEv5pmQorUin2jGfepMJNdzok+JYhpKo0waoUFUOX/V02kknALXLHRGkeZKYStKWu1PH70PJ0dB2z026+zBzMfSwhUSaeWQXz2r1EEv3hzyN3qriB/Xia+ur6LRtm2rdI2UTtoDNkMx4iPrb5jErG8JEUSykiN+y3hDV6iUOvSWL+O+H/5YiYGgJcSJf9MruvrbnFBPpo6JRO92O1IBjpeXrkfUS/QAsqUNmuqhzftmIaBXCeaGpT1K6ODcYhVIPgET0tPWJ+g97vrHf1dALY3Ei5G1sp5iajxu0Io7drP9gk3i/dMTIhe4SPLC6dlGafMMHhpNiqkAD2ktB9jSKrt2Z+n1kKLq/rHFi2xyFjvgGQwyXHSnBK8UUXoCgJjqTtD5j3AJoQBPJPczvnoj2Y5bYW9HgZktD8LdihcYBGRNZNiJhxRLjpEkM+c4FGJ8AhdjE1jJzPGHkU3SiAKwCs4GZE3RhmPpVfsYY3E8rPxDaqxnW7yMRjJCky2qim4vKOYPCdlT2kZJThk1xsCk1sSgwou1be9uVK4gRSh362BlsMrAJ00UFwI3puc27HkCxV9CrlWV/WvJ1KOWdE47hKJZRCsiaGr20xHjZ8NZkL7z5/H1r52nXKRWnbYU8hc5P0WG0UQLwxJ3hHYooEOPdxAMq10XG2iXzNkzyp/rtPgMSv/cseWhJyKgnZ8bMq43uvFEVvEtSGs4kv+E+DdiWUBS1VNeWqSUU2s8qklbPhkUMTH9uew+ekskm1VXsMKL9qxKysfmf0Zgt+VkPlAUdxeoXuSEqw4BgNcWAqSnZU4R9erS4PPo+M3KkjnVB3hbFmTryVV5PSPEUDLJEhnzxW1x1OOmOcWF2r9sDYjU7bPKnfUEc8KWEFvWg W4J/Gw+H LMWwEAQeH3EuGg5P/41FDVYQvA7te/RFF5duEAljhiusvcD7Te65o6i86EYlBOCW2G0OmHqv40YGEB11e+erKCdQHfqrRRolMVhMvQZTxwV9Y5oNPDN7azD7v6bnoPFUigR+H/UPO+6fAZveWREtGDnccm6A6IPuMiWI4Hd3pudYHqBae5trCmVnm+WSeOGaNLTPAWQdaN8+uKTKr7gjDDD+V8FO/FOsQ+q+P0g3ppho6PsPD0O6CsgRRrcKVNMb8Jr3ZmkhNbjYTPvOysahhQK265ovwkrZElEZ1XAi69I7TurSJMkeNP9Q/RJHEvEsm1GxOI/uXXIiBqOmdmHdh1xQOq/MM6V7LMG4vX5zzkH1lkXg+fgVUAkjaelXL4WS0vUylbwOsJNTQYhIHPZjfpCXveEsxi2sGlcEtw23rOcztiA4FKAc34emtcJIFuAyraLuGw1ikGl/WKev8Nl+5rnp3nGiw8X9XsVkICjDtW2KjchJUZv0UE3kG/4o1P2FPtyuau2spd3Eg5AQZkHnferW/0NpB2L7fepR9LiZw5EDgrN50ltInP0VbRevbbVK1wJ9ezH3wruCT3YGuX9nNEshZ6w== 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: Replace queue_pages_required() with queue_folio_required(). queue_folio_required() does the same as queue_pages_required(), except takes in a folio instead of a page. Signed-off-by: Vishal Moola (Oracle) --- mm/mempolicy.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index ea8cac447e04..da87644430e3 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -427,15 +427,15 @@ struct queue_pages { }; /* - * Check if the page's nid is in qp->nmask. + * Check if the folio's nid is in qp->nmask. * * If MPOL_MF_INVERT is set in qp->flags, check if the nid is * in the invert of qp->nmask. */ -static inline bool queue_pages_required(struct page *page, +static inline bool queue_folio_required(struct folio *folio, struct queue_pages *qp) { - int nid = page_to_nid(page); + int nid = folio_nid(folio); unsigned long flags = qp->flags; return node_isset(nid, *qp->nmask) == !(flags & MPOL_MF_INVERT); @@ -469,7 +469,7 @@ static int queue_folios_pmd(pmd_t *pmd, spinlock_t *ptl, unsigned long addr, walk->action = ACTION_CONTINUE; goto unlock; } - if (!queue_pages_required(&folio->page, qp)) + if (!queue_folio_required(folio, qp)) goto unlock; flags = qp->flags; @@ -530,7 +530,7 @@ static int queue_folios_pte_range(pmd_t *pmd, unsigned long addr, */ if (folio_test_reserved(folio)) continue; - if (!queue_pages_required(&folio->page, qp)) + if (!queue_folio_required(folio, qp)) continue; if (flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)) { /* MPOL_MF_STRICT must be specified if we get here */ @@ -575,7 +575,7 @@ static int queue_folios_hugetlb(pte_t *pte, unsigned long hmask, if (!pte_present(entry)) goto unlock; folio = pfn_folio(pte_pfn(entry)); - if (!queue_pages_required(&folio->page, qp)) + if (!queue_folio_required(folio, qp)) goto unlock; if (flags == MPOL_MF_STRICT) { From patchwork Wed Jan 25 23:41:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13116415 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 B6D75C54E94 for ; Wed, 25 Jan 2023 23:41:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A6DDA6B0083; Wed, 25 Jan 2023 18:41:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9F7706B0087; Wed, 25 Jan 2023 18:41:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 898606B0088; Wed, 25 Jan 2023 18:41:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 718816B0083 for ; Wed, 25 Jan 2023 18:41:54 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 49E331A0E98 for ; Wed, 25 Jan 2023 23:41:54 +0000 (UTC) X-FDA: 80394946548.09.96B963B Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by imf24.hostedemail.com (Postfix) with ESMTP id 79B4B180002 for ; Wed, 25 Jan 2023 23:41:52 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=P6CDrkzJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.52 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674690112; 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=aN57XfC0N2Z9PnMQ9nUjXYfVmJE2FGzydu2ZVvrzX3Q=; b=sYemF0DG3TOfQQf1p+9aY2pVCMcrn6dbQPbCqEEVWuez6fbtdwixQsjqJ/0LvJrPIotQ9K 85++pDzzWWrJoFvJzI3g3yX+8u9u8xKo4akJFeXC0gJGM/JMqvFIrRFJbVpkYIZ0tSXfVi qq2rMUXRJ6BbLneBVfyfGN2RCQHU3MY= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=P6CDrkzJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.216.52 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674690112; a=rsa-sha256; cv=none; b=TWcnsBpwr/SZ9w6gnGkLYnWr6/TyKlkANNMZAOE8HEyQ1D2Oc7w9RnmJa9vgvCI0LLQcDC GeA9akK6A3mXhVeSr+OXHmBd2iFKXpKgwD098qXFAspOtix6O8wdq8kRHhTtx53suvKhKD rHBQH5lEfXsfktuojYf0OexcwVBxT2Q= Received: by mail-pj1-f52.google.com with SMTP id z1-20020a17090a66c100b00226f05b9595so270837pjl.0 for ; Wed, 25 Jan 2023 15:41:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=aN57XfC0N2Z9PnMQ9nUjXYfVmJE2FGzydu2ZVvrzX3Q=; b=P6CDrkzJSgET54MDlG18KNSNOlZoW3MU7+hkgLqRJ/5Xqzgl8we5PZOg1hkICvX2CV qJuAyZ0zwDf79dalVbx6THwSx5WpRv7irQY4fWrO65cPK9qxlsBx0aRlT9bMDJUF1IWk Vdc3Flt7m1v4/SJ2NceeyIu3ROeYczykNgzpa6MKvRiWkg3DKWUnET3/mPqUh8G50olU TZeUw09UecGDHUoaAyfy+kXlHDrlCQD7OBWh+QrMS+SXz98gVihHyB7H5Lkz5OvooRno IJSQLLalXZorgQX63BTIU5Rmz6BSXpttPAnERpvzhMa9w+rhHUUo1reXjMpAwfuE0P5c DeAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=aN57XfC0N2Z9PnMQ9nUjXYfVmJE2FGzydu2ZVvrzX3Q=; b=044yiFSXXL5AxLBfelLBYHeObNqmAu+IbOQZEPK+mxYWF90mA3q6lmi0Tx3y34JTGf eCpW82CWG0geuLHXeusndmAJMz6/W9fZI2hIq/kBpinOE/vgTSnJ28mJ36bPFRoxCH+t hdGEZcsZWztApZzpEfXwZEeqV2ZT3HzwphNsSHP3YNHBiTZ741IS6Ieoq6Zrd2JrGIma j04FdNiJYhHQ+fY0e2aeiUCauNBBVteHLbQuNpbSMDWCDBtjuku9yT/d1OCF26p6NzcC 8FBy4BmB7bDDlD5jl4bpKWKTvK/Qk7E6gpSM0oMiPheHhIutVM9Ptx3j4IhI5SIpk/tY rxpg== X-Gm-Message-State: AFqh2kqqbB9R7F+kVClLipVKO5oNtPnlXO04R5BAeywLR85txCJkNZRm I4+oHSey3Occp2VDnRJfOU36kAdbuBClKw== X-Google-Smtp-Source: AMrXdXulsPWSiWTwVZGqHBrrwSWR9r4OEwxKEGBefyPEA2GtBCq+t9NogNmvV2nutnNPlWn7MjG4Mg== X-Received: by 2002:a17:90a:86ca:b0:225:d697:41ea with SMTP id y10-20020a17090a86ca00b00225d69741eamr36754049pjv.23.1674690111263; Wed, 25 Jan 2023 15:41:51 -0800 (PST) Received: from fedora.hsd1.ca.comcast.net ([2601:644:8002:1c20::4e4b]) by smtp.googlemail.com with ESMTPSA id e8-20020a17090a630800b00219752c8ea5sm2226806pjj.37.2023.01.25.15.41.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jan 2023 15:41:50 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH mm-unstable v3 6/6] mm/mempolicy: Convert migrate_page_add() to migrate_folio_add() Date: Wed, 25 Jan 2023 15:41:34 -0800 Message-Id: <20230125234134.227244-7-vishal.moola@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230125234134.227244-1-vishal.moola@gmail.com> References: <20230125234134.227244-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 79B4B180002 X-Stat-Signature: 3am5gszw9pdb5marnehey1feo31wg7hd X-HE-Tag: 1674690112-627493 X-HE-Meta: U2FsdGVkX1+TWDk/N6dIG5/S98dAd93bWk5rKTqb4NqYu71nD9sVXt9Wp0ORvbuMBq65nxHBDkY07iVVoGObmaFraW3oc3JpAPeN3HOWzpwyqOnqZFhC/Wmcp1Zf1nRcu/Xcg5HM1ZUuj1fhC1Mu61TR+ToNIULhNDPMjNKijsLK14ExtaJl3LcjRMsFbaXd59SKAH6QjjJ2kEPoQYV/am3YlaQ2dhekrKR8o0rHdrsRWhCEPv3ePRI5RG8B1KLlUaXDniKrXcWHD56VfN7HxX7b4v+9yR0/gfNWMpGDkoX0oFc70W6qrX54h5zQgf846cAO8sDqMdONABExG9nTUo4rgEZBNdHFfR9xaZHDFOXVK1J6bajXDIj4nBIXy/QBGsmkNxTuXXu3A/CK5dVFpyCsjofARMouLfDTuTjVKwke6aqYlwKG7wOJE8lZ6mUWPsyp3XHnEQpSv0szROn0aXd2+COsNrYWpjGuFgkwu28gBjdoNXY231V/EaSRADjs7jCjtfSNbK8DIMOTw10MotaQAgNzQpoFSfe6monrejQWZp+XHGgOBt9+NFLngFidOXok1/6iqskBIFJpMsrYApBqfh/IJLYD6/SlNplP/Cnsvm3xAeAKyMkp+BdzytFl3do64p0fv1pnrV61DzbD9Cp7o0pwD6n2MDHtKmg7mB8+zYOToGHL+r/PhDEnvq+feHSoLpt/N975S5+/Jj+W1Zz/zep1FlrShyk1uFn5HhWGLopeTbMdufQ+pJisx1x8k2jVn2upFSpQsNf3beVayZt2dW2CXbekj0S8O9aKdvTF9933Cg0XeFLKk+VzqyT+isdIc3hCSytLCyuSPFwNmW7fHkEuaOo795OB9JGndo4QQVwj3vIBNWGtXaUolVyso5NrSTwU5KR1Y8UGAeUHN5eGJK58u+AC4nPq4jqs2vGNqxa8mIHdOAAQsV4FelqXzWUDVd+zJ8d0R472La8 mzld/niX 6Lvc+SuBqnK7mffRAmsQ6id6nhnqF148BKa42tKN8cOe0esrxdiIe/wDxPUqpgJRNZ/0W9lhjMSCOVQfz+JzUriwtKl67hSabQrFPebDhjHNsSqXt5f/ueN/dpXvBid0jX4IMNfB7fD2ZpJLICKE0SZgrs/KBplTcQGngsttm1zW61bU5tIL5iOjYeySSsoKU4bhdXHCapEDZPN7aWF+WGByk0kJ6JzMaOFIAmZDqIKvcx9sPXT1/6i1Z9iSQBIXQTCVD/Wkl3Pxn7avtl8fK8fF/0m2LewsWvt3LqKkbb5Gg5qmI9qX+XKnATInz/EpgwdlmTW1EFAlWkbsW1ix6nk54Cq3ZnTu4e6n89DuDWeUhX7MhUh8950MyuQDaMDT6w/JzTyDLuc5H5iUP7ikyCKWqCQuOHMOLRlo0eLqgr2ZlRk7Yx5jmiL+GB+D1XEym05Ari2EIN+yN97unPlt806GHRoUELXrFlz5edx8/yX0sFKKbAjmKjqU6BUsBxWHJ0ItFRnPctiiIUr9KV8vk7yniDbTE9D74Vhj30ywH3p6Gd2CAxj71eOdt2t5ia1vodWA4vErc5HcXj/9OpJ08893V3Q== 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: Replace migrate_page_add() with migrate_folio_add(). migrate_folio_add() does the same a migrate_page_add() but takes in a folio instead of a page. This removes a couple of calls to compound_head(). Signed-off-by: Vishal Moola (Oracle) --- mm/mempolicy.c | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index da87644430e3..9bb4600c4294 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -414,7 +414,7 @@ static const struct mempolicy_operations mpol_ops[MPOL_MAX] = { }, }; -static int migrate_page_add(struct page *page, struct list_head *pagelist, +static int migrate_folio_add(struct folio *folio, struct list_head *foliolist, unsigned long flags); struct queue_pages { @@ -476,7 +476,7 @@ static int queue_folios_pmd(pmd_t *pmd, spinlock_t *ptl, unsigned long addr, /* go to folio migration */ if (flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL)) { if (!vma_migratable(walk->vma) || - migrate_page_add(&folio->page, qp->pagelist, flags)) { + migrate_folio_add(folio, qp->pagelist, flags)) { ret = 1; goto unlock; } @@ -544,7 +544,7 @@ static int queue_folios_pte_range(pmd_t *pmd, unsigned long addr, * temporary off LRU pages in the range. Still * need migrate other LRU pages. */ - if (migrate_page_add(&folio->page, qp->pagelist, flags)) + if (migrate_folio_add(folio, qp->pagelist, flags)) has_unmovable = true; } else break; @@ -1029,27 +1029,28 @@ static long do_get_mempolicy(int *policy, nodemask_t *nmask, } #ifdef CONFIG_MIGRATION -/* - * page migration, thp tail pages can be passed. - */ -static int migrate_page_add(struct page *page, struct list_head *pagelist, +static int migrate_folio_add(struct folio *folio, struct list_head *foliolist, unsigned long flags) { - struct page *head = compound_head(page); /* - * Avoid migrating a page that is shared with others. + * We try to migrate only unshared folios. If it is shared it + * is likely not worth migrating. + * + * To check if the folio is shared, ideally we want to make sure + * every page is mapped to the same process. Doing that is very + * expensive, so check the estimated mapcount of the folio instead. */ - if ((flags & MPOL_MF_MOVE_ALL) || page_mapcount(head) == 1) { - if (!isolate_lru_page(head)) { - list_add_tail(&head->lru, pagelist); - mod_node_page_state(page_pgdat(head), - NR_ISOLATED_ANON + page_is_file_lru(head), - thp_nr_pages(head)); + if ((flags & MPOL_MF_MOVE_ALL) || folio_estimated_mapcount(folio) == 1) { + if (!folio_isolate_lru(folio)) { + list_add_tail(&folio->lru, foliolist); + node_stat_mod_folio(folio, + NR_ISOLATED_ANON + folio_is_file_lru(folio), + folio_nr_pages(folio)); } else if (flags & MPOL_MF_STRICT) { /* - * Non-movable page may reach here. And, there may be - * temporary off LRU pages or non-LRU movable pages. - * Treat them as unmovable pages since they can't be + * Non-movable folio may reach here. And, there may be + * temporary off LRU folios or non-LRU movable folios. + * Treat them as unmovable folios since they can't be * isolated, so they can't be moved at the moment. It * should return -EIO for this case too. */ @@ -1241,7 +1242,7 @@ static struct page *new_page(struct page *page, unsigned long start) } #else -static int migrate_page_add(struct page *page, struct list_head *pagelist, +static int migrate_folio_add(struct folio *folio, struct list_head *foliolist, unsigned long flags) { return -EIO;