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 376FCC3DA49 for ; Fri, 26 Jul 2024 08:54:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B200D6B0088; Fri, 26 Jul 2024 04:54:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA9786B008C; Fri, 26 Jul 2024 04:54:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 949B86B0092; Fri, 26 Jul 2024 04:54:50 -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 74D9B6B0088 for ; Fri, 26 Jul 2024 04:54:50 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E93171416CF for ; Fri, 26 Jul 2024 08:54:49 +0000 (UTC) X-FDA: 82381293498.17.DB871C4 Received: from mail-yb1-f176.google.com (mail-yb1-f176.google.com [209.85.219.176]) by imf09.hostedemail.com (Postfix) with ESMTP id 13A6714001A for ; Fri, 26 Jul 2024 08:54:47 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=j71ozmkb; spf=pass (imf09.hostedemail.com: domain of flintglass@gmail.com designates 209.85.219.176 as permitted sender) smtp.mailfrom=flintglass@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=1721984063; 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=0/JqcV8mEVQ7/8EgwWHNQ9pvAuclyKNwszROAMV1vmM=; b=RVX6tjtTie/ja4zUcfseUU6EEdIQ1CbW9EhpHO6+d6YNDYCwlzrZiFmJAaKV4ne6Wgo90y 4JbIFJheXzgPNx40jMEgoERzgQKoxijp2ztobtcNE8MZL9ffsuVC7ij76WLDW95YI9vxgw 7ftVWyUl/981lHOCLFP+/zCoSS32A6I= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=j71ozmkb; spf=pass (imf09.hostedemail.com: domain of flintglass@gmail.com designates 209.85.219.176 as permitted sender) smtp.mailfrom=flintglass@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721984063; a=rsa-sha256; cv=none; b=RBuk3regJJplY6aJ6GUm4KmO91peuhLMzjR6dy8XTAu95/4RoHS6bdffsKyo6r3BOxjyQR chm5VDn7QnxLuROXykjnqkH0iWTdPYZ2k2AlHuwgbO7xKj+E19N1WtlWX6kbMj6jRzQ98R yZ9Whkv3nl9XYzxbbveLeP/tWzetMso= Received: by mail-yb1-f176.google.com with SMTP id 3f1490d57ef6-e0875778facso1773749276.3 for ; Fri, 26 Jul 2024 01:54:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721984087; x=1722588887; 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=0/JqcV8mEVQ7/8EgwWHNQ9pvAuclyKNwszROAMV1vmM=; b=j71ozmkbB1eeDy6NB8SlcESPpAD5ckcf3Uz1MwE4yVXpxd+QbggOqTVijzTB4O1VYN r67Vy368QxTbzIIBl5GabRpkJ1HaKTtqMdE2Zsu1K6fgBJ2JySEjzC0vf3HabzjemvI3 DXOg6Wwrp1nD0lxWbtKypJgOJKnOAZT5xt5tLatH3R9QLBfch3Hz+kU19boehB85dWEL 1AXmeokStjvweTxkbDkeuvBfzENVKlaKy6/2firzYzp682GT4aAbU2cNAY2BarKexcvE yms6Ka7IiE7fN1AEfRufve8CcAR5TZW+DsPYaqxWaYMKu+vqKgxFXI0HHgownMy2yfIo qfqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721984087; x=1722588887; 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=0/JqcV8mEVQ7/8EgwWHNQ9pvAuclyKNwszROAMV1vmM=; b=V9wu7cggM5/NbUnfZOPbLunF++sH43unnLC/9CtSBsXComKaX4Xf+JVng4S+qv2oTs RjTS3u96X0eDInGXdC7lFkZTdrMQFi3+IZU6zwNDwZy+xj/W4BqbauFyiud9v7PiqKav izKIvtHcLNRgIcYij50Dn4lnD3vroDipcGxW/fAx5w238wBGIQmX72V1It7DFaYFIDAT GCV99YZPsim5Nei3ll1XoxjMn9VFTRaUF+sBWHiMwvnFciS3MKMYHH1ndpCUidgdIAz+ goo+waKknVlatvO5igENQBVaZxZPA4sUUv4neF5WaU5j/WVRC8OAIn15vxxUfDnMX3zF h7IQ== X-Forwarded-Encrypted: i=1; AJvYcCW/dniOe5MWbp+l1RzCIB7GNHYavXSwuP28d3nBFT6V8VlN/BzfaDR4C/4B0jZHIHWiQ8k2I5FA4YhmR0GOoIQekH8= X-Gm-Message-State: AOJu0YzEjxn4Fzo5nCWc8vDXk2H2Ioe2epduQ/OigAymKYFU6cZAoqQc 1wBoKOlDZg16DaV815I4XYL/8+ZRovzGoHrnIkq9Gc41cJlv2OYivZ4iWLeQpOgedByx4RR0q7z QcAiVcWeCOQsIVqTtQYbLyAqeJLo= X-Google-Smtp-Source: AGHT+IFXv3qeViSvP4rwyzqAri0VbyvpF1Nb+qBE34k7tdpJKT80WFDQASVSVFCDCn6fBFplpiKrBDg3TcjJd/QL1/A= X-Received: by 2002:a05:6902:1b85:b0:e0b:43f4:b541 with SMTP id 3f1490d57ef6-e0b43f4bb65mr1236916276.12.1721984087039; Fri, 26 Jul 2024 01:54:47 -0700 (PDT) MIME-Version: 1.0 References: <20240720044127.508042-1-flintglass@gmail.com> <20240720044127.508042-3-flintglass@gmail.com> <9ac88791-54e2-4f7c-9171-5a1d44e01657@linux.dev> In-Reply-To: <9ac88791-54e2-4f7c-9171-5a1d44e01657@linux.dev> From: Takero Funaki Date: Fri, 26 Jul 2024 17:54:36 +0900 Message-ID: Subject: Re: [PATCH v3 2/2] mm: zswap: fix global shrinker error handling logic To: Chengming Zhou Cc: Nhat Pham , Johannes Weiner , Yosry Ahmed , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 13A6714001A X-Stat-Signature: ncz91sn8qkcw8mga9try4cfcurrk8jt4 X-HE-Tag: 1721984087-271179 X-HE-Meta: U2FsdGVkX1/munaoiNxmn7L5D34qw4u/flgkQZoM3tvcGU9UdNJD13WB1eLEqN4CnOTx9NtQtbQr8eXi152ASfyIIp7OEtXbY085wJNV7G+0SfqWKl7IcsLmLye0nu2A442xt/HhSE682kv5AiqdFDEwEyDJVm9gqgQuPU/v1QhA6mpRvE0MejHpkMXIxgOhZ65vPyLEJdCU5LbX3y2XPXY05TlCded/qLWd/Q0BQ7vBrzf2ORnH6l2u0fTKBdXOhxet8yOSNSIGr64UheOKpQJbYWpBU+DeOeK0hZrmb4vwSRlqYrchcIoj2IwWPPokqBFMUKQRT/fRA2ZdXTDbJ3n9LQInrj9D2EiGTqVtgzv9EWm5bmclHEjPN+Sy0aOF1R13L/duGT0kM2TBa1aPKON00PDBFxs0OQ7ooB2FFABmJkk1SVL0/TFVCmOzad7QdE31iacrKgGRFt+Z3H4qmpVoHtVFrc5PNGhQw9OGnFXEAZFZkhkssPsvOGHbUO0u5Z1ThPe9zrwg4A2y6k6bHhVHu/sHFZBUDqOCgIQa6NnXEZO74Qj/23XOKLC+Lv+0wPMw/7/Lb4mtxuZ4znXYxsSYYX6ZulCseobe3Bjrl41r9G4snIjjCyDQfv8IIJHV/Y4nRHLEZIKPDaCvhpOqViHjciEFc81pTQPuObsBza0wyBVzWUC4/BTF5FergrnWBMs9e22ZYbfKaQnWNAwZOcwfTDqpZyM8d8maIbMYoxq5iIvQQJ57CYXUn/TAIwpl1ajKjnXdoUimFs12jxyocD4ER9260Twe0OmcJtuIPIdG+ptOXc1OYl+pA4sxS3gbQJeHC3tvx8iNDuvAEHlcozbUUx3R8fdz/fgZnJdHlVXFHHKZ+YNnJ6KN/fugN/PQ+YjyNftACee3iFcRMXdfcFmhhPpuA1CrXHu6lAtNGLqFNfOHGh/LcCxKp/yw7qGRREkwMi7rQfVdmKJgq9V WcgcvZnm CPZQzrrse6qmJQbp9aOuF5ulCtLIUqRF5M6Wus3B4K04hdodNgHGWTQPZ4BdubY8t/CnM3S/WsJKzohGWcjpdd+zSEMeRnWDCZueHQiOXChCaU+bANklQuNTNZclT9FZ1P8kCD04IocCj0UXAjWnOQDQieHQEkVdGYRwigzfgA9lVbUl5kQdlpWWfgbcrwzEWTIZ4xdmU5ZPmKkknjc0tv2mmEJigkG/udFeC1SEgU12zyzO+ONV/4w5KVgCrpaLu1SHW5qNCzhlHRAkPc+bNPcmZm4iypaAL5WRNRK/vUbq41LKo3vPOpx8fJdeqobBDTllX23THWuMeaysVCWEdZayJr6mRHas5KsNQOPOkwC4dHAkPDqsl8IRUSqKZ8aKsfopI X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Thanks for your comments. 2024=E5=B9=B47=E6=9C=8826=E6=97=A5(=E9=87=91) 12:21 Chengming Zhou : > > and, the reasons to (not) increment the progress: > > > > @@ -1387,10 +1407,20 @@ static void shrink_worker(struct work_struct *w= ) > > /* drop the extra reference */ > > mem_cgroup_put(memcg); > > > > - if (ret =3D=3D -EINVAL) > > - break; > > + /* > > + * There are no writeback-candidate pages in the memcg. > > + * This is not an issue as long as we can find another = memcg > > + * with pages in zswap. Skip this without incrementing = progress > > + * and failures. > > + */ > > + if (ret =3D=3D -ENOENT) > > + continue; > > + > > if (ret && ++failures =3D=3D MAX_RECLAIM_RETRIES) > > break; > > + > > + /* completed writeback or incremented failures */ > > + ++progress; > > Maybe the name "progress" is a little confusing here? "progress" sounds > to me that we have some writeback completed. > > But actually it just means we have encountered some candidates, right? > > Thanks. > > Yes, the `++progress` counts both error and success as an iteration progress for valid memcgs (not writeback amount). Incrementing only on success will overly increment failures counter if there is only one memcg, one from writeback failure and one from tree walk ends, the worker aborts on 8 failures instead of 16. `++candidates;` would be better? replacing the name and fixing commit messages for v4.