From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id EEB93EB64D9 for ; Sat, 17 Jun 2023 20:50:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6DC4C6B0071; Sat, 17 Jun 2023 16:50:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 68CDF6B0072; Sat, 17 Jun 2023 16:50:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 554528E0001; Sat, 17 Jun 2023 16:50:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 45BE36B0071 for ; Sat, 17 Jun 2023 16:50:40 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 11A391A023C for ; Sat, 17 Jun 2023 20:50:40 +0000 (UTC) X-FDA: 80913433440.08.A6E5DB7 Received: from mail-ot1-f43.google.com (mail-ot1-f43.google.com [209.85.210.43]) by imf19.hostedemail.com (Postfix) with ESMTP id 55E491A0005 for ; Sat, 17 Jun 2023 20:50:38 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=MLjsgZHp; spf=pass (imf19.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.210.43 as permitted sender) smtp.mailfrom=lstoakes@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=1687035038; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=OHn8Xgw17gU+Kda8waCzRgm915Hr1NA+ZRnxZtShvHE=; b=eotM0KHZZ36v2NYHAeCvaGITtBYoiU8lV5I3auQuk3DaYygNqWImjUGe8YRM1tUvvwWRRa lFZW1YPoPGbALDJFInD6T3VrVSPxBmJ9Lnu/oraX58Ki0ppEdwlu+k+Aj3t93UGwrLtyZt Trw4UieL1FsT0KrAWjgALAT8lgtIw9w= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=MLjsgZHp; spf=pass (imf19.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.210.43 as permitted sender) smtp.mailfrom=lstoakes@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687035038; a=rsa-sha256; cv=none; b=6q5IwISprYNN/ukU7J55L5NihxwTuDJvoREHqKq6PkuSLMTQftH92WnbvKHKUFG5gMpUkN 52XvyHjh+j/h1sGDGIQL1yU3kqcrrK2AcN2JqxjMhw/dpCIhNRAAcmgyqYV0bqHSdHBGWK DZ6Y/QGLxa+ZxWISCy6OfaQ5J8Z2raM= Received: by mail-ot1-f43.google.com with SMTP id 46e09a7af769-6b44b5adfd3so1446164a34.3 for ; Sat, 17 Jun 2023 13:50:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687035037; x=1689627037; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=OHn8Xgw17gU+Kda8waCzRgm915Hr1NA+ZRnxZtShvHE=; b=MLjsgZHpk5JPwl2Z1qaWZwMJqDwWH9KbD2l16ewt9v4z/z1S/UDgMKrwL9WcYsEfWn 07/Vt13TS6LY8+dMnPEYdEHPXOx/DS5QbaUp6k36zbqhvkEo9T+tSwSESDSkedX4msLh WRynyRtoN73bbDX1f1fihr4F6COD1Xy0BEKymq3cE+IVWUGnTPK3dH9s8TNrxUbAwcKb 0owSUvyo+ALahJsF+3+CBgLmCQSMMqjsvZ376ebOr75mfa8lZh2R/gqsl/HS4jziQhWN lydr5y3/CwmzmNFASgK5YSTK25GyCfYlG8ntfr0bPbYjRdhnYpAEIdskdzJcCu5xSQam qs1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687035037; x=1689627037; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=OHn8Xgw17gU+Kda8waCzRgm915Hr1NA+ZRnxZtShvHE=; b=fYYUYIKBBy8nVIGLDcI3NphchmiBILzTpLiCTMNFckrpGHNp8fM8u163tHkwknjfmx SJP68b84UKf/f+/MiaigOsPmT6eDV9Q3pxf/z57JH/WlrieJ7jeWWfjczRBQ7e3Ye9Wn UUHWxjpOIpv5nwHzZ0UFDS1875lVl3Ii9anJtusVDUZfjND6lkaJMVnqX69Fif6oqr/H 9SFsQOYQFTWByqI8aEQide7bfrCpQ3x7XTsQalUNdJUtI1+7KfaVOU3ma1RGke7iGsfQ XeFNH425RzP26K3ZYkRfkZEl4sPcV72AmXv4iRXQ8l8k1scnPC+t+vkaAbGFALTP/vNH ifUg== X-Gm-Message-State: AC+VfDwXOihTH/vyf8GHzv6Sb0BGa1TuYToy8LgZ1jSjN5LkUdUkcA7H bv+9u4mpuJ5UTVV8TU/NjVTPHUYkNr1Caaemix4= X-Google-Smtp-Source: ACHHUZ46E67WzZdOyX1RmVt5IpbndGhdZLGoa6H4uBgeSFEqHJpls5uDVvl4VPmlCxrpr4TAxVFh8muqTGoOZ9woXLU= X-Received: by 2002:a05:6358:c6a5:b0:12b:dce7:f428 with SMTP id fe37-20020a056358c6a500b0012bdce7f428mr2159357rwb.1.1687035037211; Sat, 17 Jun 2023 13:50:37 -0700 (PDT) MIME-Version: 1.0 References: <20230614021312.34085-1-vishal.moola@gmail.com> <20230614021312.34085-6-vishal.moola@gmail.com> In-Reply-To: <20230614021312.34085-6-vishal.moola@gmail.com> From: Lorenzo Stoakes Date: Sat, 17 Jun 2023 21:50:26 +0100 Message-ID: Subject: Re: [PATCH v2 5/5] mm: Remove is_longterm_pinnable_page() and Reimplement folio_is_longterm_pinnable() To: "Vishal Moola (Oracle)" Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Matthew Wilcox Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 55E491A0005 X-Rspam-User: X-Stat-Signature: drd5mw7bfgrrjhectbyjqqajn4hiad34 X-Rspamd-Server: rspam01 X-HE-Tag: 1687035038-288220 X-HE-Meta: U2FsdGVkX19gNWJKXftrdgbScVyx/uqbZRYY5ZTeGirKat4yczYKB+aUUSKSP7LKaA7b4W6neXbgMPPW/8jN36HKefLBynUJ2PL3ADznQlO0PtYyrGAr6L6v/PzPu6aVjZtDqNpoxjSt0G/vJDTD9NiCdz3YOLVJ6joORtZMDNKOxHHzDTifkEiGr+C7phLSJ5FjALIp4++XfZioJmMXKoLiytr7evRC4kFSxuVdjJVd7dTBm1eS2/0WEAyx+3bOh9KNZCYteipeJtbg1fmSOtApP//imPeGFmUpk0l1Jo+qQ8YybiKUak6dXOSSkje5V+iC1j1ChYPUtQFmgnrKsuUu/pl82Ning1tnJqZgUJwuZJUQl10gQorqtu1Mp2XCb96EvfHYwPRd5vxqP3Z4VbDzqXD3srW69ea510KXoyLJH+hGVuPtqjfcv8/VNCW+lYhcJiO9qdHRsSZSYRR8zSu5XhGQYCWbuDwUzYk/ypHFE6ZPHDebxyeKP/FIX/WU+CLSwT3yfBSFcVvwhcKm2CRqoSiNF8+dZx7Ap3jFJAgfFy1QYrNp8gYBDKlyQKAy5Tf2DuuUjzMMEPiRyxvoNP2N0XsNN9UwzFwYWOxq5vAdUdZruglyhSjnYZD+0WgmEmMlsBd3Ntgkumuiz3ePl9irlBvRn6fCi+p7jw0QP2LvdJi1E11VpYgfb7e7IGRED77na537hzTJ5JErZxql5hx9lFCzTzogspKoK4qXpa25JjK+N9XiihSLxXLo/Y7qYEbOVa8BexZvjwHsPYO0I21THbV0SflVpri3eKSodWYc3xpKJknH/KpZIA47t3+Xz/rtzHPjO3TTtD2mRIm+j93X/+dOjQR3ppd7BOn/mpt+Ju4I41o33LUq6sYKr1Drx53KGznNoSL+JHPl0HcnLh85sElTDCZV/FOUHXZUdXDwEMgW3iJ2agsAoyFGPdBc/3Nb/Ve9v+lU6hnYG4H apFsASg1 cKYvoXLkklW7NJQeWJTDPn4t4xZ5tfToX07bBYZJKjxxaYWvzynUP2D7GO2YlsJz9wOTrfkdKvFzriF8dYUVyckuukcIFNvELLAzK+VJcT5JRoH0walA7pAfKYrW0oOV+ns5Pt1jpHwkWG3nEeR6BLTstcKF4YGTb8p8+GgqEfciXbkNiTmDCQ6y7BI7jRm0knMvrydT4B3LleAYQMkmO1+UtiPALuApvA8y30WivV9uTkJrqzx1cEMCF+6zwbNSFJ4lQuhgo+a32fk6vMI46DOuK+UJgKsKQCsaXB0X1Kg5DXN1j3gBwyd7F3j4i4kBfbZ143/HuQi6ChGL6q338oVBcgYaneM1Oe4Sh8f9XcuRgmG8VnWDuNURwufZy7mc67OdToruzzhkuya2u0cYhCRIA0kazAdLElOwF1f8aqHlUPTzbtD7X4r1fFaNIx+SLyOLNC0g6Gpr363Ma/qgojoX44/A//mdiLvr9Fq1R8SIJf5XVos7f8PyuJrK5KfpBjWD1 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: On Wed, 14 Jun 2023 at 03:14, Vishal Moola (Oracle) wrote: > > 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); > + Nit, but you're adding a newline here. > } > #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); > -- > 2.40.1 > > Reviewed-by: Lorenzo Stoakes