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 8E969C4345F for ; Thu, 18 Apr 2024 10:19:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8EF0B6B0082; Thu, 18 Apr 2024 06:19:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 89FD36B0085; Thu, 18 Apr 2024 06:19:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 768236B0087; Thu, 18 Apr 2024 06:19:17 -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 5999A6B0082 for ; Thu, 18 Apr 2024 06:19:17 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id CCB2C16132D for ; Thu, 18 Apr 2024 10:19:16 +0000 (UTC) X-FDA: 82022255112.24.82EFC50 Received: from mail-ua1-f50.google.com (mail-ua1-f50.google.com [209.85.222.50]) by imf26.hostedemail.com (Postfix) with ESMTP id 1616B140004 for ; Thu, 18 Apr 2024 10:19:14 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=iXEZ4Pf9; spf=pass (imf26.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.50 as permitted sender) smtp.mailfrom=21cnbao@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=1713435555; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7QuOPPA02NXP13o7JH32iH/XYg33BypsERiunyF7/0U=; b=jF3zbyNhFMYFnqlpLalsf/uxmqp0is53EYBwj/gUi82peeRHL8KofVVhz2Al0YBmVkiBOd 8vuuEKOtXIB1TqGRXVYhNlIOKV4uAfTk1GAcZfw6sPS+9BZQKP4hdvPg1oiJdE/DKfRP3w ZzA7g/vQmk9lwmaOBatUU59zKHLpxPE= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713435555; a=rsa-sha256; cv=none; b=Qvh9bIU5ZwpaI4rJWFvLWy1uhDXg0MbweblbnViEmX//RPNJni0eojgypEocmkwjiOu6F3 JQpMI1dLr+swHzrDS5Y4DM/7JfgFdfeHPucg38TVX/yxDySMTcfDPj69mguu7+YbgVKd4W 6ryjB7QDmf6yCVv5UDu9FYTq3FRXZU0= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=iXEZ4Pf9; spf=pass (imf26.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.222.50 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ua1-f50.google.com with SMTP id a1e0cc1a2514c-7ebef13c4cbso190123241.1 for ; Thu, 18 Apr 2024 03:19:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713435554; x=1714040354; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=7QuOPPA02NXP13o7JH32iH/XYg33BypsERiunyF7/0U=; b=iXEZ4Pf9anh2DY4sKta+xgPr+ZSa0afzffxLm4bb/t6jUaXbuQ58usOrWCzgUScu4o +Dg7qHW/fzIf+Q0diMQKcIKhvyA7iSnao11eMadx495QmuolhzQN5cq6I8ExSVcgVS1a zUx9ojiz2xCu9fGTtpIcE+Gf/Ictuf3r01lYfAVo3Okq4MDM0pwq5o507E+SFw0PAnlk bhD8rkg/XHUcVQHVcWahfx1Gf9CAbLKCMgGwVWSITSPVSte1MelO4DLEVrb0SsngzrRN Up+Vr7bPAGd4GwS3ksejb7gV0smPAtmwZZ3UAfYIXzL0Hu9bkcgqk5ZqtWjD/vl/5T7/ hP/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713435554; x=1714040354; h=content-transfer-encoding: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=7QuOPPA02NXP13o7JH32iH/XYg33BypsERiunyF7/0U=; b=MA9SUT0OcLGDuXJmWIiLJndg2QrFglO5iHA/JYwcmkp7/wOvUW3pMOo+DT6n2up2w+ DVRTbLLYAGR73PiUkbKDXUW3PR9+GtKcLQysNINp46N/kyR9Gk3QqTCTOYpgDE65k1S3 M3dERe82a4vTwTAFWIbf/DY8xPm5Q+AZKsIsprdSd+cW2EYvs2OAystDdWpvgqnPXkdJ R5P4dlDFHOYjuY+v2lwjrMLhmEeMumXSvQakRgznTIvFwzcZoHphQXltF7YpVa6TJFzE vsGcV6HOME9K+N5lcY809RL1AAb/EgQVuyS1YYiG+hAMqCG0hllEy04v+5Aeos3ut0iA tOig== X-Gm-Message-State: AOJu0YwJqZOhp5elyWCbpWYnuqAduYg9NglEotNJX0l1oWQOGmGhWVyB NfznjazRbdpIDzTvp6aqGI7kW7VfG+WCLBs8xZTVk61KaL+G2x9B6mUR/gjgC+U/1+2lRzQ8xB0 014gxFGvYSdugoLT9BAzyDamD2VQ= X-Google-Smtp-Source: AGHT+IGMflGHigU8Eg0vQ4TNMTAXYcW6h8YOwebe7rJ8EymYG4DHBz561WN3t+D6I+iM3orlfSSM2gPpEHnrOBhEBfY= X-Received: by 2002:a05:6122:550:b0:4c0:9ed8:57b3 with SMTP id y16-20020a056122055000b004c09ed857b3mr2912649vko.1.1713435554013; Thu, 18 Apr 2024 03:19:14 -0700 (PDT) MIME-Version: 1.0 References: <20240417160842.76665-1-ryncsn@gmail.com> <20240417160842.76665-8-ryncsn@gmail.com> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Thu, 18 Apr 2024 22:19:02 +1200 Message-ID: Subject: Re: [PATCH 7/8] mm: drop page_index/page_file_offset and convert swap helpers to use folio To: Kairui Song Cc: linux-mm@kvack.org, Andrew Morton , "Huang, Ying" , Matthew Wilcox , Chris Li , Barry Song , Ryan Roberts , Neil Brown , Minchan Kim , Hugh Dickins , David Hildenbrand , Yosry Ahmed , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 1616B140004 X-Stat-Signature: 6ubhwms3oiosmaebpj9mukprztf1c9ia X-HE-Tag: 1713435554-766634 X-HE-Meta: U2FsdGVkX18HebzmK3RxfSiFAwa/2KSAkrrmga0rucvG7zEUblQukrgTHN0spYdJQg5b8aCWEttmzWRj+zns3QoZDj5ikmKcjfurcsNkLviRQh4wZpXa2B2NWXJeTWet6yzXLu9c8yXelXCtxlMaI2RF+d8rr9GPgWj1w4/2uLyh+DZV25TuraPONI3+/MQPR0ueWPBujXoGJlP2i057G6tA0WHVHjoRx2fYP2VxTQPne9hsw9i8AD4eHNSZnq4LNHPvbw8jsr4x5j3wkaRE4V0J1YYYLKN26RyQmM8K/8059+w7TbmxdlqUg/skJOId2p177t7YkbNmEU38JIEB5YABXU+LLB4o/FE3wgaKJsNfYl2mImhLG2pbi2E35wovm7RcC20qTO+O7jbKcgrW1TH1eaPbRwnZks5npTu7uccHo0rr+kozYsQfIsTruaDnhmxM1AueOIeosZlArRBcjQorQlg/O7Cmm/P+GkMSwHH7sJMTw81GI3wDQEz1HDyapb8VbmZ0QJhcedDV8g67DRg6qS4arr3Qp4vmRKW8X2pZi5BhaqWYIg+v8VpZnWVSAJs+Z9RE+xhPV3UnNnBHI9gfJf+R18GM1VxAULsqEcoBl+h/frvudkzbCMlrLs6tioBTFtYecLrngJq15fREebifZVdLy4IJhhIvnxZl9l06TrjLY7oPBJE+H5KOOZ/WyaFCI7IC9h0uhu9SDDbplW1C/F8PXKMk3km4Zhj2skVCf9bxlXVbkWE5YBloFM7bubgs4BdJIv6RExSTb5N5oXxtOPQO8faayjypRWaisE3lTVk8v69bjHj/DjFLFQkrG2fjttdsOBNnaecO9Z6bDueMqhrwyv6p92xGk0INbSt13NrRB0ydlUrDRXk8Kt29sHBWy9uawPgaH3lTTVFcWL7ZbwIAkoWG+pLLGCVCMoUjZywTIIApEf3jOrWACLKKcmgzW7fTvxA+xdrC+iQ zvKuT/VX oQSLJ20lhXa2LuoUghfrBj1pTdZKQZSgW5Y8gOQeQvvP1oe79vXV/cqsuVjGLbMIR3pVy77qriNDSewvOkjRY8rDkLESSk41/FLzBiQcbY5qqI7aBvbTAq63MHQPb7T9w7vCCBTVXBfveoR0nQagu09+tHPCrLmLBNuEDaznIB+ejw+kdi/erEULeSfhaGRfNB7b7gOvi11sdDCr884QUWCzRNPH5knkLEpK/MeSv82S1nViSR9Q29uNPpaZNzsqPkPoqEzrg8LMVW9mJGGpbTq8eYPTQixJ6PePR6gDGAmaJL54iv0OE6s/R1vDoUJ/LVVBYEcmGp6WKZhqvgmyxhqdMZIG2onH+YL0hxEj9hvG/jjWfK5CIdQ8uR7qXLnyjz+i38Pdw6NYKqrJHeXaXXa4ibMcpjzIoLhZtiwKt2xvhoNkKMWtm0vYjtVtrvTS/MewHRdtQsTuhMetv8SV7T47U4fx6d5p+AeTQpyOqjHlpkKZhNH6XmM9YHDBYZQPXMel/qIJRPxWqnOuucPT2yoLjUirR3RcFFGs5 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: List-Subscribe: List-Unsubscribe: On Thu, Apr 18, 2024 at 2:42=E2=80=AFPM Kairui Song wrot= e: > > On Thu, Apr 18, 2024 at 9:55=E2=80=AFAM Barry Song <21cnbao@gmail.com> wr= ote: > > > > On Thu, Apr 18, 2024 at 4:12=E2=80=AFAM Kairui Song = wrote: > > > > > > From: Kairui Song > > > > > > When applied on swap cache pages, page_index / page_file_offset was u= sed > > > to retrieve the swap cache index or swap file offset of a page, and t= hey > > > have their folio equivalence version: folio_index / folio_file_pos. > > > > > > We have eliminated all users for page_index / page_file_offset, every= thing > > > is using folio_index / folio_file_pos now, so remove the old helpers. > > > > > > Then convert the implementation of folio_index / folio_file_pos to > > > to use folio natively. > > > > > > After this commit, all users that might encounter mixed usage of swap > > > cache and page cache will only use following two helpers: > > > > > > folio_index (calls __folio_swap_cache_index) > > > folio_file_pos (calls __folio_swap_file_pos) > > > > > > The offset in swap file and index in swap cache is still basically th= e > > > same thing at this moment, but will be different in following commits= . > > > > > > Signed-off-by: Kairui Song > > > > Hi Kairui, thanks ! > > > > I also find it rather odd that folio_file_page() is utilized for both > > swp and file. > > > > mm/memory.c <> > > page =3D folio_file_page(folio, swp_offset(entry)); > > mm/swap_state.c <> > > return folio_file_page(folio, swp_offset(entry)); > > mm/swapfile.c <> > > page =3D folio_file_page(folio, swp_offset(entry)); > > > > Do you believe it's worthwhile to tidy up? > > > > Hi Barry, > > I'm not sure about this. Using folio_file_page doesn't look too bad, > and it will be gone once we convert them to always use folio, this > shouldn't take too long. HI Kairui, I am not quite sure this is going to be quite soon. our swap-in large folios refault still have corner cases which can't map large folios even we hit large folios in swapcache [1]. personally, i feel do_swap_page() isn't handling file, and those pages are anon but not file. so a separate helper taking folio and entry as arguments seem more readable as Chris even wants to remove the assumption large folios have been to swapped to contiguous swap offsets. anyway, it is just me :-=EF=BC=89 [1] https://lore.kernel.org/linux-mm/20240409082631.187483-1-21cnbao@gmail.= com/