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 B6DCACD11DF for ; Thu, 28 Mar 2024 19:09:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 46FD76B0095; Thu, 28 Mar 2024 15:09:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 41FC16B0096; Thu, 28 Mar 2024 15:09:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2E6F36B0098; Thu, 28 Mar 2024 15:09:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 120206B0095 for ; Thu, 28 Mar 2024 15:09:05 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BF3B9A15A7 for ; Thu, 28 Mar 2024 19:09:04 +0000 (UTC) X-FDA: 81947385408.06.BB7E1C8 Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) by imf05.hostedemail.com (Postfix) with ESMTP id A622310000D for ; Thu, 28 Mar 2024 19:09:02 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=ge3E9F+Y; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf05.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.210.47 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711652943; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DwcNMHArrUfgIYzQUz8OeSRd0Gobqr5qC5zdMWE8ArQ=; b=JNs76/5ywRUfwjR25TjYB1EXF+pTyzXZHymcWiYsNJveED6yBWsTh6fY+88wESrnhCt6lW RdiCnLZPCApackx7jni/lSG1zJPnYnZihDHk8bVWDRME8aLwpIl1Nv12Sy/PT97AO8yHtc Qzxjy5n4IggEq2lpBzB0rhhoHD/mpms= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=ge3E9F+Y; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf05.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.210.47 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711652943; a=rsa-sha256; cv=none; b=mSnsMKQpLYDRfspT19pG/UxN90bx99tpk2BvuojZAOyKonVSY4f93/x9shUcFw48alorQi 2bK2Z7t7GOYk0M/YRpOinDpENTbU6lWUiDM1E2jwZlefWRIHAeiXBBekFp9q9AadeLPX3Q Dnjgw+7ZdypYwfysD4uF+xNyAStMGP8= Received: by mail-ot1-f47.google.com with SMTP id 46e09a7af769-6e0f43074edso756031a34.1 for ; Thu, 28 Mar 2024 12:09:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1711652941; x=1712257741; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=DwcNMHArrUfgIYzQUz8OeSRd0Gobqr5qC5zdMWE8ArQ=; b=ge3E9F+YsyiHyoEAI5FKqvJ7QhkW8duZpgcLibx9Yvf3L3eQjQuXO79ZCXMNhiocpi HMLsTcPtcayKvedzdvXva5oUuUv89cQIHsiZ627oHhyxNIve4EpC3MTl68sYo3lVeNgq UWH3EWHanvdUcRks99wYH2GQ5SxSYQ+vkv7Bx5xgNnWZYcYnAkVNRfxdzkj9GylaFs6z YalOVdeU7LTn9RUwDJHiIXqcVtexBjToKlIzSb2ihgGsCpVxsteRDN0dV3Q4YKUWAM5l WZoiSxFzRgHoKUSpDI12HzWTvUPfBeW+iO3xV2ur6T3CSlSCvvbXcRWyfk4R0C3BEhHc cIIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711652941; x=1712257741; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=DwcNMHArrUfgIYzQUz8OeSRd0Gobqr5qC5zdMWE8ArQ=; b=KidcYni7i/e20VwEdS+0s+IHXRzsJzrcT+ZLIsRQxhnR07t1px4QqoKtaRTHvuuhEG Ct3FAFMXF1/6GAfdEaOSNdS68mpeSrQbanjN72mC8mqX4sUWPIIwjAlGsQeLJBA1qA7O hoH/4kWg1Z+R3+vb5MDXjC1FhFd0n8oCiBep9ePMZPQC0Ezf7nNM17RAgBFa1uoNyJHZ Os3mBkjV3sJDZGWZkvtJaFEkunkg9r474WvvzyeW5aLiNWe/Zpgs7aUy0GCFx+6+eOrX h9/05Wu/c+5kPuyodViILZ6FapGeAXKh9BCpe8DIJPvN76jn//6rIARLZAR8ZyGXG3Ir knJA== X-Forwarded-Encrypted: i=1; AJvYcCVQEjjt6PfLLD30EiWna7QaZrVNDv2upoLba6uMWmfmtgQjELpjV+T02R3+Dtbt+l8OGVxl3G07IL1NFpNvKi6RPlg= X-Gm-Message-State: AOJu0YwEue98+iCI6y9Q7RPaEL66gGAtfXi2Yv6cW6Z8HqAyjVeb7+VA ycP2mN8ZHMjthKumKyvBC4frmh91+32qUK5iylxUpF176+VnoouAxmZUPKXIFK8= X-Google-Smtp-Source: AGHT+IFgU+yMj/LuuzfKzd/WLgO0dkeef1X+Ho3zYknpv4WPUKHhZW9HPtoyA7W01Zug2g67NAf25Q== X-Received: by 2002:a05:6830:19a:b0:6e6:8ef9:f2b9 with SMTP id q26-20020a056830019a00b006e68ef9f2b9mr188129ota.13.1711652941518; Thu, 28 Mar 2024 12:09:01 -0700 (PDT) Received: from localhost ([2620:10d:c091:400::5:bb1f]) by smtp.gmail.com with ESMTPSA id w17-20020a05620a445100b00788357d6759sm755084qkp.11.2024.03.28.12.09.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Mar 2024 12:09:00 -0700 (PDT) Date: Thu, 28 Mar 2024 15:09:00 -0400 From: Johannes Weiner To: Yosry Ahmed Cc: Andrew Morton , Nhat Pham , Chengming Zhou , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 1/9] mm: zswap: always shrink in zswap_store() if zswap_pool_reached_full Message-ID: <20240328190900.GD7597@cmpxchg.org> References: <20240325235018.2028408-1-yosryahmed@google.com> <20240325235018.2028408-2-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240325235018.2028408-2-yosryahmed@google.com> X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: A622310000D X-Stat-Signature: 86digbe81pen5rqb1jrs784w57koex5n X-Rspam-User: X-HE-Tag: 1711652942-290721 X-HE-Meta: U2FsdGVkX1+js+C0gYoDPXAH54FdmrrAaQ07mNU+ZD195z3EV1XI7oYUtVOeFvSNZ41YIia4WKmotSfrpAK5ouONDx65bUuO3MIYLtTNqVTipT9RJbILWrFTJGPG1lF414+jdOAY4yvhzrdOGPiRSTzmqevru/ueLM//5iPeageYLD9NZnun5Fir/tZg/phAo+0PRqQsi67RW8hG+AOv8WTMwCfBSfKBOksGjxfUPbokl95nhglsdeIJvwGv/YxomLy8I3TdwsCbJgu4SVt3svWIZb7cgbv+gTNdibKCU3bBoe20Tk4OFr9mivPKZj+ilC9a9XECu/EdYtRdu09UDqYBpgLxb1SygFDMf2qQfikI7MDVXpv2RW+7or+mSb0i7ADKIrqE0VWJ864HpY2uqFVXxsepUWJsjpN4k/nHpm5BypXUy4KnCaAjkTjQ8Vn3+slmMHcq7RFUhItXKx6ovhanNnOp15sSSjPVuXdmuscprgRL9Iwq5LxigrRCDo5qiPVpsRXs+OIoe5JIpy256iMBaCNknWpI2qWbJaoiV1kZsu3ySSZ5XIpEFsxdiZGYK+vmfFc2MzpJ8x7VH9EYq95tVTlRAzzXyl4Vn/LmrJcx7/t53Nyk+b5eRwsQSaJ6SA19qNTk6ByqlkPRX6y0MBFzTDBT5gsOw9cUpAZR86QmxdE9v3qYCnz33BokkPcw+1wTgy/s/rjkECWRDWTVy3e9QjnqOs0W+hMOgxIcF6oPAq6SwhY+4hhmy04m+1gYAPfopeiHMKiSCMKKmjvRrZKd22jFpmJN0Va++grMpoHRvsmcgbsXTTuysQthI0mm+arQ3WtiJLUL5M3J6q9/grdIoIBqXbUZv89bJYAeBS5ZbgoT/MQ74W7jVpJ4qVd0riWS4XxNl7ZOXSc8/1PD3HVqcFz4blQY9aOsCPaF22mQYrBkrqIj47hWHBrM/RZzbepGmU8oSC9kIRz1Nij wpIj6zYF NCmMcLzBJQhW3GPzoPVsuBNqJ3qiGqaJHXzuVvVtQK2bXt/ekfsmv0cmR+xM/P4L6gsvGPcJHIFZ6SDtGjqB+vtkpi2uvKrSnszB5NlBBjqlOAozQs4r3oqRMwjkMsDLDv+unOXnzr2O1dKyqwDWet/awzdZhFrKu6PE3v9fpSDF0FLg8QMuLLHUyIa91fbKutPwGU9BiZ6XseiQbQgKGPVcN1X68jHDoKx0nrlig5v1A6fHORCpD9zsZJT8wl6g+gq2pqdfjDvaYmboAr2FLkEKR3a1m1+Z4NTgn/kc/jOdntSBnjbjvGxCjCBzLgXj01tFGEv2yelnSYUdo56dM4gouLLcHABW6UlQvfxJ+gNoft0nWf/tscViAV5zV6A5ZevVcDHTjcQcvF6P4v5BnKlkUvbkZo1cpGrQU73B/MKzN1TbUCPrNfC2Bf897ezOOblJ0u9EiGX2vDydJKkAbrePKca5s1vxZ1p4OIoCBNBFhcLvxatR9rebeC0nyG0Jbdn+vNaF3SJK5Ng9GyWSzaAQVFZWBmRxoNMh8pw9SeOpdqy7aR0d/+QNPsZAnajgLMvlZlg1rAmvAf3M= X-Bogosity: Ham, tests=bogofilter, spamicity=0.030716, 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 Mon, Mar 25, 2024 at 11:50:09PM +0000, Yosry Ahmed wrote: > The cleanup code in zswap_store() is not pretty, particularly the > 'shrink' label at the bottom that ends up jumping between cleanup > labels. > > Instead of having a dedicated label to shrink the pool, just use > zswap_pool_reached_full directly to figure out if the pool needs > shrinking. zswap_pool_reached_full should be true if and only if the > pool needs shrinking. > > The only caveat is that the value of zswap_pool_reached_full may be > changed by concurrent zswap_store() calls between checking the limit and > testing zswap_pool_reached_full in the cleanup code. This is fine > because: > - If zswap_pool_reached_full was true during limit checking then became > false during the cleanup code, then someone else already took care of > shrinking the pool and there is no need to queue the worker. That > would be a good change. > - If zswap_pool_reached_full was false during limit checking then became > true during the cleanup code, then someone else hit the limit > meanwhile. In this case, both threads will try to queue the worker, > but it never gets queued more than once anyway. Also, calling > queue_work() multiple times when the limit is hit could already happen > today, so this isn't a significant change in any way. > > Signed-off-by: Yosry Ahmed Acked-by: Johannes Weiner