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 7E854ECE579 for ; Mon, 9 Sep 2024 09:58:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 05FBF6B0151; Mon, 9 Sep 2024 05:58:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 00FBA6B0152; Mon, 9 Sep 2024 05:58:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E1A096B0153; Mon, 9 Sep 2024 05:58:23 -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 C50AE6B0151 for ; Mon, 9 Sep 2024 05:58:23 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 42168121673 for ; Mon, 9 Sep 2024 09:58:23 +0000 (UTC) X-FDA: 82544749686.03.71AED86 Received: from mail-lj1-f180.google.com (mail-lj1-f180.google.com [209.85.208.180]) by imf05.hostedemail.com (Postfix) with ESMTP id 4A76A100009 for ; Mon, 9 Sep 2024 09:58:19 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gTXJLw6Y; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf05.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.208.180 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725875817; a=rsa-sha256; cv=none; b=qQmYZosqzmzHZ+sU+Py+8AVQK9WKe0pTRVMZ5TKKXa969vzUbRY3UvA+4BTeXW3WHZhNBv +xHnF4XvgYaVKFWZmduw93OoosW66e6h4HJbU2k8YsH2UBvXjAOmvxqgwz3UR0C8qT0G/v +0E/rMC0pvsu4yA1QwZ8nfh+jfsAdrA= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=gTXJLw6Y; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf05.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.208.180 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725875817; 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=ld5vF7G5s/YIKEme3qj0NjE0DuhNgDeghoh45npdQQM=; b=wq/jyi/unjOcoq+avacMg8NGXx028VtTM7WQIscXkpNcJ2kUsl1N3nmkyqxda5AwRU61aG ObhrljUSam4la+WkpbmT5jhdm3u1SAJgLqL4wge/MGF6HcbTQiN029j3ddRgxqeb0fxGBM k50vRM1Ko/9Z5PotFEF535vIXIidBMY= Received: by mail-lj1-f180.google.com with SMTP id 38308e7fff4ca-2f75129b3a3so37860321fa.2 for ; Mon, 09 Sep 2024 02:58:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725875898; x=1726480698; 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=ld5vF7G5s/YIKEme3qj0NjE0DuhNgDeghoh45npdQQM=; b=gTXJLw6YAT5bfP4Mv3Lg7O0PuwxvloDb/6FnY/JyQdjOCUwWZQ1w0MKbtZ6E9eW35B cPBC8StMEGmKMjUWQF07oxBXmWDHWhkTEADOmqJ6IlmkHXnX2YhO8yXW8amP6NqjtXlZ XkHcTz2eEy2bTGpNF9Pjqwxh+VpSz5uF13fo1uWSOwWBE15ObQxZBFipNocDwdt/SDoc C1gGpg7i91VF1Fnl+8DxdQL3rqBqM7f+FUFe3cT4s1PMx+HVNdgmQJB8/z4c4TpT1z0k R8JBR+s41VttyPuvNyB16KPvYtqLW0yG3tqOXQWHESf/50SY0SvhE12l22VD2LEidegv fQNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725875898; x=1726480698; 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=ld5vF7G5s/YIKEme3qj0NjE0DuhNgDeghoh45npdQQM=; b=S6//qq5VpAvzbHmXfqwfajQDr8fF0AVDc0tCh1psX9Ds/Uztam3DZtAsJ2gvXpLjMD J1m+VFEdgiabxUs1K0zp4eg3nzT1q4ruR66VA4xxiqmy6MwGhWH1kZTzHhQcsyw/iRJ0 xcOOlWF0XB04gek3d9XGhfgkRi6NX0PLY+Ji4FnT6XZBLuGSK/3wCXh7LbecDFNZGa4w NB1Lm+FdrRPH9u7s364y6v1sQ8ean/i+C+hMHfhCY9xtunuZLzUv4z0KlbXWkhVcO28K ggpyT5Ocb9FBeWQri/pvk/rhV3FZyIpC2+Tc5iWXvlvYc2HRkz2LC1A0MBdSY6u2XJ9u bkHQ== X-Forwarded-Encrypted: i=1; AJvYcCVgoLj4S52vaj8ClZ8CCrgzQemeBfvJEdJhlLnul1UCy4CxxeTI3w6CIraxSFij3cwuYW6iTuQLhw==@kvack.org X-Gm-Message-State: AOJu0Yzug5vTiwPAJG73+IA6ECPdoColBmMXTbhegzQ4rz8W0D4qY3hF oEs31HrxWchMBhqvUdzECGsN54+nBshuHGn6eIew7gSs+gJqg4IJ X-Google-Smtp-Source: AGHT+IF3EorqKcfzSFCQLTZxSpzb+WcqiU3BXbha8cob9NJAjnrimyGP1pMO9scA+dt5nqO6NnieEQ== X-Received: by 2002:a05:651c:1507:b0:2f7:6664:f295 with SMTP id 38308e7fff4ca-2f76664f61dmr28234151fa.27.1725875897332; Mon, 09 Sep 2024 02:58:17 -0700 (PDT) Received: from ?IPV6:2a03:83e0:1126:4:eb:d0d0:c7fd:c82c? ([2620:10d:c092:500::6:952a]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5c3ebd41ce2sm2816569a12.19.2024.09.09.02.58.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 09 Sep 2024 02:58:17 -0700 (PDT) Message-ID: Date: Mon, 9 Sep 2024 10:58:16 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v9 1/3] mm: Fix swap_read_folio_zeromap() for large folios with partial zeromap To: Barry Song <21cnbao@gmail.com>, akpm@linux-foundation.org, linux-mm@kvack.org Cc: baolin.wang@linux.alibaba.com, chrisl@kernel.org, david@redhat.com, hanchuanhua@oppo.com, hannes@cmpxchg.org, hch@infradead.org, hughd@google.com, kaleshsingh@google.com, kasong@tencent.com, linux-kernel@vger.kernel.org, mhocko@suse.com, minchan@kernel.org, nphamcs@gmail.com, ryan.roberts@arm.com, ryncsn@gmail.com, senozhatsky@chromium.org, shakeel.butt@linux.dev, shy828301@gmail.com, surenb@google.com, v-songbaohua@oppo.com, willy@infradead.org, xiang@kernel.org, ying.huang@intel.com, yosryahmed@google.com References: <20240908232119.2157-1-21cnbao@gmail.com> <20240908232119.2157-2-21cnbao@gmail.com> Content-Language: en-US From: Usama Arif In-Reply-To: <20240908232119.2157-2-21cnbao@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 4A76A100009 X-Stat-Signature: cgsqtznir6itis6fkbw11jspoenwk93q X-Rspam-User: X-HE-Tag: 1725875899-932742 X-HE-Meta: U2FsdGVkX188JhXyC2uMl23qqP0EhBVVJDOsSBp/xcfsB1vgVh1zVv9EIn+1D0Um9fF4JexDGN4oefBghMhw2J3lXReXiHgdJdbBakmDPAeDucMkPmjdPTVCi8o4+sFTmli3COlM5hkjO2jjsOF/92llEeoYEZWnVklR2zLeefdqiNRQiHFa6ckRwsoH/pp5eP63nSOZDhuzmC8DPakb8QrL1xVTG8vOCcVpu61j7q0hlygoC4L7JPuuEsTvXwr/T/UzE3y186E1bCzi7lXXHmofoDxf9LsSNazV6/wLqzXCzA8niAHqY5qpOqSi/xnHR9ugldm6htnCu+EOavppb022HX9eCUMD0gLKgMtR+nSHRnf9O/l+eRWdhdU7t8eJ8AaJXs7/QAVIkXHtZGcauSNCH9M2ux1s5MNFzn1+mlqWb3sY/sv9BVkpFXu01pqxwQCYiHjcuRg+MUXAfIbWHhCcNIMOAT7k3kJ0Mb9g1YN6PuTFXDQbXIpUu1PYH7i7tcJkEET2KXx61hcCx2AhqwEJtNia/XnUVZZvbIvgILxreLQj6WfBC+JTAu4YXjnRwXUQb99BNohv8377hvQW8g/bEEBlXPHsx6kwGqjfGzJFYTlTUt1jVBPDm/wBE359xml+i45NBX+lKJAHVvZbVSPH13nlc8cFEMyIMW8mUsHiAEzydlD949MeN7S5J+iAbFi/dUzqjUNrAg9fqPQnq3bCx7tGRIoQIAszaRoBITALQBZ10Tg3VKs6OCOH2y2HTI/6KU/yoktUVP2b8Gbs+c1hBGnX7qjtUCGd/sJscK08RVelLX/9udEMXNa5K3xe5UaWTT5eH2TcKuQVba9iP06h48FX1SlX8IsnBJQhHmaxzJGpZf+DsCR8rNGODXLkWVlno6y7Ywth4mIVAqlqbpxmF4T6xedChd3Ck6WDa5wVGq7deGRg6HbUBzPUinNSRfu/ZuL37EOlnreqQ1r YQRZ1Ac4 IhoEiTRRq4xQbqDWx5USYP9e/jd6+7F/tY01HF/cm4w9UnOIVtGIiDgh6iD45ls0nGWImVjxt8oOKDHdOS1WtJqf5MNY0ZVDv+mvCwU97KkhNKatZMf1e8L7krPBeKVGtKWn3hX4qcxDcbhP7fAZivdl8ySGuUMv3pDax+90cbs89sDgLiwCtOPkySELKYcqqBnDHz11/2va+fqxeVA7EHeOSwYs+WRNMmbgsszOgEfQ/QdhxIdgccJb6TYg8JLPb0p+khGgfyZuApGwL96UVNi8rfWaA3xbMZdbm1BXEX/nchv7/JlNzIdHOJ1KShBF8ixGMF32OFbmma0k7QBvaEkW2ZMetN0du+0NaIPIlIk5c3J+2tWk21JNsinUAhzdx0kAgKFAL/IWjhuC6kqtJSS5QOxfzQqJx60XOJSDaPtXsjqahOMOaNAzqZUeUtJyzHhvlxcMgCP4gndKvhW6g7o5zYyT0Sn1ddG1njfiFy6eIQMKq94CP9cn5sdPLqqi4SzjsLOr3YLMFcU658cOfrCr09EcV2RdZUTddBdW+kkw6TT4= 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 09/09/2024 00:21, Barry Song wrote: > From: Barry Song > > There could be a corner case where the first entry is non-zeromap, > but a subsequent entry is zeromap. In this case, we should not > let swap_read_folio_zeromap() return false since we will still > read corrupted data. > > Additionally, the iteration of test_bit() is unnecessary and > can be replaced with bitmap operations, which are more efficient. > > We can adopt the style of swap_pte_batch() and folio_pte_batch() to > introduce swap_zeromap_batch() which seems to provide the greatest > flexibility for the caller. This approach allows the caller to either > check if the zeromap status of all entries is consistent or determine > the number of contiguous entries with the same status. > > Since swap_read_folio() can't handle reading a large folio that's > partially zeromap and partially non-zeromap, we've moved the code > to mm/swap.h so that others, like those working on swap-in, can > access it. > > Fixes: 0ca0c24e3211 ("mm: store zero pages to be swapped out in a bitmap") > Cc: Usama Arif > Reviewed-by: Yosry Ahmed > Signed-off-by: Barry Song Reviewed-by: Usama Arif