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 26242CD128A for ; Mon, 8 Apr 2024 06:58:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5A9C66B0083; Mon, 8 Apr 2024 02:58:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 531D76B0087; Mon, 8 Apr 2024 02:58:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3ABD56B0088; Mon, 8 Apr 2024 02:58:35 -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 1B3716B0083 for ; Mon, 8 Apr 2024 02:58:35 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 8DB791A038D for ; Mon, 8 Apr 2024 06:58:34 +0000 (UTC) X-FDA: 81985461348.13.B9E84B5 Received: from mail-ot1-f52.google.com (mail-ot1-f52.google.com [209.85.210.52]) by imf02.hostedemail.com (Postfix) with ESMTP id CE0B180005 for ; Mon, 8 Apr 2024 06:58:32 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=exxYreXA; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf02.hostedemail.com: domain of seakeel@gmail.com designates 209.85.210.52 as permitted sender) smtp.mailfrom=seakeel@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1712559512; a=rsa-sha256; cv=none; b=GuFlPoouPrRWsGbccbCuG1tsjPbbhqH//BrOtmjZ88K3fdpKT5dQnWC6zDEkS4Z8OVCSQi L8DRCNuGKGrw5quLR9xW0XfNcLFTh27ukhMbIuHAyACmAWcWyAAgNysG4KgimvRRMMVC8L ir/SXc5DPq9U68MT11mc7RPr/ezJU10= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=exxYreXA; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf02.hostedemail.com: domain of seakeel@gmail.com designates 209.85.210.52 as permitted sender) smtp.mailfrom=seakeel@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712559512; 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=FoEgnDj4oJZ/BtOVN1Y4mT1PkwbO2MooDgu35TXiDBY=; b=MjSCV7yHu1CqlIoPZWAngS63ZNIi3XUFjKh1XtWPfCUfBlS8H4iPu2CaSSsTrZ11Fj/LeW bBpuxQgwDJ3D4JwIPN6fZXPte6rPzJntLwWjvVjE/9i1J06q+D1/2RcFKCyA/aTdFznlwx I/ed6devnhXI7e+z5rxTX66vhNUVRss= Received: by mail-ot1-f52.google.com with SMTP id 46e09a7af769-6e89e48d2c0so2145001a34.1 for ; Sun, 07 Apr 2024 23:58:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712559512; x=1713164312; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=FoEgnDj4oJZ/BtOVN1Y4mT1PkwbO2MooDgu35TXiDBY=; b=exxYreXAu+yB8yxsK7eCdE2JtHZUOikzvxWeL9kQcB9YX1S0XPN1Dt0LpFgTbzEaoM kAYPRPY/5bX3lF/Q38Ma6z0D1XgRLWLNv7aQwYtjgwpxPaG3kQ+V2rnaWxA65dAJT5uJ yPH/1CvGknCgTfksVahgcDk6+v1ziSZva78LcxP/TUwzGaNrMfYwnLMdbk1K5y3l7t6X 0E8tJA6u2401ZFPPE2+RB6aGhZMawUkv73Y/R8tchwwuBeyUwrCTVdhk//PpDUzCkesM F99+leOAtC3Lwl0ZpSwx4XelpbJmyjJqWk+AvA2L95yxYXgqRgYZ4uZGTR14pZOKZlas eaSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712559512; x=1713164312; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FoEgnDj4oJZ/BtOVN1Y4mT1PkwbO2MooDgu35TXiDBY=; b=R14gH/gT57My9umm23obCRsR94RozqLgHXcH9yVIQKFOvEk4ewGUZz05QcxUmiW15W wQdoAkFxv9lZ7KIjaRqmSapWC+QNeZTbCZclQ5h0HOjVK+OuYmQS5/E/i+qOYRzXlJoB eQ1JcSaIETlIIlsTSMbv9iUwaIjzaZwkGFom3s7AJDE1NYJBgkPv379BB2/XEHhvKaOy 6Zkhhj2bR97Nz/5Ofk2VgUqFWRJ6M1CWO+6U0ime10iiPDi3oys5xTYEB7xgMxs4/jQi H7wJlVdiHyyU17nj0sOFK4brwlefAtLYeGpQmdnRx5u29ncC3M3KvkZamRvKlREJvjhM vyqQ== X-Forwarded-Encrypted: i=1; AJvYcCWiVtezybk671SHAb6vFnNyS7HS4C+UcZYLDpXSqFXZdRWahk7BT9bkRvwqhINYxPMrZhX9NlPRWj7uazO8l90gAFA= X-Gm-Message-State: AOJu0Yx0joa+t20tTFrgEgxFhieQyWEwgnyXdkNSMAyFo7Gyuk/a+X0q G68Rs8f49vQIZq5KUUTpiE2/hlMYch4xXp0GjxqNh0Q6ZXMK3rrc X-Google-Smtp-Source: AGHT+IFSK6/D0rOzagy1/zSJBKXLz+q6H8hsvY0xHkJQFgJf4c4zq09MFV+GiamERIj//Ok+kaM7Lw== X-Received: by 2002:a05:6808:209f:b0:3c5:f5c3:1c5c with SMTP id s31-20020a056808209f00b003c5f5c31c5cmr1851283oiw.27.1712559511628; Sun, 07 Apr 2024 23:58:31 -0700 (PDT) Received: from [192.168.255.10] ([43.132.141.21]) by smtp.gmail.com with ESMTPSA id a4-20020aa78644000000b006ea8c030c1esm5733082pfo.211.2024.04.07.23.58.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 07 Apr 2024 23:58:31 -0700 (PDT) Message-ID: <9cce197b-bbdc-4003-898e-11d736497c1d@gmail.com> Date: Mon, 8 Apr 2024 14:58:27 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 07/14] mm/ksm: use folio in write_protect_page To: David Hildenbrand , alexs@kernel.org, Matthew Wilcox , Andrea Arcangeli , Izik Eidus , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, ryncsn@gmail.com Cc: Hugh Dickins , Chris Wright References: <20240325124904.398913-1-alexs@kernel.org> <20240325124904.398913-8-alexs@kernel.org> Content-Language: en-US From: Alex Shi In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CE0B180005 X-Stat-Signature: kdrp9wzci4mmewnastmt3n5b5ct3sq1e X-HE-Tag: 1712559512-89355 X-HE-Meta: U2FsdGVkX18FcoTe/XM55nPXU/tCBDKa+qI/92YfrPR0jU8Hy4d3CKCpiyri0OlyZNtKJhP638shfEKeLSFJmyt10sPDXLA/2YV4APivQsuK0e6zZULdWBiN0GGm4YufWusy+vg/S3Z+4v3vS8k1/CFociIQ2IXJkANQHlacQS8IruNaHMxXvCLxuOAEea1AEONkxXEOcnGP3UyhqK9eJp4co1pdYPUMvg9ji1TzdEfROFgYFOgcswPsSA1dWxM88Yoa+FQs2dtDofqWLvcP7WpmnVpFSc/AZR9KPSUpTbMQmvm23hZg0FdH+Y/5pwZKY5EAK7o+pbiENgjRCtFZ0s8XoKCZT7t+cS0s6QdvzVKvJFTcncgxS8Z8ooW3gHXyzJn51WkaA1Zg18YXViHooRj9BHfO9SCMunYOYb3GzakFuwtwBvMHrA5rJRufMc+rftDxvXUTROdmgM/mTfqkGPhrJui/X/vf+bRmm84IIzSxDVQmQChFGICHLJyw4Tgj0q6rq663cHSvhZ6m7cZBg6dtgahkeu51mK9/KiKIhAb+018UgCtVdrePokGsHWHGQ5W55GOPMAvkWOWZiKVzKa63tON/GJM5vqCkyrPn9x5DKwc3Gd9jG5/h+AQ1c0iFGYUI24lMzwEAcFaPk4yNRIA0lmLoMpOAVv1Gn6IzNAnOeuuvbThVBk27gK0ajgloRYPMZ3CYBjcrBNgW2T5q9ftqCXH/S2pJgVPBoiY7kFfeypwl4V+xq3kVt9UEvkcybkdK/JMC2jdrR3XWRRHlEx36VrUDTx+bLvmRAXfL8sn9PyHT7rHAv8h7WQNLJ2vFzkjwajOQZGzhq7a7eoDuegRHevlbEKPocrYlOvv8LBWV4r1lnV/EI8teHzx8u7jOBW5VYSY81MIdwWpbaY6yWWYAgCT6PMUUSVRe45Jl0Xb3+CX8cPLpt0ly1jEjIs9BmjIA1SC0IuTboBFfoWi aKJpuPiM pzWQKFjXMWpnpMrKkSYD6if0TKRwFtEtcjSKyzkkGgjlhl32RiQ5qz05P8MG4oblozqm+b6g28q5+J84GDharOzL4QzkFK/D6DyGq6Vw4m7PgGf51sry21fiShgTcloxbee9zkaXWBBQnZBtu/jZsmtZ8VZYqYPJO58bi 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 4/5/24 3:23 PM, David Hildenbrand wrote: > On 25.03.24 13:48, alexs@kernel.org wrote: >> From: "Alex Shi (tencent)" >> >> Compound page is checked and skipped before write_protect_page() called, >> use folio to save a few compound_head checking. >> >> Signed-off-by: Alex Shi (tencent) >> Cc: Izik Eidus >> Cc: Matthew Wilcox >> Cc: Andrea Arcangeli >> Cc: Hugh Dickins >> Cc: Chris Wright >> --- >>   mm/ksm.c | 22 +++++++++++----------- >>   1 file changed, 11 insertions(+), 11 deletions(-) >> >> diff --git a/mm/ksm.c b/mm/ksm.c >> index 95a487a21eed..5d1f62e7462a 100644 >> --- a/mm/ksm.c >> +++ b/mm/ksm.c >> @@ -1289,22 +1289,22 @@ static u32 calc_checksum(struct page *page) >>       return checksum; >>   } >>   -static int write_protect_page(struct vm_area_struct *vma, struct page *page, >> +static int write_protect_page(struct vm_area_struct *vma, struct folio *folio, >>                     pte_t *orig_pte) >>   { >>       struct mm_struct *mm = vma->vm_mm; >> -    DEFINE_PAGE_VMA_WALK(pvmw, page, vma, 0, 0); >> +    DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, 0, 0); >>       int swapped; >>       int err = -EFAULT; >>       struct mmu_notifier_range range; >>       bool anon_exclusive; >>       pte_t entry; >>   -    pvmw.address = page_address_in_vma(page, vma); >> +    pvmw.address = page_address_in_vma(&folio->page, vma); >>       if (pvmw.address == -EFAULT) >>           goto out; >>   -    BUG_ON(PageTransCompound(page)); >> +    VM_BUG_ON(folio_test_large(folio)); > > I suggest > > if (WARN_ON_ONCE(folio_test_large(folio))) >     return err; > > before the page_address_in_vma() call. > Thanks for the suggestion, will take it. > > Reviewed-by: David Hildenbrand >