From patchwork Wed Jun 14 02:13:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13279458 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 4D41DEB64DA for ; Wed, 14 Jun 2023 02:14:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 869FB6B0075; Tue, 13 Jun 2023 22:14:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7CC048E0002; Tue, 13 Jun 2023 22:14:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F7EB6B007B; Tue, 13 Jun 2023 22:14:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4784D6B0075 for ; Tue, 13 Jun 2023 22:14:27 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 189B24067E for ; Wed, 14 Jun 2023 02:14:27 +0000 (UTC) X-FDA: 80899734174.16.D7BA858 Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by imf12.hostedemail.com (Postfix) with ESMTP id 441E640004 for ; Wed, 14 Jun 2023 02:14:25 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=OG0iNJ5G; spf=pass (imf12.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.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=1686708865; 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=gIoFapX6nAbUleBYK2wE51yt/hsIHhUn+0PFfQGQ1N8=; b=KNF4ycUaZ/XOmUGR9u3AZ0BRKVdabd8RoFgtq6A4sRk02Gfr5J5Su23nq+3WAQKIMFeIna Uqc+b7IbqcTTASxUo1ItgLBld54TGd0NIv/dzAbBV8wmnW29diw+AGeQQ4RN3JF8kR9ijr DnufsPgitaU9KGbYt7jcE7e2M/qkVWg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686708865; a=rsa-sha256; cv=none; b=DYQs45M2/PiEFqwmvP/pLbj90+8hEzsPQ30Hm0l+4+upmrjk08H2yZiXZkBo0wud3TMOMR mvpQRAEekLEJEYJiq+aUn/diEDHl7yTZuiT6tcbAHqEmdyembiJy/2fCFwlVe3vk1VHfjO AKJoaltX0yyTZG6yuA6nmbLA2shlZkI= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=OG0iNJ5G; spf=pass (imf12.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-56fff21c2ebso2289517b3.3 for ; Tue, 13 Jun 2023 19:14:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686708864; x=1689300864; 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=gIoFapX6nAbUleBYK2wE51yt/hsIHhUn+0PFfQGQ1N8=; b=OG0iNJ5GmEjZhXWO61u1AwU/idx/nazyQ7HP0I52znlouGZuNuyCp8x/YKDMNgE4TF FU/F4boFM8HzpQ/NYUPs6dBRfUqsDByWHFzr2KXzyKgbmBw6GKmPXJ7Cu/uWiikyv6gm GYjp2nEXcgLHMOQD6H3b3vuZiYRTJXs3N9sJB9GJ/BgnptFuN9WEMkcygTfvJyoXntc3 vHZBUztIkK9vRCdJJtya4e9pPE36OVtzPLhh748IQlh88xPZqc6gQBvcbEiDkhruCSoJ xue2DFFhxZdEW1Zhwmy3hRvDCHpd775F7lLi55NrX3Vk4O0E1d6pwWwZyjkeLm4B8i5u /3vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686708864; x=1689300864; 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=gIoFapX6nAbUleBYK2wE51yt/hsIHhUn+0PFfQGQ1N8=; b=AA8pV5gpC1wCpsIkhROwiO+rdCHuq9e28v9yM1HDtygSfS5vJYlNTjs9wYbLVQoPcG wTmSAwQ+u+l9ldRLIo708hEIYfJIot9i9HtUSixv2jVYTKKlruhAxmx1crVASZBHnmiI 8Nts1HV3qTor9EZejNayvojHMdehcCcRQi91TkSUQQSaGwHGK8Q/CZbwMuaWEygGd3d3 +1jFUKm1gp6EKH5G9huYQQmiKoduypAhug4F3cIciJv2wqnrSOneGVaj1wKSRdRy1HXU lFcOzRFB/ZBI40ZGy68ymPh5aj6HeHFKGuyRjM9U+BKEpCWV49cHtzJbVAoKo4xmo/52 pGRQ== X-Gm-Message-State: AC+VfDw9arCPqd3gxMlXOjjmcNN6OIl4UsvXMHnKyTXrnL/PhAEwY4lF MtrOjVImLlr+swX9uTGEt48= X-Google-Smtp-Source: ACHHUZ4YSMJp3iF8wUHpYsSVNC2ramcdJy4Qkj6dvEyjhe8CY4rDVrJOLr8FWGbCxucf/XIz1bWsiQ== X-Received: by 2002:a81:484c:0:b0:56d:770:c315 with SMTP id v73-20020a81484c000000b0056d0770c315mr512357ywa.49.1686708864338; Tue, 13 Jun 2023 19:14:24 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::e]) by smtp.googlemail.com with ESMTPSA id p3-20020a817403000000b0056d30f1b508sm1463931ywc.107.2023.06.13.19.14.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 19:14:23 -0700 (PDT) From: "Vishal Moola (Oracle)" To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" , Matthew Wilcox Subject: [PATCH v2 1/5] mmzone: Introduce folio_is_zone_movable() Date: Tue, 13 Jun 2023 19:13:08 -0700 Message-Id: <20230614021312.34085-2-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230614021312.34085-1-vishal.moola@gmail.com> References: <20230614021312.34085-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 441E640004 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 4qyng3mja1dd9rqoxdbuc7rx749d6ona X-HE-Tag: 1686708865-504596 X-HE-Meta: U2FsdGVkX1/2hroVLOF32w5j0AFzSAFoipdo4x9nARbwKgyW5+KQIu/flv1MTYZGy9F/SDC2XTOP3ws3kqC8ocPvtSClahJQawC3Z1SCRSL415chdGUTtnWUwmt+k68+p+0OzNa9uNITpWCltHEHafQVFA4aP6Mf6QFDm3wXk7LsB4TdrOMgkByYq9xh6sn2YRfZuAiyKIgw88WULVwMwXIfthp7oh9QoaLgddrjVl0qBFxtp5rQRTY732pesFc3tKRPKbQMnQER2aaPZfEAAlwNZ8FeA7W+a/YJqRNFXw6SravgTaZ6+q4il+0Z7atDalFVtLzvowMHRIL0Dxz+rjeOz1orJXmM5VsI9LrwtAqR38qds5JKIExBfDq+J6XXFNh1zKbXTY8czRz50JpG6EtoK1pZt9Q/uLPWlnKFUMjESSCO381Y6WdyOBQB83FkJw5bWRI4vV/FZf4aBwfSD4DcM2dBVZWBY/xcTjK1aehK0q5iNQnBIa5CHPAr8necg90WTSQey/mtgblRSPLqz4W1Yd3+8DVpYgYDYRc2zhbDFgQww+IW6OH9qdXGoUMFp6IRiZAB1Iv2fD8q7StHx/52Puy1GudqLSoV+wTIKe9vWhm6FyFuJM0wqDExfc3mkRpKrEpgNDPVvw5j0g7f7MlwT3/cHoq+9G0MF39tqVvgvVL+EJwzo7kq9luRp0WzKTrNQuci225Af/RWHBhlUeAigZU73pZVyNNJiuDBt+AVFMDlho41lPc1A3kWbc4CukDyrxhUMHX8nJr6U1zqIk91gBZ0gO+NDzYgTITze1a4Udyw+HoTmYWZxTC0ykkNBn93ryacn1sk6eJ2hOQmALdPJGU343aTSG3tLWKEDo6cXDnq1r17QIvbpj0Zs2vdtu0jddFF3/wglHiW6a9wUeD7dGeSGFmxJ3QZ92t3LK7Ro5UazjJExgxp00LhhpA/BhGTQrjY/7IqZEueth8 mcwfVQRh fjGd2ooDQauHmb6p+WEf/IjF8cWJrI/vM3NxKboRT4AehoV8+bmDyvzhvvHW79Zfr7kZ/bDD73Nv8RIqCzjxTdi2ya7U4CT9Dr4fuEM7Zwnv+7He/6ZDibQtT6b1+vHLkyMTmaFQf+yrf0LDkXlYLn/AfZYdfVDBXQ2xXju0TA7Xf/tP11VPywDSTQchqvkSqyLuGYxUdcQq9j0QqaWl6yUxn6fpsMe9OIpNwH2JTglqe+e+g6koEKHWyCIP+6vkHSpAV/qLS4kU2NTB17J6MUnQzvk0HkVqo4R5jek8MmqUC8o4BkealVi/xZpfF3FFFHOi/oNswkhxspETCwZkRB9HyjKvBaa2GwAaOzRvUtkFSheJK8D7QMfjdlP7Z/6FdZg6RfQZuiYaKhj+uO4qJ3z+STYlzuw4J8VbiUIy7jtErMlnRpTDBCTu+lY+GbG8+ZfB2qs7ADLK7SJMu1Zffht64aiUXQtN2t/kt4g7JWf/OY8UnTCXNAUXdiVUz/oj1BGAL+1roYu39HM/yyllbCWBDUgMu740rTC/wYPT26K5t8b1jRlX/VTliq8Jka/DI9O9b7gbT2Jyn1M7Xmu1mO7exUsxbJfuI15wv 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: 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 Wed Jun 14 02:13:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13279459 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 60227EB64D7 for ; Wed, 14 Jun 2023 02:14:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B04738E0003; Tue, 13 Jun 2023 22:14:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A3EBF8E0002; Tue, 13 Jun 2023 22:14:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8692F8E0003; Tue, 13 Jun 2023 22:14:28 -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 70B458E0002 for ; Tue, 13 Jun 2023 22:14:28 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 32910A069F for ; Wed, 14 Jun 2023 02:14:28 +0000 (UTC) X-FDA: 80899734216.14.59B424B Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by imf24.hostedemail.com (Postfix) with ESMTP id 65A31180006 for ; Wed, 14 Jun 2023 02:14:26 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=JF+8NNIB; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.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=1686708866; 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=gm8RCzO5kq5zZdBwoalxKcPrbyd/4JyQrIpAj2PmnKw=; b=OfbPwMVOHTO6KPQ7sR2vMCDsBlyCCkrsJebifmJsSHOxDcizZYonxqqGusGlGQUBOTPyJc TW00fG/mXIMlYjqV/Q9nnIDfqz3AR1LbXnjsZM0Fps4w1yItHHdfFa8fAaZowrw5YYUele HUyHn64gdb3UWo+EtD953WcWsANFNF8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686708866; a=rsa-sha256; cv=none; b=HLJPixi+VjELYgoxZZlr3xx32cSHSnJTWIC6zD0h0DtozmwCYeB2c3PP1Bo9ZBXI1jdN+Q LuCGb2jhEoIncHeyU1CBRHJwqUU+lqbDfs208OoMUVtIKAGb0012DxpOOe4lEOmXJ09FlS Mn5JYuSPpyALevfP+bGgXTbTHT7xjcY= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=JF+8NNIB; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-56ce96063bcso2568997b3.1 for ; Tue, 13 Jun 2023 19:14:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686708865; x=1689300865; 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=gm8RCzO5kq5zZdBwoalxKcPrbyd/4JyQrIpAj2PmnKw=; b=JF+8NNIBzGX1b2qFl1Jx5pRAVPswMcC79XRisd5GVibmPivKhdXQEHc8d7/naDK+Up gOMZkzClZyEGSeqowDIclhILZeAtC2CVfFdBwWcF72qAW2JTytgWt2OQV3y8I8RctUcx rD6KgJEg8oUdHwdiguEbWPj746c0VQZU0McaRD4kt+DEq6GIX/MNy1JMHSsOA3yFYFsC sHAg4yl8apB5t961Pr7CxwWzQlGHdj90B056A9+csCHCbRFN/NaFi5TKCTMArvGdCO+F b6N2BalFlcr/9l9jpyRKLKuba5H+KeeEYg2dX7MvukOZKS8aw4C9SYq3KCCoGkWnNaHm 3bTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686708865; x=1689300865; 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=gm8RCzO5kq5zZdBwoalxKcPrbyd/4JyQrIpAj2PmnKw=; b=LJoFpseVL2A/JeXbijBJv8HvvjHW2W1E0trXmXIwCfHUOAud5Vo6XHczxmK/2cbG8e REBf7tnSpqwAJvPP14pUDejmcIp29Uw3hZmda2Bnxhn5A8o8aTb/haUQfgX9UuNatyoo 8o5HnnEbu2b0HE5s2bOLqDgWTiHIOdK+r0tbYjIZM+rMeel22DxkK6jekk4cDOH9Xtz/ q4v4Rtd3ouGanEcWACJpZ3heWsm0crA/VyljsUYr5IG7n/iVyOfodqEhPMeTmsDeBfUV 3K1gFgl/1W4IdhuAyw+3vHC8qX3caIh3naSWnZfVkmbTWj/em5zT3li0TlNnLVKcQDoW UN+A== X-Gm-Message-State: AC+VfDzOVe086rn0X92OXxR4d+Twvg6wUyXY0ckzVQWDGkJFz3WvkTKr bRsjzwyDKHZb2N0ZrQNGLGs= X-Google-Smtp-Source: ACHHUZ6/DNbpBrJKVXMNBdlaoO0AvEwN+Ng+T489V7u9cl6KqrcMtLNf5K/XiLAGr+3x3Kr65Pz04g== X-Received: by 2002:a0d:e6d0:0:b0:561:b53d:d1f1 with SMTP id p199-20020a0de6d0000000b00561b53dd1f1mr160456ywe.19.1686708865329; Tue, 13 Jun 2023 19:14:25 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::e]) by smtp.googlemail.com with ESMTPSA id p3-20020a817403000000b0056d30f1b508sm1463931ywc.107.2023.06.13.19.14.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 19:14:25 -0700 (PDT) From: "Vishal Moola (Oracle)" To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" , Matthew Wilcox Subject: [PATCH v2 2/5] mmzone: Introduce folio_migratetype() Date: Tue, 13 Jun 2023 19:13:09 -0700 Message-Id: <20230614021312.34085-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230614021312.34085-1-vishal.moola@gmail.com> References: <20230614021312.34085-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 65A31180006 X-Rspam-User: X-Stat-Signature: 751h4iku5wow747tqd7ii8txq3bqfzt5 X-Rspamd-Server: rspam03 X-HE-Tag: 1686708866-231361 X-HE-Meta: U2FsdGVkX1+o5mUpm8V6nCD2aaBynUDPK8OaxkcKHWIS2MrDotH7/+cY793hXvmXE3Xwq6EIU8nwfMJq6En0b4cUqFvuDPcidRSkN9rr0Om6GbTXxATDnBlJw41iW6cAx7YJKI4kkNdNJNGhc913APDBPEZgOEPoBoVK2WARN4tDDZiWhFB9y5SsCttx3W91ef8x/Eth6rXexdzWsNVIp5JMja+GhE5paSvj4NrUQOx9Wswd3MSuGZekDJyJGxz5ahg/lkLcjxsqDTJBSArwwBPd5idPUCUOVdnoyrxKdPSjzQ8jcDzy4u6br9YT2+5MzVQqz2oR/9po1yXOUW2xAg7KLL/iKxs2RpicHHeFNB+PMPFfnkDZE5fFF+e2cwDkKGeNFmjY4cx+gSBwQjT5tb4XYDoXB1S66joTNpj27hrdi0ncR5edgW9uFh0gxePecNjpBc97/ObTTa11egzxk6WV47D5TAn9XW06zB2Odk2uFg8sfm8nmblC5GNkttN3yvm72R2kqndWZ4XUHZBEPngZmAP4wXNopSEjGQt6AlLdndro8yqZLITVDxRFALEEhc3iRvV4MFZEnFHh9ajCeIXUZnEVIe5vh3JaMzoPRZS/9XBJ7aw3r7Bs+Wsi9hGmhVRo/zsf9tQ5UdpfG7B5YyklMo6VQI1k7hxM+SD57QkPLGxI+1VfQQ3dToCoFiKHOjyhlqKcjTRN5aVruEr719C/2Jjr+5glpxEQY467f+Yy9l3sh3PKRCLhhxlpUxv59JNkinpvzLlKcqTY5kOgfchdtB8Wd7EMR4edA6vLceZg9wUt0g4v70Etlq3xhK9fOx+Qk4Y6mejVuCw2G3hVyPQH+Eq64H7E5NEEzwUx2bW4PmJGke6XXnccXdlxJhqcyTjXJBzc7uQNTZkx3/tkhB7SrKByCChhJIr70z+Af1lOsOylk6tBoGdK3httKY6iNQAw7NY9K4d8VhOadSs 8fvmIlCk Z/3n0fgcQ11q6HYK+16UtmVf1ZvwrivYhyFhw+q++yFcj4NaaC+6j5Tyb/GoFJoqLCYHqQJkFESx3+fV0/6NOf0E97ZFJBfufMlhsD3zdWHQ31VKKx0E5lh4c7vfjsnRCUEBICJAtC+uuJGFCW+qAFH1IbeXllotz43PSD7oxm1+Nq0r+6AyGgZUfVgZ290d3DOjb/Fw0K1LqzIcceUG/b+MpWIFXkLwuFSZc7T04pAkBADfnGsk3CwjJL3PqTmxZm+wHp9pkweyVV/owV74V9fNB1X60xsmuw9U+Snb8vnIiULIzBX8CreALhFDocehnfVYL+kYLkexwMZPuk5e1yPAuLEy4lvwCVl0iraXhHo1kfBMFNZQbeLW5YSje8P6/mj6VJ+X6gBCBY/Qni/4Fgwcko9XIC8kT+8YF5fft6MpHr/w1Wl5M4FHRocRE2uPmua0hidkbCi0dn2Kh86AiG9eQ4o5P+pBjvHqaBM9DxKwNoBOdeNXoSsbvk2711X2UItnDe1BhKeYF6q7YeNcZPw0Zqj9ahx20WyPyxreo+ZmBu8w1qmeWmHKRw0c6ZyAKrq/8W38XSM4yRSUjERCkq70r5DIXmwOcFymt/m+IRnS3qhMn0d7Uz3gATemIQC9OTj/7 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: 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 Wed Jun 14 02:13:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13279460 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 431E6EB64D8 for ; Wed, 14 Jun 2023 02:14:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9A1D88E0005; Tue, 13 Jun 2023 22:14:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 92C098E0002; Tue, 13 Jun 2023 22:14:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6942A8E0005; Tue, 13 Jun 2023 22:14:29 -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 53D088E0002 for ; Tue, 13 Jun 2023 22:14:29 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 25056C06C5 for ; Wed, 14 Jun 2023 02:14:29 +0000 (UTC) X-FDA: 80899734258.05.BA39DDE Received: from mail-yw1-f172.google.com (mail-yw1-f172.google.com [209.85.128.172]) by imf22.hostedemail.com (Postfix) with ESMTP id 4FE35C0003 for ; Wed, 14 Jun 2023 02:14:27 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=VFW1xJ4g; spf=pass (imf22.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.172 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=1686708867; a=rsa-sha256; cv=none; b=yPXjfO4pKD+ghnAUy65ahzJRDotbWR7KH2ZohT2gkBq/AW6pKv0Yvhd2ZDCs7jQai+u/uM 0KhYU66dcJT2acnJY4kLZQhR3LFAw0+AeDi7n50RJ0E3Sft9jALal40t9Gg9uq2+9NVSxz GFSsXrJ0p7k7X29DA7JixDW417eO98k= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=VFW1xJ4g; spf=pass (imf22.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.172 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=1686708867; 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=fB7c080hmSdFjIvh3R4otuK2wUDYLhoWmLvrdo1yBmw=; b=yry8plmgnIRnIPlKigQvmuoGXm0zwp07NT4U3zEpouYAYjepFDbwkzpIuHYW/cbPzOlMm7 l8JDj73HukRXeFzOYFZS14g21042pB9qoA8+VloAnynlCTNsEktZUEZ6F8hMv+6w/GTHFk CcbZY0D7onaPAVuFAEU/3cZ+FlSdHlg= Received: by mail-yw1-f172.google.com with SMTP id 00721157ae682-56cfce8862aso2628807b3.1 for ; Tue, 13 Jun 2023 19:14:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686708866; x=1689300866; 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=fB7c080hmSdFjIvh3R4otuK2wUDYLhoWmLvrdo1yBmw=; b=VFW1xJ4gnwv7pBeS0YE65pckiAxPEdYG7lGo7tzZjndkiBhVKufOgxXl+W7IFVCV1K 4TbG1Zx4rWCcT3BUOPtsNJRgIhIhzvi19CSD5ABbuUFp0TlMJxCpZCiZ3IK27cYBnFKN pIwW1L7ZlPC72CTTklcQfY7rNp3B2Vwl3MiRXeNSWX3rfTKX/Fhk7w1Ab1Dty4tE9/Ia bjOeYh7/dy+wD/d7slqEbflc1B0mqFOz9DbfxdHnlct6y9OdohNVDIIOe14jv3fF3ti4 JEJErk19IJ7v9pQnGBNTubxC5/+VB0/N3Qblyz2JDYiEJhghB/zIx2TcFA4TBfMbybhu gowQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686708866; x=1689300866; 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=fB7c080hmSdFjIvh3R4otuK2wUDYLhoWmLvrdo1yBmw=; b=CIFOn3mBkAKy8uMnIQoW+w9iV82mrPh0Jl6TVEKCPXnzQaV8RY36bPElRuzAh5/8kF Vol2RRYlTLkV6SIuH1eoyziZrezD1LDBHftVTwr/eeD1o++R9aCvRVUrPLxz8V/ZbS6G cF8aDNdU3pG8hYGU9xCd9xhyLKbqTGEm9b/a9Lhw/o6Pqq7CCAR2G5KM2pvYEhBrlwav qOq8DGdcsh20nyPCyrU/3PDcJT/JsFbWWSBQCU95zW4xnRMXsVA12N3+L3r3vUifHxra DP7NgkBCCvRq+OXssKrLOhbe0iay7ugBbhcZkXEW43WgIihqPIWQ2n5z04LvcYMFkgL3 3rhQ== X-Gm-Message-State: AC+VfDw5a6/mDfe168JgDwHZxxC0ULabtg1pVhe4xvheNbAOmnTZA7nQ xAhAjY17zoLaWnxVLoc5YGk= X-Google-Smtp-Source: ACHHUZ6D9ogohvWoySXrKmywAvhj/+wxSJub+ieNdKYpjexpUFv0OzYjFADwZblBr9FcPuHAo+i5MA== X-Received: by 2002:a81:6802:0:b0:559:d1ea:8c7a with SMTP id d2-20020a816802000000b00559d1ea8c7amr39535ywc.1.1686708866473; Tue, 13 Jun 2023 19:14:26 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::e]) by smtp.googlemail.com with ESMTPSA id p3-20020a817403000000b0056d30f1b508sm1463931ywc.107.2023.06.13.19.14.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 19:14:26 -0700 (PDT) From: "Vishal Moola (Oracle)" To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" , Matthew Wilcox Subject: [PATCH v2 3/5] mm/gup_test.c: Convert verify_dma_pinned() to us folios Date: Tue, 13 Jun 2023 19:13:10 -0700 Message-Id: <20230614021312.34085-4-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230614021312.34085-1-vishal.moola@gmail.com> References: <20230614021312.34085-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 4FE35C0003 X-Stat-Signature: rwqp51me9it3p9mz1xt1ibudhoan6tk8 X-Rspam-User: X-HE-Tag: 1686708867-602905 X-HE-Meta: U2FsdGVkX1+fi0a517NLKt4XfZ/uQpEy8YBKqKGKE+kAP6kVt6Zeud/9dhq83BBzg3F28twaKGnwSmw5cC/jxgvOc8KV8ArDJAfSE4XnLSqaRttYsJbrq0LaN//bYVtb2bn8YKcLriJ+K1btb3e2eGSUy3TutR8Ivls71HRyRQgMZb9RVbnxohLdNq+mWEE7PT/kTDKPbVNFc1Co6GY1EDGZ0rMnqIOk3p5FeLFfU/xGAwnN+96QoJCEjrchNvwmxh57YJmnxNMeJLtQLmnNrsMVQl+uSIPH254Rwv0266PHfR2jv/Htw1LZzG1BE3k78QypI6Ao5YVtS7U9Uz1f/OUi9YTSPplUqAtkkrO41FZG73W1hzTrVEi4YM75BqyshYFLqMNML48hcJuoKU5MPzFVq0MjzZN32BZnLsjleYhjfCqbOxxaM1ifIx7BBOAWH+TpexW3D2ADWUjxa7cqPB06InCKd14yxeD2nIIk9zH30LvSQ/oyXV7SIkj6aN75tHN5YZxEB8iglIEmpiI0okLTx3OvkgfNQ/M8CLfChXaVodFm44bmAytwHvyivrgykrChhONBSfMWZnkMWp87I+wGNtPNQ83yrvxh35vzSYAUGHfdTO6BvwS/ZhmNS6r0LcYfeLIaVm0QYkbEkHKyUMvM9b4AlP7ApmXheqGkPGppoJm3+YebXTRoIcrcAd3NkE2TLYB9sOwsWUtSmWK1iUeXkFAQO/oOMMNCn2OCedO0iuALcO61XF56h6qB0Xtg4ALu8mMH4gZZwu1IulLxMVva48iEOnMDu5jpaAg3QIrHgJccsqZCp7L8wtX4WF45TwOZ9H2xdj5Y8hQbbuV7XqeGT7PyR4Vp4JcqQ3KlKG2peaduvmP8aIe49A0IOrg+BgYev+9P6/yjK52AQjBBap6uXZ8V4wGrHmfCS2ZPJ6xCFK21yJRa3W4mv3VNKf7KZZB9sCfyGgbYe8HCiNK hJmYLf75 ps8NcYX3HPpjoOVYhIqdsjHP3a0DEdidUFllm/Yy5YoOmn73pPP4E3EuA/GBQQdacQsKRVW63fNcYD3+Lz4OzYUY72c2X7+rD33Ic4icFskHZ8AmFz22amm8AnyqZmKcK48tMBZQu5+d7qjMfavu1/W2LiS3azKdfEBQpI/W6sXAL4c17oc+sOHwtsJ/hgpLvU8dbfoneeJ6Q5vLuZZZB3qQVQ5tf0khYh0NbRLKy5zU+aElF0ghrgkO6+TnvTQBwIFuQ028IO4ckGOHLIp6/v4LBLmxY+9tny84frCh21HXCPNUBkUnCJvvYBkpZ42SZVzFPaEDsGWS5x0+vNaPvHFuiy/xp5H+7oh7Wwq78/T0hv2dCiVqjp3pQbAqc8g8sIQveO/LkkKFXMfVAPVgZziPen/W01G2Z9/JKAyOYjIYH9smI8IGztFwPiev7M85qbg4pu2/nW8FCkqdbZgdItFZ77SCXCPLatA5zRXxDJP2ttyFHQGSPFvT+4bCnpO/fLXwiOhFAbhNNfQ+zc4yGHB6kYL7cu6xUxK9SC63AhQpdu5lWhIVs1MkL4pP+EXHqgMU2yx/y//GwS9qzV1OMMoYyDvvQgX/wsDud6fRxP4lrcD/1QW6qR9+3jZCNFnyN0eex 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) --- 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 Wed Jun 14 02:13:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13279461 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 67879EB64DA for ; Wed, 14 Jun 2023 02:14:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6BCF88E0006; Tue, 13 Jun 2023 22:14:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 647B48E0002; Tue, 13 Jun 2023 22:14:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3AE738E0006; Tue, 13 Jun 2023 22:14:30 -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 29CCB8E0002 for ; Tue, 13 Jun 2023 22:14:30 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 0742D1606B1 for ; Wed, 14 Jun 2023 02:14:30 +0000 (UTC) X-FDA: 80899734300.03.E48C937 Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by imf14.hostedemail.com (Postfix) with ESMTP id 453CF100011 for ; Wed, 14 Jun 2023 02:14:28 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=YVGVxBZ2; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.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=1686708868; 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=Aw61vajIkA6oxKB73VTHpA/VflnxZ90Ui6bDTaJJ3WI=; b=X6F/tNvYgXymCsKVT5+Ge+8U4xUuQxaAEsuLP9nVlCp1zGGkvYShgBjt1p9XcUvXzM9uqD T32Bagjjhv8Euq8SSgdwirElowrOJmw8HZiaT4BPYsNwmLFhPIM9THfILg+8A/douOcApe vfd7oGQOUeimyntvbSFf/uuYvaz299k= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=YVGVxBZ2; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.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=1686708868; a=rsa-sha256; cv=none; b=SXPbWMU16rV738ZZimL12atzNzOiYobpbdpUrvuwqAt9+D2c9lYhBFXFLg+eWhZ3zPIOtr GUusPNp5CThRx98pKt3fiLJCEJ/vdb6xjzGTc7fcMSL8cIvstSeT7YEPLAnJHPc4B045RA 5bhT9MUaPxKbh5YXJgYQwRpeV+XAD4Q= Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-56cf6f4211aso2221717b3.1 for ; Tue, 13 Jun 2023 19:14:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686708867; x=1689300867; 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=Aw61vajIkA6oxKB73VTHpA/VflnxZ90Ui6bDTaJJ3WI=; b=YVGVxBZ24BVkgipFXR1ege6SG0fquUM1JH7q42WM3bdfobtzIc/5hyKqeObocHTx9s YtuexTTE4n9ZN6g09ubR4ZWkQxBVPZrZ8m1eDguoe2G4wXW96CQ6FI8nblgkM5bY4jU+ gUFK4MUuHGorqR4D0Vp98p+Kscxi4CjzlTH61wP3tNZNnMnXRyz9SHgK4NDbi2jc0QhP ASVH5Zm5MkUGhggDoxVovPSkseAh9bRkRrXskHJeRr2xlK3DyGjUP3H9bWMNiAXnEgNF ZDU9v507kHNPrF/05L1OOJKm9zQGf/tzfJKh2qSoF+lgxnCuOtSSp7Iq6vL0G8ISpxMP vRQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686708867; x=1689300867; 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=Aw61vajIkA6oxKB73VTHpA/VflnxZ90Ui6bDTaJJ3WI=; b=hcq42zYZ0t0/Nq08LFze8FerhvuNk35EgDCLEHfW7Xt9dayAw094trmRIFFZ9z3N9h rgybwuxOswNHMX5OfvTq8SBsnGEUpvG1khWjZPaktOHBBYRM+N0RCx0QSaumA+T5XtZE KSaVhDmI5njee0JBp1Fy9IZgAaDqub2IInRpFJNHI0Y+FadxwlKiFBphsSkiYrmkblWi ZBtA/h4QCm7tXm3PdCB6d/bVfei+tghPZX1ckU1Sr76igGEpea/GrmBESIkxswliCOcI e6n1EaZMf8HPiYXlpmfGBYP/pBtco9N1AmJTOgHBtMjY57w/lwDEy3hC6EJzyad8kODC 1xmA== X-Gm-Message-State: AC+VfDypoT4FbUlVYMcvgvRvip/StvTGaVIfC84lVFoh2XpYx+bpce2h N9gn+jnpOHdyuux4yb7haqo= X-Google-Smtp-Source: ACHHUZ44hRkvmSZRyOdyCv9N6hHgq9+NVCEiHaCWIGQfc+HCHZ7D1N44hd00/7Ix8TjS3ef0oKpmIw== X-Received: by 2002:a81:84d3:0:b0:56d:5a2:89ff with SMTP id u202-20020a8184d3000000b0056d05a289ffmr488167ywf.33.1686708867379; Tue, 13 Jun 2023 19:14:27 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::e]) by smtp.googlemail.com with ESMTPSA id p3-20020a817403000000b0056d30f1b508sm1463931ywc.107.2023.06.13.19.14.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 19:14:27 -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 v2 4/5] mm/gup.c: Reorganize try_get_folio() Date: Tue, 13 Jun 2023 19:13:11 -0700 Message-Id: <20230614021312.34085-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230614021312.34085-1-vishal.moola@gmail.com> References: <20230614021312.34085-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 453CF100011 X-Stat-Signature: sgm7xcmonbt9ychsmizdtdpc6adaugjg X-HE-Tag: 1686708868-570309 X-HE-Meta: U2FsdGVkX19ZIGG6ih48Czsbuv4jKXvXYG7DE5VHBAR/9TS2GaNBlWjVpTZTV+jtymvRh7dOLS+vHKJMd5inxuyLbBnICWejvLqPXTSX1UpmKbISFZlGjACktpjfmBVfTQtgd7MBNpbfdDlb8C8OMyMCCA0CWvOxYsWR7g3cKW9ec/+Ll2RVIYaxfb37FMg4lw/L9PN/1jIXmLKla6V7afK846B7nzwnBPnHkJzD4gLuVNvGHM5VE/kXRpkzhEbvvt2MaFbiFfCSrgO5YuCDW3YRhFl0DrZwPSb5mxohWoynv6jB31ldPQrFArZGHj7vV2bSGlDOLjdr+sjsEiREN/4uw9AaNcKHAPTfFVArVIJrJDMYksrwNU0+0F+49+Sw8h+Mf9bx053kfb+w9nAOtlrL/6UO9eR+KErOyBNUhdDAEWwXEmvsdw8Ld47yDyyYxQ680My6K8akF8nLofEaQzcRzAAlDd/MsmWaogkPRN1mvDl0mWXUOvQ9GDQfx9myphAz+wiUjviUlNICoI9WYFfMOfAp9o4XZ6onrmPHMSMDOcx+PbBEi4OaX5ufvPAyAEgAm6E+leKLhIG6Ez7vLo9b6C5Oc1F2P7DRzoC+HcZDZogeBkAlVSVco3MibTPUbotlnm1hrGSHUcjHu8vCKYbQowH65uLmJCOwV9Bp+s4Ktt2/IlcbzNQ6WIw6LcNAZajTQ60ri0cu474HO5CynEREMFkI1sSmHlI6rkQ9TORWlH+m5cVRpNMkM+NRe1cLUCGt1nb9j7qEkkdUMAOLMT6IOsjrwAE+dPFPdVt3hHtEvxxX0QhPPT3/HmN8e2+9dN5XsJgS8OZqa0TLi3W3M+VCwwcbpEveNCl2wRjSPJqocKDU6SvaoT58JUJmhBrYb1hQ7ArCKlJ2aovl2RkTzR+ECa2xSoMrI+fZAZ1VxB8mybKw+BGvA5Ci07E8Vg4dgu4tpZ8FmfdeeMUjYHl Nu84K9I8 1LWWJGrlECEhy8BaOw4pEct2DXmOTF4+nBtPImdpRoynaJVAq+prWdjiuWxuEfu8SAmPUdScakFFUnX1J4g78rvKr1NlqztOysKLfvP5T6sC0a0TzAHOU6Ws+N+uUksYfqq20opSIdjjdW3fx7eTnrlCbTu606npIpjfxkP0LUAAnVZ8ZkCbjUtVIleJj7A1iD+eH9IZ5NRR54i1DQ9Tz9DWOPvkOLYYTlWRfyOCd2vYFI6xXDSW2SG4Hs24PdAaqCKfTJ4pqn/dXuLwfxzKVhTSN7JgwLCBd9ZFppjtFxXYM4brYfWVdXtgM5NiYJ9ekyri1vSm9dMlMMr/6mRZnrV/2mEk2VvTAPMAnA4OVzLJC/fQF4bcWNXR7CEO4GmrNoVzbim+BmEqxmmtKHQA6P2jF1AMIDScJ1mu3Z1edMY211nkmNdQnJ5K09rD7vhAD9DkzDyraxetEcmIIFLI8SYlwdXvpH0SphN3cl1+Mzcy37i0QEijeLnNAMure+68+F/fAZvbwPSUVjfZ6Fz3ACfZ++aa3Pag1YpaywI/gky+IrnFlooGRY3ortM7gW2OG+J7FcCRkbwiwvMc= 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 neither FOLL_GET nor FOLL_PIN are set, warn and fail. If FOLL_GET is set we can return the result. If FOLL_GET is not set then FOLL_PIN is set, so we pin the folio. This change assists with folio conversions, and makes the function more readable. Signed-off-by: Vishal Moola (Oracle) --- mm/gup.c | 86 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index bbe416236593..6ec5c9629dc9 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -123,58 +123,58 @@ 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 (WARN_ON_ONCE((flags & (FOLL_GET | FOLL_PIN)) == 0)) + return NULL; + if (unlikely(!(flags & FOLL_PCI_P2PDMA) && is_pci_p2pdma_page(page))) return NULL; - if (flags & FOLL_GET) - return try_get_folio(page, refs); - else if (flags & FOLL_PIN) { - struct folio *folio; + folio = try_get_folio(page, refs); - /* - * 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 (flags & FOLL_GET) + return folio; - /* - * 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; + /* FOLL_PIN is set */ + 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 Wed Jun 14 02:13:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13279462 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 7D525EB64DB for ; Wed, 14 Jun 2023 02:14:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B50F98E0002; Tue, 13 Jun 2023 22:14:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id ADA0E900002; Tue, 13 Jun 2023 22:14:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B7178E0007; Tue, 13 Jun 2023 22:14:31 -0400 (EDT) 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 79A8A8E0002 for ; Tue, 13 Jun 2023 22:14:31 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 5074D1A06C1 for ; Wed, 14 Jun 2023 02:14:31 +0000 (UTC) X-FDA: 80899734342.27.34549C2 Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) by imf15.hostedemail.com (Postfix) with ESMTP id 8425BA0003 for ; Wed, 14 Jun 2023 02:14:29 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=O48zV0HJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf15.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.180 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=1686708869; 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=Oezw1x9OR5I9OrjQTv8pl4ceJsvnhhH8ZZxaxblQe1s=; b=jAqfqr0J2CDttlbahWFgWkJSYXYmLn8eWhIuiqFyxF20WeqDmKsm8lxDrGxRqLONeb6+jB Tq6wYHMqm3nTtRiaQbRnLAwkxDg4e3EZmWPjCy7/HiHwjObkgLs1+V6L4zPVuAEhrhtV8m gITzij2tMNdNCAebF0IMkVDTAnYjLpQ= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=O48zV0HJ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf15.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686708869; a=rsa-sha256; cv=none; b=d1vKULB9OZI0FgaHUVKAbFR2mtkLlj3P+iggDLpuoEH3qWRlxoVqESy0OmXv9Yc3bsysmJ hrmPtpB5/p7f9jXxeJmb7p4yQTJtI6RAoDFR9Mgn4NxIWNy+qR7ZcAvZ60OMvSNm6Nmixt YLU+2yfj8lw+ypwYDk58dPxnqJqWyEc= Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-56d0776f668so2205657b3.3 for ; Tue, 13 Jun 2023 19:14:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686708868; x=1689300868; 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=Oezw1x9OR5I9OrjQTv8pl4ceJsvnhhH8ZZxaxblQe1s=; b=O48zV0HJ8AnO6I45UUKI48I+tD/Vv23woacs9hKnlQUxpefbJbhzQLqPr5GRevY5g9 QPj5DwIyXOvszZCwPQHWvb8S2Nec48dlPm76GAa7K/NYG3zynZ9iCijubGWPdTnPPLT0 PNLSWXCh2boJweoP/O9U5JQj5ruvgnbTzpj5Co9lQHUdNgysNtGP9IcmCL13jGSnCTaN /r/5Gw13CrEJV0ZyM4DKdT6pAAe9yjoHrmua6tqXJZJ22cz/oxKC8YCvWk0BzhIevIVA qeMFjIYfkShTzuvIClUtOGRftTo40VJp9tIsll7NcDaok7XIcijeg4IZ0QOGEojV9+h0 TJxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686708868; x=1689300868; 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=Oezw1x9OR5I9OrjQTv8pl4ceJsvnhhH8ZZxaxblQe1s=; b=V88RQXvXUdNdu+yv+8y5qLKdKXxUVF445pSV6doVYTVQAW6WI75qkpFgJFYZagX0Vi p6QNrr6E9/VcAyOR0zEPctmn9xo52zUnllKWkpzcjfxtvmF3fh+lblZ90cdfV5r7Whuu M9PVHqfroJ0TDccGxEQJIh2clV+bkxvufX9fjHlee9twwDYkMdORn9WRkEaESj08dbyu u1LXn1wRZdZuE4Aee84dFTHp2DqZDbq5INUsB+k+s1Tz/S4i0tuD+cFXsfV12AS3Nv9Y mUqJbls4oh4FiSidBmAPAMAeS0sW7yBNarDU9nhsEvCofaPiJZH7SwUsIpBDiQWOOLFT Uh6A== X-Gm-Message-State: AC+VfDxqO6+YRuZrQH0b78k2FmeV3oJUUZG8wl3jEf3SCehUmBQ+q4MW gInHp/CV+7BmP3pXLlbI1Zo= X-Google-Smtp-Source: ACHHUZ4U+/TjEKVuJNFVPqHGiuvcd9miGd5mgokN6FTvX/wE87apwS8HCpWNLHMIde0JYtJVPLwbsg== X-Received: by 2002:a0d:e6cc:0:b0:56d:3b1a:8641 with SMTP id p195-20020a0de6cc000000b0056d3b1a8641mr516908ywe.23.1686708868335; Tue, 13 Jun 2023 19:14:28 -0700 (PDT) Received: from unknowna0e70b2ca394.attlocal.net ([2600:1700:2f7d:1800::e]) by smtp.googlemail.com with ESMTPSA id p3-20020a817403000000b0056d30f1b508sm1463931ywc.107.2023.06.13.19.14.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jun 2023 19:14:28 -0700 (PDT) From: "Vishal Moola (Oracle)" To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" , Matthew Wilcox Subject: [PATCH v2 5/5] mm: Remove is_longterm_pinnable_page() and Reimplement folio_is_longterm_pinnable() Date: Tue, 13 Jun 2023 19:13:12 -0700 Message-Id: <20230614021312.34085-6-vishal.moola@gmail.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230614021312.34085-1-vishal.moola@gmail.com> References: <20230614021312.34085-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 8425BA0003 X-Stat-Signature: ziecs6o83m4rn69zc43xi8x4nbp17rq8 X-HE-Tag: 1686708869-204326 X-HE-Meta: U2FsdGVkX18CS4FeD1TqtE7k1CWamW9aM69mTA7LZLQzszBTqGrVt/fKyookAruByilhg0/O7gPWKBUCiUHPwo8w/Jghhu4aKLWvVIyl/zlORbDaqXd4YkVrI/cR8Q4DjmLyqXRJAF0zVMcsN96eWtaEGyOz8DhExY7KoXOzCe3zzbu5VVp2u/py+3RQOGMYtVhI9Qr9SMipI3kgC11qrVDd+Pyfcro1SrSBEw7zsSmqkiHh84thBENvQsXmaBT+fR25RB3B40ijGkS0jCBbk9CMmZrBR3skVeUd5xaqYB5dxUKDiFrN9JJQ+v6dJJ1mH/JVUfdxhFzxNaWz1KNLK+gCF4UWkacytw8deCvo0qBSNGTI9RrL5hmjP6e+WLmbDDXP3urdCkVjbNwlUBAfqHFihownk8eb90hAcmtUaqBwtb2Clq8bDY+UAYIQo3KzTxSiBp/AyALE1BGi2W+0VvlZc8mkxC6V7UqqPT0uXCpUn+8dElmI2A1vhonsKRPnN2y+gXrtW510pIGals47iLWRwjKZCJDw8DjbGCFZV0IPlDmNhpI5MVJePhDC/56xeXBmtJcEUztN0LEB6wqYDWHTVkkx5l+4cFeqjsHHGbL55T+1HzyqGUc5j1OKO5wGiLF/Cnd0Ru8oAHeXreieWUTkxTMYQYvbEMxXlvBa68pHW/0esNPeGTht59hEbYn46AUrOMnpRF+2Al/YzDrmHVI5ikGJpJ993kUt4byKWAjl0mZceTKpVA2H3egVN/6cK1daeT+tzXfByx/QL88WYbY9MkK2eN6hpas/pcMw9Ac/Tgnvt39WZNL/1x/8I+sO151T/U3CDPGuimo1zSy7F0TFdDlGRA4TIpp4aYfIdzHcjrZw6jQ0KL5oKsPVKjZrOjaTs5E2hwHl9xe6vFJWZGIxHiLz7Q8WlPLVkhoqW0Q7KjHbe9dilgYaRPT5rmoUuNCasXBnXxkDhImrcI3 FLGhaXUQ vWx0PEX0rBJKQSOFRwvL8oWKK0Rp/HNodcKXm+OOCnuGvF2ZXHBb6tYlnDvKDRTpM2YrZMGEtOLXQmSNB6inLIlLoUP116CfjSINlOMn57kFH1LqECIrgO9iylSkqugSv2KRE3vAgfQHR8HPNfuZLbeYCjUm3moQp3VFw62g/UE9tS4QhaIoddu9OwW13m0ZVE4rw7tDwHsDcoJvgEXSJmUNDB86K9lvXivHoL/YoGWbvHwtpnmbV0ejuPtbsv340aerkQ2vKEVxpcpyEEzQzt8kr7Y3MeqOaWSlpKPe8ZmBjahPNFrlvhWcssgTaUZg8LfcQYtIpMYazTViVP/wTIKAwyQTyta6Mq57z+pyzoTpm24BW7efujaUfRUVLvWunvNpG5P42vW9G8lT/R915CAl8nKBqG3pyYtoEztJZOAGKodTPITvyI/cOZpbSe76SWqNblqGtodCbdydF0bzIHwKkg/vO+tvsAkyubgrsUsu5XXkg92itacTS2aFjbA7jb2zwtdLawZXVnCizs9/jMm0PGeNyoAfDMm/205lvJ5pfVrUvTSDTHr9EfTmFMNYmJsyZppTFzrgSZ3JiUx1O6MBVQevKRtLj3xN7ZN7AXHZMa9FaVslgSCNYJL/YKV6bwy8o 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) Reviewed-by: Lorenzo Stoakes --- 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);