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 4BB9FC54EAA for ; Mon, 30 Jan 2023 20:18:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 79CD66B0075; Mon, 30 Jan 2023 15:18:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7234D6B0078; Mon, 30 Jan 2023 15:18:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 59CC36B007B; Mon, 30 Jan 2023 15:18:47 -0500 (EST) 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 4CBA46B0075 for ; Mon, 30 Jan 2023 15:18:47 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 31D751C1756 for ; Mon, 30 Jan 2023 20:18:47 +0000 (UTC) X-FDA: 80412578694.30.AB7C072 Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by imf26.hostedemail.com (Postfix) with ESMTP id 5731514000E for ; Mon, 30 Jan 2023 20:18:45 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=nRv3hsG1; spf=pass (imf26.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.215.173 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=1675109925; 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=8Nhbc0AgbHO5zV6t6mmHVD0PFRFqh3MKW7JYpBDIsYU=; b=PjwTleeS/3H7gmIYMvx+r+3aOVkGGGiihSC+aEBPS/JDvZqAoiuMl3crDVDeA9MihhcNpR EwDFFBVtVdHgnsKWr3H903ijHy5MevUhIQvZ8iFFE9+ExhYMrc9TiYakbbSSNdWP7rkkic PU2iu8Chm/6Qo6Ysmth3HFmW/bLZ4r0= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=nRv3hsG1; spf=pass (imf26.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.215.173 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=1675109925; a=rsa-sha256; cv=none; b=oqNe4dU0N2CKjrJHrcV2AsjBzZe42FpCQUM6vKQrlI8z7u2crMvUZlZ112AXoneKNcvV28 LC7v9fOkbcz5/Il4f9os9/O4wkVYSIqQvYfAvojMDLdKpfs9WXCfwSWeIZPYSz94G+bnz+ 3syXD9MmlqHO/+fGBTK1DvJH1ruQQlk= Received: by mail-pg1-f173.google.com with SMTP id 7so3590258pgh.7 for ; Mon, 30 Jan 2023 12:18:45 -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=8Nhbc0AgbHO5zV6t6mmHVD0PFRFqh3MKW7JYpBDIsYU=; b=nRv3hsG1oZEx1tRfncyxMeskGayFbaD3uykQ6nIJM9rxPmYih1WHusV9Y2O1iLGRxS +kfnhlN/Ocx15MTYrjdSPbVJHaKFKNxwXWvD+YgY48bzQyMiPXUvHKCZQdPqbzdCoKMg 5ulCiSiG+QWzAZG+KStlmxZjgubTxggZSPapErWiXtKuMIN7+8pR+3kjuqKU28bFnhuK nTGunLTXpfPWao7Lye+vchwTPWeu8qIkkQCZ56/K0Xkv1yYFPw/XIEmsZEi8M10Epuii LyEJ09MbQEhwhoM+A4VuUjzoif+UoeAX4nLv7Ng62tII1BOOJ3YgAmg6am0gdFHw+RU+ PgmQ== 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=8Nhbc0AgbHO5zV6t6mmHVD0PFRFqh3MKW7JYpBDIsYU=; b=YA271o5qgn96Zkceb/7QqfEDApfAD8ZVeT8QaTavAw+8y+/zHlGoo4mhosCTlbKaGz Bh7nnEFvqlPexLiPqH1Sk0gTUE235AkuKKxGxc2eJurqdXnMyIIoPqyyt6anRX65jmS/ Ljknh9v0ZB6tbFPmpa2mZjS0JgON1RT8U+3x7Ed1wMurm+TPFHn1KoxO7L2EeWYTG1/6 zZpPoynYbVzcrLQkUdP2+EsJ8tVUsV1kNAfLr3oiFf9fZIeEsvy4tH6yC5/do1c2IE9f g73nvpexyvwXsvilJ4Zo1akSrUjdJ2iB3thPvqICZ0PFGdWakpNdmeJjb/TXOzUTaG0l hecw== X-Gm-Message-State: AO0yUKUKTj9bRyIPk9tRLlTMRbt6rHl2p7l3RPJlvgd9iobv8Y0rU+0C urURqbl89YBebYD1J0x9y7+mWZG9lTc= X-Google-Smtp-Source: AK7set+YqzG592x28e6kZFTk/siUxYxEWaKBctpynci92iHX5sfOS9hsl3+DQ6yEMS9HJtV4dcMSig== X-Received: by 2002:a05:6a00:212e:b0:592:5eab:3402 with SMTP id n14-20020a056a00212e00b005925eab3402mr10171232pfj.28.1675109924061; Mon, 30 Jan 2023 12:18:44 -0800 (PST) Received: from fedora.hsd1.ca.comcast.net ([2601:644:937f:7f20::a8cd]) by smtp.googlemail.com with ESMTPSA id g9-20020a056a000b8900b0058d9730ede0sm113262pfj.210.2023.01.30.12.18.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jan 2023 12:18:43 -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 v4 3/6] mm/mempolicy: convert queue_pages_pte_range() to queue_folios_pte_range() Date: Mon, 30 Jan 2023 12:18:30 -0800 Message-Id: <20230130201833.27042-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230130201833.27042-1-vishal.moola@gmail.com> References: <20230130201833.27042-1-vishal.moola@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: cormw7kbe17ecxe1bdx97io4nh1awp17 X-Rspam-User: X-Rspamd-Queue-Id: 5731514000E X-Rspamd-Server: rspam06 X-HE-Tag: 1675109925-760110 X-HE-Meta: U2FsdGVkX18EyTcJTvvRGGr94wTI87HI3aRYvtmSy1yNn3Uv++F1VyPyh0XL6x4x5z58THHI5zfaXFVCGM6wKt5Ss4QcQOPsBS13oNNkGe5wI6VUDTsfHA5MgoN6+u4/P2EZ1lHtKchsV3LVoO0sWklsiqXfLFFVKGE4+HGy68sLyWiNMt0+VQf1pE4V4FfgcMWU8ECKFPWbf6+T4Tb78PEwSiKGm5o71rlNX/Yw7Rr8CKRNBkbmiiMP5nPWZseRE7xHZbCYTf+TtsCE/EkUf/PwFCJdk+3GGBGRzcQKH35BFxTwYaAHtQ3r0nmOk4p196faOdXbc+ItB4urfKcbHyl7xJjBvd9o6ljbWHNCYeVQGxXLsdk+evs9TuFDu3N0JrXf0JmDmvNYGxqv9sNjqmtKZute+GtZ/UgIF90Ct45q6vIuCVmLAfk1zT3Vl0U0mUya738dQUB/oQk1VSKHZ60MPAfTZ3odJKNhx3HuJREmzM5FECD4J+Fwoposp7nK70OW86XlNpY+XcWLHi2wMTbo2wQCQOIOGoWqYRt2GaR69+15s6SM94saXHrv2/rgPCMUcxRExIh0kB1TGTP5P7zYIBF5JyuCIkQK5UECkxcf/kzTI1EfIyTnYm15Uak0Z2OfsKmjoX5VXF63Z4M4Ml7Mz5ScL5tmryxQIoX84MZvqgtjlNdtgLQ0IcFk2bJDWh5s+RVTTZY9aIbqYYQh853c9V+NRIAZmFH5yx7+2OvMqMVTJ5kVxH1SuKl/eYeHkd4eOpGD4OwWX4dccO2E/0vbGr8cSXP5vZkhq/FVeN6VJkUMTEmv8WqviSpAX91wB0aX4N2/O+Mv5bNal9ZJy5wXvk+WEIRQIJ83q8vdFazx/3MpfNM35V+CgJ/QYhkSHdfx7ZXqE3knzzCYiwxFUq80usG1YY41nxIvVpxD6BPFweEg9N4KbLu+/2r4EylfRWx0r7Z4ySsEcF0xvQn 1O4HE9ix SPGu4/1mJBbgqmVRNB2kIqrgLKyiw+RNEYyUIRoTkOOgxCJqRn8RdLfQ9NOz4MqAjEpnYPURh0bxN8nnCGKhPLUYDyEEQSDQXRheWxh7LqCBKvfxEjXoxqxEWWSfRs0jHORZcTqOinEGVo5ayfs0uG8wzIcW59IRCfuRgq/hCACHJroezBUXyJtzOvk+4d6rg6GowAlkj4znqO59gfeLPvmMDYX9KcB6sMunO4yIWMheTCI75WFci4t30yDMCM5ecZmRrRssyZAHVh8gM55LzXwli3H/CBPKGFVoCiYItARhN32ZUaCcjpbgUfmKxT2qp0+U635LG+jtPFpMmRd7Ttk/Brt5w8ccqY7UhxoFFvkMnKELWrd2J/N+Ywf6LOY+/Y/w199U1Pdq51eLKhENzIH8IIEbfOaUCDpcsnI9IuxhHfDgABfZGPaH9TYE+cIpbnVBlnaMNRayU4xsRzEFV6p4aUD8TEq5bNJCJKDCDjRO/eIC//WQ6MDBBjMzfXrYyFB0q8oWDnKgIq10sbqKaoE5fQ4afPVD0BKMG8hTx3ijMQWDO7BCmaf5+TY2telwamnfzVNd9z8AliWTnRLM0D+IYII9c7vY9uZGac+g9dbMk5lUGejvHJMSvCCja0A1eXtk/3ybujMtbpKlxX00BEMVtENJ694Ntk3sLsDC87Iopf4o= 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 fc754dbcbbcd..b0805bb87655 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; @@ -704,7 +704,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, }; -- 2.38.1