From patchwork Tue Jun 13 20:18:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13279172 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 B317CEB64D7 for ; Tue, 13 Jun 2023 20:18:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DD3306B0078; Tue, 13 Jun 2023 16:18:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D34796B007B; Tue, 13 Jun 2023 16:18:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C49718E0002; Tue, 13 Jun 2023 16:18:35 -0400 (EDT) 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 B869D6B0078 for ; Tue, 13 Jun 2023 16:18:35 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 8979CAFBFC for ; Tue, 13 Jun 2023 20:18:35 +0000 (UTC) X-FDA: 80898837390.30.211063C Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by imf01.hostedemail.com (Postfix) with ESMTP id A9E6840019 for ; Tue, 13 Jun 2023 20:18:33 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=NnMuaE5f; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.179 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=1686687513; 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=j2ucc+f0rqtwOxEosVf02SFuSdHsKj1rPS4dOdWYv3M=; b=VdjQ3bF0gWD5bdavxYlaZng89UNufZZf3f+awz0rDBVJSB4nSSFppDJSOAnWDqkKEYL40+ HnqfROlPcqL2ZiQ/upVzFGF61HpKLUCZf9/WkP/47fGWQGM78yr0DsZwB+Ez/OMtqueHqu +/twswr2PrfglcChoJHmlKfQ3uMSeys= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=NnMuaE5f; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.179 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686687513; a=rsa-sha256; cv=none; b=USTAR1F7AueYRSoYOeh59wONGcTB+MV4vjXj8I/aU4LXk7ZMuvxSFeD8dl5cE+SmmGo6WF VA/pMhp0o6VuT8MIgH7+lP6YdlXhSJyd1RUwq3/OatYnrCF6RrPsH5HQyEntBm8qi7aVkn NEx+dgT5D04tgULowwCQuB32+t1gsuA= Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-56d0d574964so35687507b3.0 for ; Tue, 13 Jun 2023 13:18:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686687513; x=1689279513; 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=j2ucc+f0rqtwOxEosVf02SFuSdHsKj1rPS4dOdWYv3M=; b=NnMuaE5fk1vnz0fpTjn9UjrZgJHsXMRl+F9w4UFv+tzg5DBYIlhgiytt2snvQ9zSe7 gVKwKEZKKxzSBrmp0fKKFerObVTJVP6JNF5MBYHkHNmOlwnYVV8DyqjmhkTNlKzmNpbs pDD7gCQVreZak+djhqexShCA06em1AFUDv5Y9/+1SgxJYtl5YPM6NiWsRxJG+6xI9Etq KEH+EPITLv3sh/bc+uNUz3LHDQcDdC1dboyu86Fxj8dHSj0tvP9++JRCGcc29XEzPgX9 WPQeLh1tPySTTLmcvLYz3Q242bF+SGdNkd9csYATCx8q/D9Q9DmnHHKYh/besnCgghXg FHnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686687513; x=1689279513; 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=j2ucc+f0rqtwOxEosVf02SFuSdHsKj1rPS4dOdWYv3M=; b=RuYYSiNHbBba9SA4apMJwgh0iffrwIpgaK2n6pas360OZ+j1mf+6KzcV8IO6sepAuP 1lLovVFZ3yA6+eexqohIS/zKQf92vL5I1Dbrljkde+mkXE2fTz4laF4DNSyLcXxqfWWb lEaG3RMTe4hIm7Ip/6iAEDQhrNJTzXYSnLOM3C+LDS902t0Z/OOmPKMM0SOy8kfHtd5N bUW1OcgEYmGy0Ujt11RQX0z5fDgLHZt0e44fqYqJjmwKgp1luwCgVtBDRb6LP/ndc0OF mLTwci7fvOZXPCW08DVoH3myafzRK4LMGRANLm2TvzJKHlB9rhGV+oElFGMZZXbN34j4 80hw== X-Gm-Message-State: AC+VfDz1kbzH+W+VLByYzRVdjCBWdfe/H/Rw0qVCM4PBrwQjvvsnF3LF uatHmOQpfvQvA5w9WVTY3GI= X-Google-Smtp-Source: ACHHUZ7BtSiOTdO259Gu+Xg44N7I234cO4JeJar8mQalYc93mB5jKsBmGo1fJk1nVX5c4Ua6Ry7GwQ== X-Received: by 2002:a81:b406:0:b0:56d:495d:d3f6 with SMTP id h6-20020a81b406000000b0056d495dd3f6mr2888725ywi.29.1686687512728; Tue, 13 Jun 2023 13:18:32 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::e]) by smtp.googlemail.com with ESMTPSA id b72-20020a0dd94b000000b0056cea0480c6sm2509985ywe.2.2023.06.13.13.18.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 13:18:32 -0700 (PDT) From: "Vishal Moola (Oracle)" To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH 1/5] mmzone: Introduce folio_is_zone_movable() Date: Tue, 13 Jun 2023 13:18:23 -0700 Message-Id: <20230613201827.9441-2-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230613201827.9441-1-vishal.moola@gmail.com> References: <20230613201827.9441-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: btwoko75n8trisonw8h9kcgbrm9im1o7 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: A9E6840019 X-HE-Tag: 1686687513-760735 X-HE-Meta: U2FsdGVkX1/juQJtRGgfU4jSchAbfGxaSJWggN2NG9elv6MNtpvE9VFk+hGsG4SJaz6kTaAcz5wqhyZ9S5l5QmjHfb++2iJv+lxgnqkb17IdkFjZw+/dAo4uGaojCd5SQ8mTB3lQ83rEO+SpJ/H2xVDAGH3j1dvSfYurJyXmJtgfv+hb/pKkcI5AxoyQJQEBpYipaGA//Cd0n/NqxyM2XP8ra8N3ENGrgvWCBXBkyUExQW+VI/zpvARU9Pd6P/CXtnsqhAQ+lSDwW0sJSuefLeuflyhhEgaRZG8iROVmDPMiTURqYLojjAYgaVAtRFEASfH4ee/gQobXqekEX9UzsDyKfCulEQu4E8DW9ECZuO8z9XKD0XXxJApmYJpKrw3x7C05ltlsC6OIeGRyytEwBz1no5AOPazh5l/NzoSsIyP2QbC0UbuVjpalWUrh+1IBK9CsH/IHU1qwIgPwz1Yv42ltwm54Xhz8Qvl7Wa4lV2HLOvnVkW8vFcNGxHKiRY1RHayo9M9/i753rGX9603NH7hgfh3hLFT01ogYwZsFnyRRLkorGqpfT/MCJG0Ckx++kpYcM7YZTsMyFh4EG1Q+wenF7ahb6a2S4W9BRn6sYhp7ayH55smTeHCXydHLnL7t57RgRQXuCIW8vkdGEP+0xSVv5FxQ/X03gQftOZ0ljM9cd6ITF3rGq7+or/bWK5zzNcNgHP9ZajS9O/K4mXL8aIqr2A5jSzAl7zK6CnUlS5XEfdFWdwVZwwQg+UlQuXSmoyHt+8Ja3QjNyp52usdClOZJcC01GKdQOemffFoUc19YVriuKBukqZoA+Ry03niuVULPKyeM8XdtAKMjvkREmjeScu5B0Uwq0rQ/Shj+Xi1OK+Fy+7QBGvl6o79OhHqZaoKsnzUxV2eh1ifvA+cIBa5SU+myMkJinIBjvf/FGETsnk2hJVvtTLD0Us8mlstT3lPQwq3RWng4QlMfDNX uLC6jG87 TW8I9yL61Na7nT+nbaGI4BeELycdto/pgoD2IbWWykQkA0XUEBCuWG4gHf0b33RWtrWCBPp38Xw7PJ8DY5fztN1WeD10rEXqAdo12YyeNC+bVgFHc7pmOHx3RF3Q3UCw2UURhsCyZQNmFF3HE+JTFjAaccGiGIxUx+aN2IqeYEVcT0kbo7QgGfmVXfayLmQBvDMpzwrDhcB+N3omUX3XRQ/88khr3bQR+NmQGxr/FIGhl1z9sHu9W4WAz5vy3l2b26K87YOmsupyOt9XszdTHeytxotNkBWytxNePgsYEaoD751QtdqAYziICs+c8irMlBNzK3kMbYSg2uyEmKH0lraFfVRf1aSR+Y4+ja5izLKtwnH4DdfnvY2QfqNZ+mtwCDKy3JFAxjGBVwqbnhGm/zdOs8aQM1US3ur+rHPogikGfL/0DqZJIhIrWwh7QVrveolhJe+4FUBG8qwOlrcl+8v4MGPZghFBC0uHDs4OcC8+3j3FehnjFNUhUZGKjvJD/EkE3LboJrdk/PP/qmjt3rn+jwm5yOGADK8Zs X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Introduce folio_is_zone_movable() to act as a folio equivalent for is_zone_movable_page(). This is to assist in later folio conversions. Signed-off-by: Vishal Moola (Oracle) Reviewed-by: Matthew Wilcox (Oracle) --- include/linux/mmzone.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index a4889c9d4055..744bf32e48a8 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -1116,6 +1116,11 @@ static inline bool is_zone_movable_page(const struct page *page) { return page_zonenum(page) == ZONE_MOVABLE; } + +static inline bool folio_is_zone_movable(const struct folio *folio) +{ + return folio_zonenum(folio) == ZONE_MOVABLE; +} #endif /* From patchwork Tue Jun 13 20:18:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13279173 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 897D2EB64DB for ; Tue, 13 Jun 2023 20:18:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 60B896B007B; Tue, 13 Jun 2023 16:18:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5BA556B007E; Tue, 13 Jun 2023 16:18:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 434418E0002; Tue, 13 Jun 2023 16:18:37 -0400 (EDT) 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 313456B007B for ; Tue, 13 Jun 2023 16:18:37 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 11D5B1C8229 for ; Tue, 13 Jun 2023 20:18:37 +0000 (UTC) X-FDA: 80898837474.15.B1E21AC Received: from mail-ot1-f44.google.com (mail-ot1-f44.google.com [209.85.210.44]) by imf09.hostedemail.com (Postfix) with ESMTP id 2529E140006 for ; Tue, 13 Jun 2023 20:18:34 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=K51pHP9w; spf=pass (imf09.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.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=1686687515; 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=U6KHUky1DpkusNGgmBNXNnpcQ1dWjAR0pkWJnKeXby4=; b=xnAZS2WKbCP8ACWa9mxj2PKnaVAB9WsHSFPJib7Y+xIi/QGGDlw0t5IKI9ndgvplYNw14c nI/n+JoUIwuOyGuiTXok7GzYgYYLkLTwhTDkpyBIEFGju023eZoa6NSNxQmdDyhMTPYlxV gYyFOP8IHHbwa9Uf5J5WA+Mb+7rBrKU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686687515; a=rsa-sha256; cv=none; b=x3Z+DDkYzmdP5hjiETDN8l2qfdCLlbOnQCqwIlj3PNLCWK5MFLr2lvDejPl+xyF/K7gEHz zroejhK8kNnb1Ry2prNbjWp3anJ6wRXJ1LEIp4ccJaPN1dki2yloMUqGGj3D6ni2QOHj3P LSwWRzpBf3Rf3glYjWeb5Mcf0JAyqp0= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=K51pHP9w; spf=pass (imf09.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.44 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ot1-f44.google.com with SMTP id 46e09a7af769-6b2d702bd5aso2449018a34.0 for ; Tue, 13 Jun 2023 13:18:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686687514; x=1689279514; 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=U6KHUky1DpkusNGgmBNXNnpcQ1dWjAR0pkWJnKeXby4=; b=K51pHP9wViB3ZadMEXzWsfIDKin1lsEdjUYjh4DAwZ9sRHvdPjCCPf9ICl06aw5cUM QCRpWcyMMeWIyke9qqZO0B0qjy/mN6tyRAheWiPYKE6boBZfSeHb/3glWNTAVPHzvltu anwJ3GiEbzQXjjlDk2g9eGm7zSJB9xg+Ehl/JjSyVxyt9Y93aNsoDxx7HWS9aKOTwE0s 7XtO9aZwf6Lem17hnmOg8y48qHKRxU5qXgoihMMzOSYzowYHUNkGTr0uuTOGdw4cTmks K7jkvCu8YCPUkTvNSDe4dX/b+Fbp7pNGPckvp3MXIBC/7nzzhr6wE2Hs9UBoSHWI0pon 8/6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686687514; x=1689279514; 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=U6KHUky1DpkusNGgmBNXNnpcQ1dWjAR0pkWJnKeXby4=; b=Qe/3TQZVTAL7HbE3GLjprVCjyza1oWfqVv+hGfoKriZDJ3cyqgpGsEAzu4WzmCGsxA LtEzUX8+PFOlQxojwm2lbX25UbcPGGF+uFY8EsBxlwRtZvB8Z7t1+6v7un3cWuOcOg1o NKVtcZbqZHuozmAbQn8kx+k+SCPVuV4MXS7nogCo73MF2eHhOpkSMCAbtyiwwP7ps8Jm Qlb6NuZKxs/68yyEviT0srsTzSGGz58GIdji6j6y/bWvM0JuHVcB1IyJNqWBYpwkafkW sazCa0jgYu6TF3hOo2cDnBPAKJU4VOFrriIR7GB1tNG6vkp15v3XIrQWgF0MpV2w+4+2 Lliw== X-Gm-Message-State: AC+VfDycS3uX1yiQxLxleo6SMtGwhX2NV71VsCxAcXa2+x35CtiURlqE 0Pa0fRq/adP6Vsewn+I35Gg= X-Google-Smtp-Source: ACHHUZ4eH3naw2Bb7NNIPO+T6DjhoydZDXuiQtS5uS/ty3oL192spHUAvHw0WLQKL53n1rGK/9di5Q== X-Received: by 2002:a05:6358:e813:b0:12b:dce7:f428 with SMTP id gi19-20020a056358e81300b0012bdce7f428mr5201292rwb.1.1686687513897; Tue, 13 Jun 2023 13:18:33 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::e]) by smtp.googlemail.com with ESMTPSA id b72-20020a0dd94b000000b0056cea0480c6sm2509985ywe.2.2023.06.13.13.18.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 13:18:33 -0700 (PDT) From: "Vishal Moola (Oracle)" To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH 2/5] mmzone: Introduce folio_migratetype() Date: Tue, 13 Jun 2023 13:18:24 -0700 Message-Id: <20230613201827.9441-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230613201827.9441-1-vishal.moola@gmail.com> References: <20230613201827.9441-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 2529E140006 X-Rspam-User: X-Stat-Signature: mhr8hfzfwn8ohkb96wdfxxybcmbthjdg X-Rspamd-Server: rspam03 X-HE-Tag: 1686687514-326341 X-HE-Meta: U2FsdGVkX1/p2FVmpJ7+SgyWwXI0IElqaQgyAOIZgdVM03k8tKSvWS78JZUKICtVOs7Wyff2ARqNYEuPjGAbn3WL3f+kfNDSTddG2lvZvuu7bMIdMcE/gKDm6Da08UMgjt87SZf1/arTbzl0uZT4aBGOUkstXGa+rUS5o/oXuMf52aMwqwJ873B22Cd+Rykt8Nqc2ecND4WLQKPAfnsJ95wFHr289BaASM43HZ7X4lg6IaUTg5GqKsZ1CR4sSUcv6j9GsQn8c0lznLf8psMF4S/zZvHOADdktjLb6z5HzK3q2FGPveMV6p92CXGiCo47RjyA/kxbgpuTZXcnHTrlJGP8BrHyhHkeWCxoNwwTsUNp3DKkZuhmhI2wII8tpj1loB0tjKEu1KAYfZJUyRO/AfbvtxCox9h+bNLNmjKi1yBJb+K0LPjcic8JhJJegkdKL/6DiFYO2vrYAMP3kE4Vyu2XHHT7fCuYqRp+z488uHI6ebX/lB64yUkF9XSw7ZTx+Y7TlHDvN9fodEs1kAYbwKodwJRCBto8m/gfsqSXXkiZQm7+nli1X+mUgGViVnWYLy5/0tery6G+kI7rkht426QEHfF+COnoXpefi6g6xtVcyyPB3WWXVKdeBMZnWI1mAVUg/Rg+4Ff09n0tw2y6EuoW+YsBhZt2ESCutvmwEq8YHaAguYhwAXutQmvEqnqszT49PFHVQobdDgPWn6lY8zp6ctebNRtqEg0TTzCD1n0NxgbcN4PQajHGD/Fum2n6fkL63tDsLrbaNwhewoj8HVVQApqUNiETgQzRwNNOH8m89uD5YA1nWEQLA+W+qgxaPMlZBpXMHGzfieHjA/SvJhKTb6+pFez1FklW25KwuLCafaoaNwkpRzwO593AkavZQOHJfpRDWK3AbJRRMRVFt3XuJTpSo5qBlsMIV+hTXGnpVJ7NJEe1ezOzKILToAoFnWh0vQfBlOxoL3cJjLI S1Zfl3DS boI7gut5Rod1p4mqqg/o0FMUQ1Tg1lLqCMl4bfS60o3c5AHXlAGIhHwqxn2pVIB5Kok/48P7GsTRO3PdAUaSw3subLyB7gS0ZqVNf9+rp3a5cwrpTRga/UWc1VYvxtrVBL576l/Ue2c0hp6ayxbRkeTY31DCeHSMwCKKnQlr0riMuCw9aXkCSz6qLGsQGQRmbFacdciuP9fogfgPw1Ul7UmRCM0BvY910Tzwk3SlhI/1xf2qdZX5piht2ThTT+Xhfy9MENIPSZG/OLz+5Ta7vfuTKfRiTXDUV+pQywAaFmzCaw9TJm5L6Oj4Umgh41D0aR+kIIUTpiiHyc6Rl3sm+3U0Zq1kvcyh2HbH0ILUfD7IQeeue/dfndInV6EuiSNI54mymaIHJmmxOlqUlOK9+Dop/A6jsrVFOLnDpJl+4RwKgNcJArHeZ0acoFwMK/5xWO1Rd0SarBT455WvL3xFlrqfJ0pO6Y9gqjD9gfYkOV0Qshb78PJO3Hlas0te2OhK8rV8qbkbpx9uEo4fHoNwHLOGt//jvNhz1lPaefLRTHzRO+jBRprRV37QUUtC2c/rV7ajS X-Bogosity: Ham, tests=bogofilter, spamicity=0.000507, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Introduce folio_migratetype() as a folio equivalent for get_pageblock_migratetype(). This function intends to return the migratetype the folio is located in, hence the name choice. Signed-off-by: Vishal Moola (Oracle) Reviewed-by: Matthew Wilcox (Oracle) --- include/linux/mmzone.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 744bf32e48a8..b58c76e68ac7 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -105,6 +105,9 @@ extern int page_group_by_mobility_disabled; #define get_pageblock_migratetype(page) \ get_pfnblock_flags_mask(page, page_to_pfn(page), MIGRATETYPE_MASK) +#define folio_migratetype(folio) \ + get_pfnblock_flags_mask(&folio->page, folio_pfn(folio), \ + MIGRATETYPE_MASK) struct free_area { struct list_head free_list[MIGRATE_TYPES]; unsigned long nr_free; From patchwork Tue Jun 13 20:18:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13279174 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 98CD4EB64D8 for ; Tue, 13 Jun 2023 20:18:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4F9006B007E; Tue, 13 Jun 2023 16:18:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 45B868E0002; Tue, 13 Jun 2023 16:18:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2ADAC6B0081; Tue, 13 Jun 2023 16:18:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 1ABCB6B007E for ; Tue, 13 Jun 2023 16:18:38 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id EFCC11405F3 for ; Tue, 13 Jun 2023 20:18:37 +0000 (UTC) X-FDA: 80898837474.06.677EECB Received: from mail-ot1-f52.google.com (mail-ot1-f52.google.com [209.85.210.52]) by imf05.hostedemail.com (Postfix) with ESMTP id 1AC84100015 for ; Tue, 13 Jun 2023 20:18:35 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=mq+xPQwa; spf=pass (imf05.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.52 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=1686687516; a=rsa-sha256; cv=none; b=K+hVy+EhNNxKg6cTEtsUIwP45vDXbDKgrRSt6RUoCxlKkP6jZ4apX4W6hZMDCriUkXChfa DIAW8Z+OvwhQuKDIDlmk3CnoJEZEwM6bTRu31Ij6bZl+3KrHuA10tVeZ0QXrJRJIrWTv52 oxrqKFw/pZ5/+SFaxEhw/MBTg80rJGc= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=mq+xPQwa; spf=pass (imf05.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.52 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=1686687516; 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=bo5mmyxvl0eErY9pWIIhlP2v8r+RpR3JWxAmafCgaaA=; b=K9ajAd6OhkEhl0ZE1H1do++aElHNiP+vMJwVyIcVCTagH/nmnXXg8PoPB4VSjc2EMOa9iX 82M5E/iMzCDr8Pwm7HPd7e7qPySA/UNDVEiVmw9FApVZOxk6ht/U3evniVAH0Z2giAS3Qx MA2Xf2VcIedf1v0LU/l8QEX9R6B2O7g= Received: by mail-ot1-f52.google.com with SMTP id 46e09a7af769-6b2d356530eso2778647a34.0 for ; Tue, 13 Jun 2023 13:18:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686687515; x=1689279515; 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=bo5mmyxvl0eErY9pWIIhlP2v8r+RpR3JWxAmafCgaaA=; b=mq+xPQwaOKwXksJ8eIOgdN3s569QJ0hElDZw9QHnYu3dnpIe0Od4y3M6EvPuXCbYcW 0PCN59K8kIoHsrBj9GKTgCoqWqxEo1BJpDu82hVYNvrIXokkvOlwvl6qRQC8sus+P6g/ ezx6HULqCegZHyQwScdJYf7E+SlqcD6XLy/1xMzHxMinGkOLKi01dQe2/NKQO/hJPRPj oH1arSzrLT6pfQ73f4Ay/jE7vGARCFLtpJMd3sSd8TNqL4owBma2eW+iaryCuuvtKVib GFPFMn5bRjH7YA5iJyJT7x6df7yBL/bNziEY1Jv8CK+8aC+6sK6L5ZgtrbGx/ClhN8vr 6Q5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686687515; x=1689279515; 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=bo5mmyxvl0eErY9pWIIhlP2v8r+RpR3JWxAmafCgaaA=; b=OZYrvGUd4PYrX4Qw3nN5HRKmOYr0rQKY3UxYXIZ7pQkIzgq/g/ap5fDlrCqzqdeVMu lShvnJv2DPaniQ+mEKWjJ3h8v0bPUsOHSj+KSlHAMWeqb1aDx2HLC7NchyeBM+Nlca+K B/7xxRjx4gRmVvi2CvfEkrwaIPtLhXp43puvxN3lox3GuYOkFPyHRuR9Nr1kw00UJ+FD 6jlJFzI/4pa1RhDiesBMyqFlGbP4t53tFnOc9aRCPeeRPTxOE3/xYLRtinRESNSnocPs zgmfjkeqatYImlDnOXn1rWjWY73OBMwUg3lgCrzkYI8qN617KpYsd6gge+BaIXdN9vMs J2hw== X-Gm-Message-State: AC+VfDzsw12p5B81+ar8iO8R3odAC2/aoNG24n9mZEwJxwXYftmX0hKV pqD8qRM/aNKcVTd8MiSNtJE= X-Google-Smtp-Source: ACHHUZ4A3AFdIj6lVST9fewNM+pv7wUenff8RHRSL727C8ic8PZIP1u1DM/DgsJ4NorS0Iqg0KUB7g== X-Received: by 2002:a05:6358:9dac:b0:129:cf11:6b2a with SMTP id d44-20020a0563589dac00b00129cf116b2amr3722960rwo.3.1686687514875; Tue, 13 Jun 2023 13:18:34 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::e]) by smtp.googlemail.com with ESMTPSA id b72-20020a0dd94b000000b0056cea0480c6sm2509985ywe.2.2023.06.13.13.18.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 13:18:34 -0700 (PDT) From: "Vishal Moola (Oracle)" To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH 3/5] mm/gup_test.c: Convert verify_dma_pinned() to us folios Date: Tue, 13 Jun 2023 13:18:25 -0700 Message-Id: <20230613201827.9441-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230613201827.9441-1-vishal.moola@gmail.com> References: <20230613201827.9441-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 1AC84100015 X-Stat-Signature: npg3fzwf6bcp9upmz85zzozr8suhso56 X-Rspam-User: X-HE-Tag: 1686687515-754755 X-HE-Meta: U2FsdGVkX1+bUKvFnqH1iwMcBFJLcRsd/as+oMyyMk4NsAkcz0raBgN0Z2cBR6HP0dOoVp75tNOpmNbhHxTt8tABOkpQbCfqrm+/i6LC5QUIg9YgIqKaGLQSkQ3S14VcKDac6/8z/1UuYQvsFXk+qiynZP25NaYUjWT/FWwBNQTfl2TjrdskzKp0YS3XnDgNOta/vlrgTRQIpXQKkROKF2Pji2nI4FHiihlvyhBKjj6pWbwq39k5r+G9E8dAQLigVgQufhBVptc8IncARxc/FaaWBOwcuG7kp3tFErCn1/5GveNG2Ubl1DTywh0tPTGA40zCd4ZTYHxLCPwj8PED6g4RnSyy3tmGrRhLrvebaqnDpa7hUSWHYfaMJkjT5QmU09Hl3CUqwh9xlB8/y0cjTcHGgiKAsOd1Wx46Xr3UXdIo2x9qy3OChGZBVCLnoFFwKQeZKBQFCWYt05+U90wVl/RwyWT9HJplhoAAPcdI1atLN0hPHv8jWq170mzZSLi2T/v1MDYpjk2WsSG2WPn/26lIObK8DYbKewrVz2fanoA/TwhjkByd9GycQZhN5nXHnlBOVaRZewHbXWkGUvXQAYnyeUtPKqRzo7+WQtM1mQ1FyrGoCLv10XsIU8p1TdDqkj353eBRk7BrJJNEIvFzoH4qtOiIfOvtAp/vPVtc7joXOoWTQUgqrKb+m+e1f3IQUmJcq+c4RaIRSW89iMrvRePKsZGQ1T1uYl/UELllEej4D9mswhGJmwvTUXAdBcinNJVfC666OEj57D6jefL3p6UCYh7bAgoZtFQpec5JI2xw5EfDc6LTfIevvjuXydNvm7nlPTPQAqyViud+267g/VRO34RBn65e/xWnCPHsMq2o23xXTDL1Up17R7zn9EvtmFYmdkFTz8bfmqWNLkXb5QTWfIJKbSq8cNKMM7a5TfhsvbhkAMStOdOQNmg8jCbEabq8/1QU5ILMSqKDxle 5a/isRnv 6L8TDv9GjRa26rby3FuKP9hFfvsOe1bMhUzQlUsZ1/YvvuoaTR9mAmOzjFxBSQGzlcgcYBXjX5giOlJpi/yPP4HONjAXj8tyAu1AMJgOnFb484UDsFFfDfuF7zedBY1Til1HINugyFqHKoWqJQ8fgAjv5VNq1f+qmdDc066Id5JtB2KMwGLf6gAgvc0K9INcBx1Y6srIEdpR3uamI1MFAUE5uKd7lBt7qc0fojG474J0WuLd50wGKs9n7eFB7HRANBYlPLDD4xx1/TY79P8bIcGwqTjPYNsoGz9TGdPEq3xL5YDvMvp1e/xR0ewyxMQYpYakHNHDOHKLRHivYpa1QNiKQwQfY2P72o6MBuNxwBtOEL9GDXkWHUuozhy1aiDM37Y+hmig7xSMEN1yr8d73E+rzmupWX4J7Trwp4H/tYFZAmEV3yO08c4Oo17BRasN09PJuxiklPB41wlkEGhP6vZzfMWwNZsr7VFJ4MASrshMWeFwqp4QPtPeE+ErALR1IXkrzNHy2hqXrpvwoQkutOnANxvkgkWv+XTsF1ZVUdj78fa5VWgbdTYvP6g4Kli1kDR4NHVcfP+gM0VZsGaWi//njWgm2axutFcelrC20n+uohZU= 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: verify_dma_pinned() checks that pages are dma-pinned. We can convert this to use folios. Signed-off-by: Vishal Moola (Oracle) Reviewed-by: Matthew Wilcox (Oracle) Reviewed-by: Lorenzo Stoakes --- mm/gup_test.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mm/gup_test.c b/mm/gup_test.c index 8ae7307a1bb6..860b093b4b3e 100644 --- a/mm/gup_test.c +++ b/mm/gup_test.c @@ -40,24 +40,25 @@ static void verify_dma_pinned(unsigned int cmd, struct page **pages, unsigned long nr_pages) { unsigned long i; - struct page *page; + struct folio *folio; switch (cmd) { case PIN_FAST_BENCHMARK: case PIN_BASIC_TEST: case PIN_LONGTERM_BENCHMARK: for (i = 0; i < nr_pages; i++) { - page = pages[i]; - if (WARN(!page_maybe_dma_pinned(page), + folio = page_folio(pages[i]); + + if (WARN(!folio_maybe_dma_pinned(folio), "pages[%lu] is NOT dma-pinned\n", i)) { - dump_page(page, "gup_test failure"); + dump_page(&folio->page, "gup_test failure"); break; } else if (cmd == PIN_LONGTERM_BENCHMARK && - WARN(!is_longterm_pinnable_page(page), + WARN(!folio_is_longterm_pinnable(folio), "pages[%lu] is NOT pinnable but pinned\n", i)) { - dump_page(page, "gup_test failure"); + dump_page(&folio->page, "gup_test failure"); break; } } From patchwork Tue Jun 13 20:18:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13279175 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 33649EB64DA for ; Tue, 13 Jun 2023 20:18:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7437F6B0080; Tue, 13 Jun 2023 16:18:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6CC556B0081; Tue, 13 Jun 2023 16:18:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 51F0B6B0082; Tue, 13 Jun 2023 16:18:39 -0400 (EDT) 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 44CAC6B0080 for ; Tue, 13 Jun 2023 16:18:39 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 12D3AA05E2 for ; Tue, 13 Jun 2023 20:18:39 +0000 (UTC) X-FDA: 80898837558.28.7CD6E58 Received: from mail-ua1-f41.google.com (mail-ua1-f41.google.com [209.85.222.41]) by imf15.hostedemail.com (Postfix) with ESMTP id 16906A0017 for ; Tue, 13 Jun 2023 20:18:36 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=MAhhKx2u; spf=pass (imf15.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.222.41 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=1686687517; a=rsa-sha256; cv=none; b=XLQ7UtT4M4IZLmmwABt6XUZLBTad0m4Tkknn5Dixrm7YyDiaPmE8+pf+VRYzX716k2wSrk yjzqpqxESqbrDMdpbJDX/IaH0Ai0REej7ddXoT/Xw5+1d6M58KiD5hYjTuomUAG0J1UfDt 3krbAe5gGgYJ7nVq697vwL0DkD4AYiU= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=MAhhKx2u; spf=pass (imf15.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.222.41 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=1686687517; 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=amkbPFI+P7Pfwa/Tib2X8h1et/cH9zCscfc2pych/Qg=; b=kjOYnc5NqqqAPwdx8NzCJ2tW1nC0QbTjt527u5vTAzat5GrHazWPSlHAaFkPlQLeqb9L9n 2EwxcXVqdsWcH2EWp8mjb7Es0N9YjNKrZQ7pZN2LSCu6CeTiRed2qhJncLCroB4Q3Vuewa aVLxNfWpVp8ep6PBaw7wHYpTt1E2YeA= Received: by mail-ua1-f41.google.com with SMTP id a1e0cc1a2514c-783f88ce557so566880241.3 for ; Tue, 13 Jun 2023 13:18:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686687516; x=1689279516; 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=amkbPFI+P7Pfwa/Tib2X8h1et/cH9zCscfc2pych/Qg=; b=MAhhKx2uS7CtxHxYidopGlbP50mkEqVOHFIPJKoj5ZOU1awqmCAZySq2DuJ4PVyvwg NDzdpU61axPHkbgwy/Y2ElyR0ktqDf33BW1AKFl/xU7NB5LA46T0GJmHmkvZXBDKcPcl kYmptMQ0XgUVBW119yk0+pHJJeUdN2rQvdUbCPLskahLtJ1NDrGQk09ZYYQROPT6i5kH XjdwUoPGnkS5/pQJyWEzn6WBdetGabgHMrCzlwO0Ziqalg0ukpQbM8MFXCzLE5iPi596 3rcpmemEQcFBBqrfIWtEwnuM0nbjB8OD5Xlal27Ey2acFTT8jaHFTkIo/BYOwcK8NDny wVjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686687516; x=1689279516; 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=amkbPFI+P7Pfwa/Tib2X8h1et/cH9zCscfc2pych/Qg=; b=R8GZLeExTkhW1b7307r4axKNZZ5enK6F0LvbCq412gnehg+frqnXDUD4B5f9bVEGwW 4ixsQFP6f6A1XoqlKI4ewqn5uUSaya0meOQnC76eW9qI5JzEXa2QLDEL/bNBwIpGA0FQ CgJ8D5qAL2js9uy4x6Lg3yEdA1AtF6LpG+oW0AvVjaL07VeXD71YFMAaBvaATmA2qn9p fziGKZhmglWzoCkruk9sjqGlYtzOpQwTO31Q+A5lI2l/RHwaxAa2mO6GNxxa+mHpHyHE nJ3V8RPju3x75fp655ZM/OiUGV4MS9ayFNx05uprJcVoopBR54f1Tn2tMvN0+pd/v5Wy XmVw== X-Gm-Message-State: AC+VfDyDpiIuPJ7ZS3rK1U6l7I3lmo3l2wimyEf3SPGFkbsfdB8Myz0J faf8IC8q522bBVrrWQbbjBbl8TaArJkphg== X-Google-Smtp-Source: ACHHUZ4LLhgbvxObZNDOLYg9OIjMPobYKsI88dGjSOVbRgCeIyTAYxBHlyg7Q/xF8YsEkkdXEeS+eA== X-Received: by 2002:a1f:5f4d:0:b0:46e:70f8:c8ef with SMTP id t74-20020a1f5f4d000000b0046e70f8c8efmr1653501vkb.13.1686687516019; Tue, 13 Jun 2023 13:18:36 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::e]) by smtp.googlemail.com with ESMTPSA id b72-20020a0dd94b000000b0056cea0480c6sm2509985ywe.2.2023.06.13.13.18.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 13:18:35 -0700 (PDT) From: "Vishal Moola (Oracle)" To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH 4/5] mm/gup.c: Reorganize try_get_folio() Date: Tue, 13 Jun 2023 13:18:26 -0700 Message-Id: <20230613201827.9441-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230613201827.9441-1-vishal.moola@gmail.com> References: <20230613201827.9441-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 16906A0017 X-Stat-Signature: xsz4da965fpkxzt3ub3x91hppdw35gbe X-Rspam-User: X-HE-Tag: 1686687516-912911 X-HE-Meta: U2FsdGVkX18n+YRvIGjkD17heGVSE04N60/BJL+Fm2MHp5gbK0WrjRcyKdQRzisXrQYWsoFkAcjzKvSdoSxS4TvNx0xKlgvrHiCYiaZFD/KD0O4Xx2C7XsibJpdaUuAf3oM6bvIst0r0o27svXMqtQgFM7aM7mh8fQ3e2jMXpvtrFnTQF9LjirHCaO9oWFWy3Og4oBdb3wW6QHxbTlykddWdfGzGYurIClvbmFPLsOc9EmHQPlITpehJSD+b82qCGl4fUn2LeX+ld+T7r/i4aYv0O4rcUnIwqMpprkkKuwPD9h1U+J4QSAnxnHv9i3zJ6hL+rXUlpilm3FkgY//6M3NvDblyuNKfhM6LyoHyCs/kdzMSNgbQ9iLsKVsvKiFcgpE7UkNgxKUpGU6v3DITEDxDfM7/FRKAr1t6/GBgo2Q/xTOojOPuB/R2VwuV7iCuT2AjEepO0PUd/RTrN70LoldnugmXNlwcmaeMRHgBFrzmsvhdApgpzGtMagE7vv9j4I5QTTKVBXlbOHwsidZCDBrysUKC7KjM5VWz2qfC4B8+qkEEAf7wTJ98RLF5dulMUr1mLYK+dxVrjutIyOPtEkwAfxlvtwdv4Ryc6etfLW1oppMcayGnkEZ2go+Wdcrg9bmnWi7ZMbAlINwqwIcm3iKUmsp3Kh9jOD9qaT2o656NXZNp+ql5kzeCc9awqyeKVletsxM57BOtXFnMeVP5ta7/lkPeBjtRA4syHnNji1TeKu+GtCSmiop22c+ZbWjtGvXerVgEOoFNyZ92eVX3pG5Hc50lBLDVf181eDmo85ILuCklJjXbdGEVoj8WtJWUhBvakZfrxnd38BkZSAziDMg+odEKfzjj7y7fSGbxHjSvj57tm7Qxox1DZNpI4lQKMjbMUcuPIvJLFlf17xM4kjMDX2M+DQNPs8hAjFpjBSZMtqcGXLSedI53LCgZIij2Xv/WxCGXlG0ZZy3Mb1H B/jNZjh6 QgN4b79va9qAU+D0tWQvVX6pmV6mdihM9Iq4PPdYCfRL4iBBmpP3b37wSVqMV5aGAirO1lYKLGql2ZrbH7LF1RojZ4Rgq57OMwrhVmJPJohFycoKxYfYC3fzdzkv5+HgxJB6jnA6WxcO2FmQTsMafUpQLy7y0BsgZll04KWibnGLSl/LNdrvy4lbWrtcqLozr5myBxVXktHMIgT9lEvlJNyrB3bs9r4PObv0e5s+5JOWtRBj5RKKCiH8Rzgp2rKzBjFUCfXgoscy7u2ORJExc+MOvDlZjtPHJPXSg/rquL+P6yYVvqs3qeebi72piINdP3Nvi4bOxNXUPmrEuApI4vAtC3JKCxbv4dOmvNieNtil6ZJZrBUVcSjU5nOS7PQ41QOMWhSyKO7CnhaEuSiiQNmdWFivuPtF4zHCjg3KgwYb4kvwGszxOCPtqbYCd/iC7+Kg12IWakEc20szib4sfRJr/RKqTklpSUDGaoQ6+GdHuM+0nUZSwF63CjfUGNYcmdhwsZsXA1UFZiJJa+hyA/kfOhgXy3rTMH+iQ75SHLqJl2kn/YNSFJti9GMLdjMWy1bU3 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: try_get_folio() takes in a page, then chooses to do some folio operations based on the flags (either FOLL_GET or FOLL_PIN). We can rewrite this function to be more purpose oriented. After calling try_get_folio(), if FOLL_GET is set we can return the result and end the function. If FOLL_GET is not set and FOLL_PIN is not set then it's a bug so we warn and fail. Otherwise we simply proceed to pin the folio and return that as well. This change assists with folio conversions, and makes the function more readable. Signed-off-by: Vishal Moola (Oracle) --- mm/gup.c | 88 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 46 insertions(+), 42 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index bbe416236593..adbd81f888f5 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -123,58 +123,62 @@ static inline struct folio *try_get_folio(struct page *page, int refs) */ struct folio *try_grab_folio(struct page *page, int refs, unsigned int flags) { + struct folio *folio; if (unlikely(!(flags & FOLL_PCI_P2PDMA) && is_pci_p2pdma_page(page))) return NULL; + folio = try_get_folio(page, refs); + if (flags & FOLL_GET) - return try_get_folio(page, refs); - else if (flags & FOLL_PIN) { - struct folio *folio; + return folio; - /* - * Can't do FOLL_LONGTERM + FOLL_PIN gup fast path if not in a - * right zone, so fail and let the caller fall back to the slow - * path. - */ - if (unlikely((flags & FOLL_LONGTERM) && - !is_longterm_pinnable_page(page))) - return NULL; + if (unlikely(!(flags & FOLL_PIN))) { + WARN_ON_ONCE(1); + return NULL; + } - /* - * CAUTION: Don't use compound_head() on the page before this - * point, the result won't be stable. - */ - folio = try_get_folio(page, refs); - if (!folio) - return NULL; + /* + * CAUTION: Don't use compound_head() on the page before this + * point, the result won't be stable. + */ + if (!folio) + return NULL; - /* - * When pinning a large folio, use an exact count to track it. - * - * However, be sure to *also* increment the normal folio - * refcount field at least once, so that the folio really - * is pinned. That's why the refcount from the earlier - * try_get_folio() is left intact. - */ - if (folio_test_large(folio)) - atomic_add(refs, &folio->_pincount); - else - folio_ref_add(folio, - refs * (GUP_PIN_COUNTING_BIAS - 1)); - /* - * Adjust the pincount before re-checking the PTE for changes. - * This is essentially a smp_mb() and is paired with a memory - * barrier in page_try_share_anon_rmap(). - */ - smp_mb__after_atomic(); + /* + * Can't do FOLL_LONGTERM + FOLL_PIN gup fast path if not in a + * right zone, so fail and let the caller fall back to the slow + * path. + */ + if (unlikely((flags & FOLL_LONGTERM) && + !folio_is_longterm_pinnable(folio))) { + if (!put_devmap_managed_page_refs(&folio->page, refs)) + folio_put_refs(folio, refs); + return NULL; + } - node_stat_mod_folio(folio, NR_FOLL_PIN_ACQUIRED, refs); + /* + * When pinning a large folio, use an exact count to track it. + * + * However, be sure to *also* increment the normal folio + * refcount field at least once, so that the folio really + * is pinned. That's why the refcount from the earlier + * try_get_folio() is left intact. + */ + if (folio_test_large(folio)) + atomic_add(refs, &folio->_pincount); + else + folio_ref_add(folio, + refs * (GUP_PIN_COUNTING_BIAS - 1)); + /* + * Adjust the pincount before re-checking the PTE for changes. + * This is essentially a smp_mb() and is paired with a memory + * barrier in page_try_share_anon_rmap(). + */ + smp_mb__after_atomic(); - return folio; - } + node_stat_mod_folio(folio, NR_FOLL_PIN_ACQUIRED, refs); - WARN_ON_ONCE(1); - return NULL; + return folio; } static void gup_put_folio(struct folio *folio, int refs, unsigned int flags) From patchwork Tue Jun 13 20:18:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13279176 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 3100CEB64D8 for ; Tue, 13 Jun 2023 20:18:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1531F6B0081; Tue, 13 Jun 2023 16:18:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0B15D6B0082; Tue, 13 Jun 2023 16:18:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E95A38E0002; Tue, 13 Jun 2023 16:18:40 -0400 (EDT) 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 D85446B0081 for ; Tue, 13 Jun 2023 16:18:40 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id E29C8405D4 for ; Tue, 13 Jun 2023 20:18:39 +0000 (UTC) X-FDA: 80898837558.24.62CFC1A Received: from mail-vk1-f174.google.com (mail-vk1-f174.google.com [209.85.221.174]) by imf06.hostedemail.com (Postfix) with ESMTP id 16438180005 for ; Tue, 13 Jun 2023 20:18:37 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=iU523P62; spf=pass (imf06.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.221.174 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=1686687518; 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=maD2yOGQJNTXWHwU2THhq8K/NAnRKyLeT1qKuk6bZHU=; b=L/i0Pu7VC3duatJ8ljNpAULS4AWu7JdEmUPMcAPbLoGtlXUuQRnAygAWGkNHBt+TUknqZq 1U+8HKDzxGXE0TJRhvycO02+axx6nu4FOhnKI2qj0v3wD+uGoOEP4zXRS6ze12Job/8bgf c6h5s7r7BSAdYhzPC05Oe3kMALGIrzI= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=iU523P62; spf=pass (imf06.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.221.174 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=1686687518; a=rsa-sha256; cv=none; b=n9d2il0zDQ6Z2SNss5vW4ZuFQPEUgNvKbX8OvlNUolksjJTzoc7/xKeILdeJhRYxkyuWjg yagwTrp7hrsXO5stjJDXO6QckBCioSVWxnN54WlR/01Z76eLN075bQIn0EOVTxn8PjVITZ +fhFJOzLKerE/ZvQcBO7G65PEcpnCGY= Received: by mail-vk1-f174.google.com with SMTP id 71dfb90a1353d-46e47a76180so427652e0c.0 for ; Tue, 13 Jun 2023 13:18:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686687517; x=1689279517; 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=maD2yOGQJNTXWHwU2THhq8K/NAnRKyLeT1qKuk6bZHU=; b=iU523P6258GfS/ZCsDirRt0LUgWdh+x78uL92gXfwqCf1O5MNCQCvcyNjF+WwJJDOm XdIsSAOMVuSAdaNC6l9OBiK3cTVAx06IypwJittnrw8yIbszhTSazBj6J6UOKE6iKUCp QEljYCfk0ahME2umWuYIUIjnr+OdsoHzZUNcWvzBZqwkq0iVvWq2Px2W6Q9u3PCR8e8V 8+zoo565SSZQGmKAAYGk4wp4LL8W8ovaMUR734FCNOH/kgNxO0zVsir1ersME+g44p+5 KI3lm+OsvGF8DVe/+QLxlpfo3DlxNa4wsG1yltBRopQEZ68n4CtssIfBK5l7/zxp7H3V bhog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686687517; x=1689279517; 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=maD2yOGQJNTXWHwU2THhq8K/NAnRKyLeT1qKuk6bZHU=; b=bbSjrUmMcswUkTkoc6sUPAi9YqDTRHOEQLZ9+5GnrqC0wEbdO/KbMnuZqXzK4faXBf w2NPMJ0EnIVbyEejZVgCQ6o3wgvMbWPkqIWPL+KVh31QC5QI9GpS+NO1tXVkzLhQGykV DcDO4FAOne+fw49fCZB7JZJrWgN+fhHfA4Oiqyg6UEDQvbAWAUM+eX+EWVEnt1kQR211 bkVxlWujmrdnLNcP1KdtmX86pXLXE2+qqMcq4Rlq+F+H8mNyM6gPFjWVdbDzj6N5XVbH 9KIK5KZM4Z98zQlIezSjo5cgpMw5ck29U8bwFmP7Pt3oXSFXzWrv4SqQaVBBMXKUzQ67 6I9w== X-Gm-Message-State: AC+VfDywdyYUH9AAG/ptwY4EiTlbzK9IXD3Pj+rTOwS0NrgtuyNFGBbo wiXpw14gPRes88sx3EuKqk8= X-Google-Smtp-Source: ACHHUZ4K3t4K9LE59exWoJJuUPcaKTyDnDyRL9hNFxfUDEDlOp7IvgA7PrzCPAPjm/qc0TVbyX0gOw== X-Received: by 2002:a1f:e404:0:b0:45e:59c4:1e0a with SMTP id b4-20020a1fe404000000b0045e59c41e0amr7824199vkh.12.1686687516958; Tue, 13 Jun 2023 13:18:36 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::e]) by smtp.googlemail.com with ESMTPSA id b72-20020a0dd94b000000b0056cea0480c6sm2509985ywe.2.2023.06.13.13.18.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 13:18:36 -0700 (PDT) From: "Vishal Moola (Oracle)" To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH 5/5] mm: Remove is_longterm_pinnable_page() and Reimplement folio_is_longterm_pinnable() Date: Tue, 13 Jun 2023 13:18:27 -0700 Message-Id: <20230613201827.9441-6-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230613201827.9441-1-vishal.moola@gmail.com> References: <20230613201827.9441-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 16438180005 X-Rspam-User: X-Stat-Signature: pzp8pagjf4p8dcottx6b4gdxrrhdrsss X-Rspamd-Server: rspam01 X-HE-Tag: 1686687517-669607 X-HE-Meta: U2FsdGVkX1/pnkDLEfO7tz5K5Z8PD0GhkaCK20v5n26jy0DMS/7mQNEa+FA8V5CfzOS9Sk/nrHuCZlct0mk4XvlALv/NUAcCIMnNTvK2kGSvWXjdk54VXOrJZU+Ojg1oESXTVBTq87fnh3ThdpWBPkFCarq72FalCDs82OS6EJW4Hwj1aUeDQ3ChmNBOZis5uwP9FWS4C3GIcr68GsGSrDezhMbeRXDI+wzo6n+RJAzBEQNRT1G/hGujoU5HoKD5y/zQvmslBuG+9U5rr17oOrC6Dqvlcpo68fQAEbU1QY169z/wsH0lFgTJ63v4DpSpTzXSVpVduPRiDK/AFAQDTp6DLbirQDi9ohmZ3n8McWnaMWheNPEXbF9IiuWqLpHMpL14Jv6hPwIlqdlzc7DkOBxGEzWz0Gn2DL7Ol78hBsGzX8lcZF6WsiIY45dsy4fZaaHOFX9bWVYNTkFCPJ9kmKYldKQBpBkIPyMKe5kcDA/USC3h8CI5gmev6bFAXvcBMupj68g/Z84mE7MKQ0NT6QurLavbcKzkFDn3Sg2G7HZRx5r1wSzU6mqOUK0aT1c1/qf2bwn7GLmN1E8a4d4wfgv+L/J9CDxWVKxsXK5sYggDXQKdCPSjx6UKkd6HdHTQ2Se0jbr9//5VQtKlWsj3oyKXWjLbfaXoqkkdEoh8k9O7NgZQ8LQIamjDA7xZIfBd7aC5V5jTImP5dXzSLeg6R8xLY+OinDrkp7SBpTy1G6lRNy3kH+vs3KFDc5uxiMx9hY2NJAbwv6Az57nBp4f7/dr74/wFY5cw8ByywDeNpUyWF/FNzR9lzngrQCBGBhJVvc1Skwbb6x46mE8ksimBwVc3a6eMJ9K5zCezJFWEyXEh9eLMlZsYq5ejTNVklBmXun1SAeDorYYCkt1pPtyUjSESYjhVW56C2KBQwvtmGAMfqDeJiT4qUxdpefQrl1JU5NACnazjXxjkuHJNVh3 qtEcVxYN hV4dp2jPLTu0IJzN4sGDTy7vMtilMWkOhWo9nytCo76ypw5VIgOkldvRkSNLPn6bHQbxB1Yr/XuU2ay8mk/yAB5zZMUI6vQw0FAxnhqP5ytRJfV9dIop+YkB3bmhAI1vvaGQaSxGLFM9kNk/chmutfjXsvbQJYW8euNWXjnKthlpyYNaKNBk0gWSiT90VxwBLpNvy9i8rtBicwIRRSicsGcPF872i6rJUzcgHL8rMyS6ArpeZdm58fFLmX+x/Jy0s4kY+2f+DTI5Jicdeoyyg67QHLnNOVQDZdXfbGaR6++wvAX/lpUxDGAO0x5sh4BU9/9qy1/WUuvxKFyLv5mmPnrsMx82NRCckiXLjaR2d+Y8YL7WzrCu40holvvhzVCumhmjcAmk7OKN09OUlQPQtgL74TJX6GTh1FuNOIiN71i9Wodgvd61Fq+J+DC/OgjGmGNh6Anj2Pm41Vswab35ZO5R49SFhk8JOvaiwWrN8luQYXYD3l5hYXpP2bqxOfCXKFiR7fQXACyzL+1Gzq+s2clCymv09aHif76scS24tE5y8Xqmc8knV/+zDIiZY4CHOEX9TDIgb+0hPyC8= 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: folio_is_longterm_pinnable() already exists as a wrapper function. Now that the whole implementation of is_longterm_pinnable_page() can be implemented using folios, folio_is_longterm_pinnable() can be made its own standalone function - and we can remove is_longterm_pinnable_page(). Signed-off-by: Vishal Moola (Oracle) Reviewed-by: Matthew Wilcox (Oracle) --- include/linux/mm.h | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 27ce77080c79..e2d35e272e07 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1910,39 +1910,35 @@ static inline bool page_needs_cow_for_dma(struct vm_area_struct *vma, return page_maybe_dma_pinned(page); } -/* MIGRATE_CMA and ZONE_MOVABLE do not allow pin pages */ +/* MIGRATE_CMA and ZONE_MOVABLE do not allow pin folios */ #ifdef CONFIG_MIGRATION -static inline bool is_longterm_pinnable_page(struct page *page) +static inline bool folio_is_longterm_pinnable(struct folio *folio) { #ifdef CONFIG_CMA - int mt = get_pageblock_migratetype(page); + int mt = folio_migratetype(folio); if (mt == MIGRATE_CMA || mt == MIGRATE_ISOLATE) return false; #endif /* The zero page may always be pinned */ - if (is_zero_pfn(page_to_pfn(page))) + if (is_zero_pfn(folio_pfn(folio))) return true; /* Coherent device memory must always allow eviction. */ - if (is_device_coherent_page(page)) + if (folio_is_device_coherent(folio)) return false; - /* Otherwise, non-movable zone pages can be pinned. */ - return !is_zone_movable_page(page); + /* Otherwise, non-movable zone folios can be pinned. */ + return !folio_is_zone_movable(folio); + } #else -static inline bool is_longterm_pinnable_page(struct page *page) +static inline bool folio_is_longterm_pinnable(struct folio *folio) { return true; } #endif -static inline bool folio_is_longterm_pinnable(struct folio *folio) -{ - return is_longterm_pinnable_page(&folio->page); -} - static inline void set_page_zone(struct page *page, enum zone_type zone) { page->flags &= ~(ZONES_MASK << ZONES_PGSHIFT);