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 30F40C4828E for ; Fri, 2 Feb 2024 08:11:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C047D6B00B5; Fri, 2 Feb 2024 03:11:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BB5366B00B7; Fri, 2 Feb 2024 03:11:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A7D746B00B8; Fri, 2 Feb 2024 03:11:01 -0500 (EST) 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 9980D6B00B5 for ; Fri, 2 Feb 2024 03:11:01 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 7671916095A for ; Fri, 2 Feb 2024 08:11:01 +0000 (UTC) X-FDA: 81746143122.24.1C2F358 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by imf20.hostedemail.com (Postfix) with ESMTP id E9AA61C001B for ; Fri, 2 Feb 2024 08:10:58 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=MLNVjhBI; spf=pass (imf20.hostedemail.com: domain of zhouchengming@bytedance.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=zhouchengming@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706861459; 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=sZZU4FMipo/OE/fTPsyTBnGWJR2EdwEX0q5lQaRxsaQ=; b=akatfIwTEeA6QBwK21fxgfCRhH0GGOokEr35ouPZrUYCCa/qgwfJSc+xvRQhO454amsrpY joHTMS8D8aJ9+XMinTTqA24pL2x7u3qfc5S/BAkN3RiKIk9DTHPMhVHfKsuSKJ31GhjcgN 1SfXt6ZjFiEhHLkJtCiKlHjOMJdVgZ4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706861459; a=rsa-sha256; cv=none; b=DTFWoSkPkJsbyKMUFRf/mDBPEdkM8SPWjw61U87IDGY+/r0xDTdBP0m1ztkEzICEIl7GV8 E24sGQBXHXqyvD6mS9xKmpdS8aQkHntNOS8GLVnE1B+u9Gy9G+urxDPn4nkIdfwde1xaxL UGMKY5av5qgBLs99KowDpXhs3LYXJE8= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=MLNVjhBI; spf=pass (imf20.hostedemail.com: domain of zhouchengming@bytedance.com designates 209.85.214.171 as permitted sender) smtp.mailfrom=zhouchengming@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-1d91397bd22so14856505ad.0 for ; Fri, 02 Feb 2024 00:10:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1706861457; x=1707466257; 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=sZZU4FMipo/OE/fTPsyTBnGWJR2EdwEX0q5lQaRxsaQ=; b=MLNVjhBI/UMr+ARHnqQRe9rrQrOOA9LAY5FqpYzb1jpPnVv4vZ2lvBf3++AHpu6BI5 xcFM/Dj8dKCpXrOQDDn3yB/xBU27h0kvDgxfVhQPy9JkdYTQVlqDR9g2PGr+kD+VHbIu uzMt3V8hRLnzWH7WqrYf85FEq2x63vMD/Lj6y8BI+llVxAqu7SyMXNJWGAkibiQnL0HX qoiaOcUFnq8129tFJT2zRp2AcTBWVgt7kKKHChVnROaIWLPANVtfQEt57165J4RtM+FO 8SMImwbz/FENjS4hnP7qeo4yztG0n8gB1RgX3rCu4HTn7s6d9u5lH6RlQ0Ej01+faFHz FCoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706861457; x=1707466257; 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=sZZU4FMipo/OE/fTPsyTBnGWJR2EdwEX0q5lQaRxsaQ=; b=bOAYveonTd4LWHX8MG57ShVf9eJO/pGERX59H+jlYXz2ooWIRJdxAjJIg3k3rJ0bU8 RRNfzTnXEi6zbFE6nA7/OAHNqqqPOxztl2K2YSfIFaoFCsvCAVBP9C0/LDkY81TPcc6m mQNVVTzKIvyXlDMUYFwqLSPh4d4zrnfPWvp3B05+DrWiGb+9oS5BxekiY8OgR4D1fW0B mQQSUousFrMEK25iCOFJ0YxPNa+z7jYYiEbCdocQOTdZBiOPAytO0au/otOM4H8tKEkt i03ewXHSuiZXhcfKCs9EfsAdJEz3UhZYWntrb1dzAjsUz0KavtFt37lbgXwbkWN3v3gH h+nw== X-Gm-Message-State: AOJu0YyjW7jomU3z3g066VrHpJJpUr0MBg1/4Jz+12j62UqKflWzxYoA +1GpgkQ8ACbp6MUI9cFPrwbtqdc3wJ2r4WwFoasBxymgrGeETYJisvfiO0BOHZU= X-Google-Smtp-Source: AGHT+IG8qiRct5M56j14zQWbT+GZNjWLZGju7MSHlxolFfwtoZ4LQUGW98/Urag61+I6wQZaO6TXPA== X-Received: by 2002:a17:903:2b08:b0:1d9:63db:2bd7 with SMTP id mc8-20020a1709032b0800b001d963db2bd7mr3031170plb.61.1706861457589; Fri, 02 Feb 2024 00:10:57 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCURMLp+4Sjpbz79qAWFsT/X7NC6O+bV3Or2umNADQrhiybs7RoV3SCVTRRZEzdZ3zZSkF5B7nWXE1iDhjrvl7wAvGlJXGe2vBzRu/pwgzUH63dHMAO6PZTqjyQXxXa919QR+Xp0afGZ/SwyFzYevlXCtK76irTqsZJ2/YFB1v8ef2kMFjX4EFNB4h1814OlLg== Received: from [10.84.152.222] ([203.208.167.154]) by smtp.gmail.com with ESMTPSA id j12-20020a170902c3cc00b001d90bacc8acsm1015264plj.124.2024.02.02.00.10.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 02 Feb 2024 00:10:57 -0800 (PST) Message-ID: Date: Fri, 2 Feb 2024 16:10:52 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/6] mm/zswap: invalidate zswap entry when swap entry free To: Yosry Ahmed Cc: Nhat Pham , Johannes Weiner , Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org References: <20240201-b4-zswap-invalidate-entry-v1-0-56ed496b6e55@bytedance.com> <20240201-b4-zswap-invalidate-entry-v1-2-56ed496b6e55@bytedance.com> Content-Language: en-US From: Chengming Zhou In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Stat-Signature: ibd4bzixufx1ui87qg8k1xeodwyewipo X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: E9AA61C001B X-Rspam-User: X-HE-Tag: 1706861458-207104 X-HE-Meta: U2FsdGVkX19GxBCor/QPNONSTn5ON7z0RfDSBimtNN4UFP1sJj3gce1OkFpDWQg723v51IG4xfKj9WiZefYDvzWA8yFSfXBzCooC8PKTFcfqJxti/FUzzUyuv/nT2KekIzd2zlKydRDynbeLI4bmIH5bbyKaZD30vp1wWXj/JlWtHsBzrGkv2xpb8RB60IYEdO5i+TzM0OtNQfWShDayB3MzyexWA2amSvShyauO5U29MSgjbQY+04O9v8dHYXgRDx3DtVQKQBXbfJ3/54RKgFTGqEsHlb4WFlEd6t6k9vrJ8qFY3fAaedDXG+bV6iVuOUXb4mm9J4ZpL7BDiV+aari4VrOQSC9KVzTiMYAssgJImvDYJd0oPlyC/zpPPkPPvi/AKdEJOm08vSi+odVjE9BLnstGbM5eiUCOJyk9U4QyWtVd0pSyp7HV51/KmDahPRBUoLguyl6pjYzk3bF1Zw0T19fKk7pZt4drWrGWhpYtq/33zmVZDUbi7vThPi9hcDmYe/TP/YZoS6CFqBQYsgMge7SeDiGXH07q9NOe2d+AiH7pmk7Yqu+i7NMLNSqn7HLFunZ02P2LvGrCKJ/l6sHoYXX6+sRvvNyke8xZTkZTcoxMaNhYyOckU+taAPNbMaYJuJW/H6KV9mOTD1kDgl8qvfBoYBMKdaHfL+s8GrauNnbDQdNM4lBBKOj4cj5FMv5gLX7MKmd55ZaUxePbkLMHe1hV+/aVVmOwaOp/xKqE4KV2uFJM8+jLPck11jFPD7g1y8msNr/aOBDu+fPd6499xWQLPqrmyP1Uc2QgyCDOkcmomRevs8TSnGdfwOlWa5gnKetDJF4o4sSnbOgQEaYJX4aQUfVGFIN3GLyPzIK663rEcGdkduH1GKKJp8j3vr9gEvnMGNqp72I6M46TKQKvUWYsGKJCebCJqUiMgObpWDIV1eApkGQf/Ow70SUmzrH1pNa4GszA28SRk0U EFC3Juxg ye5ZjDEjvtEbPXQ0Fs4dRrvyHEc3qsV2h9ZSabffN1mRNm1HQvS2bLuUI85nqpoYDIbPZdaaY9lglzeUK8BTLzAEUpCalaaG8gseACOe87oZvvsZNReJo9TbZPw/DwTQ7m8n7vWsKxB5/guXInTcdFRDOFl+aD/LDGC7RLpcTkg0ktiMRb7Li7XF+hWB94zVQ9jy0YmnCLdFPpu48nuHZ862m3S/yPb4u1e+Wo5KiHlVIFgOKdX7IEet+Pzv6O7eV6sIgHow5OHeQbTJiGmCFn3jBVvLyJ9RdW04lx+kSCdsznXJaBD9oe1YRBuSCSFX2X/rh7YFzbSuMjsgHExfCFl7RGchywf+zwKsYSIuIY7fqhfM6HS/UzroCIBxwMqwStOAZyBJn4dcL+M9mqmJV7nCQDw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000096, 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 2024/2/2 08:11, Yosry Ahmed wrote: > On Thu, Feb 01, 2024 at 03:49:02PM +0000, Chengming Zhou wrote: >> During testing I found there are some times the zswap_writeback_entry() >> return -ENOMEM, which is not we expected: >> >> bpftrace -e 'kr:zswap_writeback_entry {@[(int32)retval]=count()}' >> @[-12]: 1563 >> @[0]: 277221 >> >> The reason is that __read_swap_cache_async() return NULL because >> swapcache_prepare() failed. The reason is that we won't invalidate >> zswap entry when swap entry freed to the per-cpu pool, these zswap >> entries are still on the zswap tree and lru list. >> >> This patch moves the invalidation ahead to when swap entry freed >> to the per-cpu pool, since there is no any benefit to leave trashy >> zswap entry on the tree and lru list. >> >> With this patch: >> bpftrace -e 'kr:zswap_writeback_entry {@[(int32)retval]=count()}' >> @[0]: 259744 >> >> Note: large folio can't have zswap entry for now, so don't bother >> to add zswap entry invalidation in the large folio swap free path. > > This makes me slightly nervous. Should we add a comment somewhere just > in case this is missed if someone adds large folio support? Ok, will add this comment: + /* Large folio swap slot is not covered. */ zswap_invalidate(entry); > > Otherwise the patch itself LGTM. Thanks!