From patchwork Mon Jan 30 21:43:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vishal Moola X-Patchwork-Id: 13121906 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 C8674C636D3 for ; Mon, 30 Jan 2023 21:44:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 64DC26B0074; Mon, 30 Jan 2023 16:44:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5D5056B0075; Mon, 30 Jan 2023 16:44:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 49DF86B0078; Mon, 30 Jan 2023 16:44:00 -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 393D06B0074 for ; Mon, 30 Jan 2023 16:44:00 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 10289AAE47 for ; Mon, 30 Jan 2023 21:44:00 +0000 (UTC) X-FDA: 80412793440.18.014225B Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by imf09.hostedemail.com (Postfix) with ESMTP id 3E774140017 for ; Mon, 30 Jan 2023 21:43:57 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=NjXIlAyi; spf=pass (imf09.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.214.179 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=1675115038; 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=AQAnzIUAKIo9PYy8DfeQ6dEwBvy6hOjFsZ5eeKz+fAM=; b=VmYvJOIx3MjQvRlX1u6qRshPkv6yl8UkEqcLaW0k9p0AAu+nxTUmzL/Hpt0O7glRHnLldi uHgyLRvTBR1pjtglThphDVYhYOrOsEgYEVeuEYX/c/Pt8KwjBnOAZifF59JAS8FxnF4UH4 vk1PVDhveDVIuUqVflrWac2WSZ7Aez0= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=NjXIlAyi; spf=pass (imf09.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.214.179 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=1675115038; a=rsa-sha256; cv=none; b=tE7FwoNQjv3POc6MuF/1o/yPbkfMgg30hh0uKBRdo70GNroMaEgeDJB4Q3BxWIQ6tWtaSk zyEJ8XSzz6y8Np3II00QVAdJqEl0oTshO9uMkGHt+5njNbP0K5p/c8CFaSI5fRpksOFTkz UL5KTY/g1iZRZil3at2tdDANf9dpAVs= Received: by mail-pl1-f179.google.com with SMTP id h9so4486857plf.9 for ; Mon, 30 Jan 2023 13:43:57 -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=AQAnzIUAKIo9PYy8DfeQ6dEwBvy6hOjFsZ5eeKz+fAM=; b=NjXIlAyiR0deTTuNNGqVsVHStl1zv2yUiMk8LF3V+2UtWWEHxxEmH/WvTi38H+n0Km efIzZVLPFI6fFsWKBixvsI+LtIvzevHWJ+BRJCXj74j2duQD4H9Xu/hhpB7rkZLpWRJL U0KGKvqNkZBhudk97/JFB/sv/NyIDA94Lxd5odZrq3EoWC9vFm2nFt+OblfVQNGS0T+8 wr1lJMCeholQggE+m5KdhOi/3J+J2T7MTpg4IYHPjkee38uGJP/1vgLjpoW86/G+iRBJ XDS0eY0nC4YtjetJpiyTakPSzkVZ3XPBLhNeygirPQljkPeCsB2exIMM9QmJ7hRAYQ21 vjaQ== 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=AQAnzIUAKIo9PYy8DfeQ6dEwBvy6hOjFsZ5eeKz+fAM=; b=7T2ASF9FQqWI31uBQy3qHJu6LciuLoyTCtFFsO+WNRLFnp97UTa8iabnduo1hy5N9j B9wJh/5l/Zkg+igPDKWvPw7WxDB9HCyi0N336hfUQWXJKFs0ZqDVfUHSMSRjDOMdueeR n9hsUsf1U5nuMqivDulLdjGm+B83T+MBkoYaJDnVJKGLXBcqogyHg4AnaBw+D3+AeJN5 glkh+1wZY2N012QgHvtV7exVwQZyqrPMccl6r/7MF4nu5K3P70Rt84GLezyRrzQdX7VW XUHALjoKjed4wBs3Xkf3sm+cAPQW1IBqWoaUK9/QIDbzhoQ7S4Alcg85LvUqk4crei7n hb6w== X-Gm-Message-State: AO0yUKUIg5fnTj4fanJ7wmh1U0wqZ/9MjG+CCYdFu/sR8U8EIhM4x0hn RqCC/x+Dv4mzgVIANKMTNFjJ9t3EjfE= X-Google-Smtp-Source: AK7set+50P1Topiogo/75E3Ef3QePYzzis+t8Ra6SjIFk0sHPphfrVD3y0rm/SQHvyF6Hg/a1Kiu+Q== X-Received: by 2002:a17:90b:3ec2:b0:22c:2166:3eca with SMTP id rm2-20020a17090b3ec200b0022c21663ecamr18852242pjb.6.1675115036961; Mon, 30 Jan 2023 13:43:56 -0800 (PST) Received: from fedora.hsd1.ca.comcast.net ([2601:644:937f:7f20::a8cd]) by smtp.googlemail.com with ESMTPSA id d5-20020a17090a628500b0022bbad75af6sm25156403pjj.1.2023.01.30.13.43.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jan 2023 13:43:56 -0800 (PST) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org Cc: akpm@linux-foundation.org, willy@infradead.org, linux-kernel@vger.kernel.org, "Vishal Moola (Oracle)" Subject: [PATCH mm-unstable v2 2/4] mm/migrate: Add folio_movable_ops() Date: Mon, 30 Jan 2023 13:43:50 -0800 Message-Id: <20230130214352.40538-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20230130214352.40538-1-vishal.moola@gmail.com> References: <20230130214352.40538-1-vishal.moola@gmail.com> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: w8oaw7tr7cdg5u3xh5814xdzhq1drrcp X-Rspamd-Queue-Id: 3E774140017 X-HE-Tag: 1675115037-888433 X-HE-Meta: U2FsdGVkX1/Oorh3t34x393HTuYyPdGznC9cq1FSay2fi5SicFoworXBw+TAVhAFhUkvvLhH6MX25altZ0U/2GeYPuAPha56IYZLjeisse3vsLTgfPLl7dGFYYDalfag5zaHweCvcuG9YE3gxPI58LKLMbftA0+df5Asz66bqgcvZ/3IIZwKHjeVB89VbtbpWn5VtDCi2PCK5I/V3wSfnVo5nb0b72ClX4zllrzGZjxatsB2YbWgiwyvVxZRDjWJXaREuaMpx4AhsH0vPBMLj8I5D4TNsdQCRH9gPMZuvIh/Ex3BKp5cn9fcGOV0PCp4GJAR9yQlM1uSXOBrKdVMpJHW9WONwdFzxjD+LvyJGq96Un+YJOYEzOCZ3XmtNOr3SfEp9I3PgDe0rMtrj/fEM3Zzh+UioHmuYBlNslRTkMCf5tMlaz8YvspMCga3LQLHpy+JQ78UJEGG2YjglJtjI3QMp4t6J7T66tynZHDWsvX2+A1No5uqqkTYbiUMV5uzv0Pg293a+7aMKXocEE/erC91h0YkxuEXkv9hFHdUgi6E/YRIQxmEct8DBLTMEyaE6aElCE2r5RoIzqdrD9ah+wFbzZrAXZRXhcHAOmc/h4tljfKDoszxlHNo5/dbgIofWrJW8gBZ0mhdT7jjn9B74Exputx03ZiejVbzL0gj07rRi0QXgSQNDXXEeBrK/CTiruDCSCVy+SN3wnebh2duMX9nwCg0cgX9eyw5ZSGTu0BvuWbn0tyJ3vDKidHmFk7g+EGcBvNZBAI12ZlhRzQcbpGZFKxTZg6pC1GqvWKJcEPW1doMujsGGjsOZ4SwhpEYcMbHApGEEBct9k1AM0reZziVun6Mx158Bmv2NEkgVtQGxljXjwECR7VwSMmeKLhRVA0u4U8yK6uPpxLDacEQ3W5ib7sTduhhnKpuaW0Qk/BsGfEG4Fah92eZAGgQBAYw+l28+SlSiNjY6/IjtyW 4yt6NKvf 6KRrRAVJbMfMUEl4Jt5oKmB6pAhfSc3npsyBe0hrgKjLSoXdu8040R43kea5/c5X+3NFMN6wcnA5/4b57wd0sKsnYRi/PMiIlcMYwDBI0M6m4OIcrq2urcxc6JBC36BQeJW3a4oLn5K4/x3yqAkTe6ktMQeWjJuIUZZbBww15XoiWY8GL8j+PV1Cdwdz4ATlGxKvyK7Pe6IgdLRp9XV0RN+zx8apDkfC4etZtvdoNwbTzc7ErmyOwfYWZ4mKCjck48FfvQR12q45Vrbs37tb37eQ3OH/fP8zwT3zM4IdrV8/PDOazs7m9pAas/abZPfItkqPmRRUfBq/uP7jzmE+lMtNrBU4WlDh4UMX3IktQXDGAvhenh3mp8Ccvh4yQ86Y3VafpIFQbKHs5NDGSTh2nxcqIX+7485pqL5lyA5Xq+z4oKevSQeESn72lDRJhpx1Dz3Rs2Ec6Ih7WsvVYZ2oBEXoWj9GWgzhiDjvoqHotk9VZtik/ja7tHWbPLZPqOuloGnBDiO+7kE4uTiEjpUrTmrmB8MZfkOMbAOIyFcnu4A7JBlJmZW94xOSK+qFhuOut+hulaE+MatuoU+qlV+AS5khk0g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.002975, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: folio_movable_ops() does the same as page_movable_ops() except uses folios instead of pages. This function will help make folio conversions in migrate.c more readable. Signed-off-by: Vishal Moola (Oracle) --- include/linux/migrate.h | 9 +++++++++ mm/migrate.c | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/linux/migrate.h b/include/linux/migrate.h index 7376074f2e1e..c88b96b48be7 100644 --- a/include/linux/migrate.h +++ b/include/linux/migrate.h @@ -123,6 +123,15 @@ static inline bool folio_test_movable(struct folio *folio) return PageMovable(&folio->page); } +static inline +const struct movable_operations *folio_movable_ops(struct folio *folio) +{ + VM_BUG_ON(!__folio_test_movable(folio)); + + return (const struct movable_operations *) + ((unsigned long)folio->mapping - PAGE_MAPPING_MOVABLE); +} + static inline const struct movable_operations *page_movable_ops(struct page *page) { diff --git a/mm/migrate.c b/mm/migrate.c index b971edbf32fc..fcb2e9fa1953 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -990,7 +990,7 @@ static int move_to_new_folio(struct folio *dst, struct folio *src, goto out; } - mops = page_movable_ops(&src->page); + mops = folio_movable_ops(src); rc = mops->migrate_page(&dst->page, &src->page, mode); WARN_ON_ONCE(rc == MIGRATEPAGE_SUCCESS && !folio_test_isolated(src));