From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9132832A3C9 for ; Wed, 29 Jul 2026 04:16:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785298590; cv=none; b=S/Aj5oDFr8XwiYMGKsz8pQinkHeWvpMQjRE5GdFx5nC877pjk8iCteJS2lR/vos5Jtskao0YKhcvx08lMLzBr9XuieZ2Z5ffKRYOnBkUUYLWE49tFvD0M1kiq4YDIutytQLska2nMTS/xpnp4dsnLKa55ArLw9+ZNHlR01rb310= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785298590; c=relaxed/simple; bh=tCXW5t1Mz9P3ETL+HcweC8Px35KG2K6X1VDJxlA4qHo=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=iIfjsRKJM3CMi1f43hYnaaiu5RBk7jy6KDnQQ8ntWV+QNMK+cPJmJuHQUT06gUL0aUXVgFJxb640bMrmhlFisDlmXRpZfDSZVQE8oUcK6LKZBDu3uHb0oTke6cOd9wAdMG0JpIVrNpFvLgjMRupVKNK/miugC+FE2V3M0bh0M9s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=OY8vOmZo; arc=none smtp.client-ip=209.85.214.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="OY8vOmZo" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-2cca0c5799eso5861405ad.0 for ; Tue, 28 Jul 2026 21:16:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1785298587; x=1785903387; darn=vger.kernel.org; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=1sPPyDnnKTwvEm1ImFa96o4DsnAeC4du8y6Ije+DwQc=; b=OY8vOmZoGLlODmTU2A86VOoyS08ZJIdoS/U4oAYhmDsdj9dgMcmR89edgPZY6aTC2e 1Kd3mSDSbZwQj5BS6e9TE6Bmbmv6jok/iMEWAUaDC52+7nmoVv/0JgtQEdZUrnO3o+s9 mXn2MU0Z6k5O8lIKt7mt5HNQ+QKKTZf6y/SiQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785298587; x=1785903387; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=1sPPyDnnKTwvEm1ImFa96o4DsnAeC4du8y6Ije+DwQc=; b=d/Yv3+z2UNP45ZcxY+OJQdIdSMt3vEglnwnfeLHwYZz/3+qRCeyuG0RrXC8P3CZwF9 pvIClzNgHsy70v7WI7hq3rSoTUmCyyOfTydfGB/A7Sk6Ut7p9xMvEsMtH6tMPbaNyT4f ObQ+1iTy246HEwmj75TlopZ75Idi4F9nIczSLQtkBu0+DHUys4QAGgoBKCYsI7T/J1l5 1vESQsUwASitw4pPtl6QFGR870S2TDMwpRJG/81K5anL9Zwx7GN/ADSb5p5qay32ZXdd 20uHQYLn6g44xB3tGkIj/0HzlGM1e+9+X/PnfVUMoybaSwuxQ9Xi3dIsrFxzZ/a7QQvy DDcw== X-Forwarded-Encrypted: i=1; AHgh+RoXZbgnYuO1zz67afwK6IICo3LnUw6dT6f4+DvVT+pQM5QHE4gw+N3dsvi+Z9FyMQgq2Yyo0q0vbH2KSM8=@vger.kernel.org X-Gm-Message-State: AOJu0YxBXI4mdYoDBK4w3kSD6dO2v7uXHQ5wKxzgpKulLTUwNGuSdcL3 wkwadTIQDa7IcSo944rEYyY6kGeziTOK/va9XWGjF3RWhh+XQ+6fOSmRHGpzuM/S9g== X-Gm-Gg: AR+sD12PfqILr9A4rKrxv0BjcI8fpv52tdez9+Ibm05bTojtOeRBkQGnLtfg97icVCd zEc3IXlOCqUMvGG9duCJt0/Jjh96uP4isCq8Gj8exUAtw/hCMwv7jQVXhaSB3zWf4JRZpIQd0Ww mgYlsfbpJOfZiIvcJBnWEjlfC0DjxdT0T/CDkFjypMMyg03PP4ZbirCYkwjMaXhCD9xpaQGWspT mzFIgmqsl5XL9toeOBKaqD9lXquVY04GhaqEPCf6Hc5ELAbYQIStTxZc9Hy0JkTW4xyTDWlnfD8 RYYu3Gf+qaXjO75h6FT5yLjRszD3YXfl2EB5FfGMGqygGltpeHWIz8gdQSB3fJ+XooELyVJA+rR Pa3f7Vn+sidkslIKvLZFxpK8mRK32CTmLt26g/3DaB4AULKHQxEJceimKKhWrSsf4FlWEFojnOx JEq6azXX+zuEis9ba48xzTfTkFvXff7/bap4w6jpNkh5tuBea8qVTsMTTIetPZ6wFTQEFzp7tSO HYkvubYvjuX/z4fXkGDeRAcIBz+ X-Received: by 2002:a17:903:3b8e:b0:2bf:7b62:a038 with SMTP id d9443c01a7336-2d015ac543dmr68106525ad.9.1785298586915; Tue, 28 Jul 2026 21:16:26 -0700 (PDT) Received: from google.com ([2a00:79e0:2031:6:65c1:52a3:f6d3:37dc]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d022bc9fddsm4637035ad.40.2026.07.28.21.16.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2026 21:16:26 -0700 (PDT) Date: Wed, 29 Jul 2026 13:16:22 +0900 From: Sergey Senozhatsky To: haoqin huang Cc: Sergey Senozhatsky , Minchan Kim , Jens Axboe , Nick Terrell , David Sterba , Andrew Morton , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, Haoqin Huang , Rongwei Wang Subject: Re: [PATCH v2 2/5] zram: make dict update in comp_params_store() atomic Message-ID: References: <20260627070216.13511-1-haoqinhuang7@gmail.com> <20260728092935.31139-1-haoqinhuang7@gmail.com> <20260728092935.31139-2-haoqinhuang7@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On (26/07/29 12:06), haoqin huang wrote: > > On (26/07/28 17:29), Haoqin Huang wrote: [..] > > > @@ -1699,21 +1699,23 @@ static int comp_params_store(struct zram *zram, u32 prio, s32 level, > > > const char *dict_path, > > > struct deflate_params *deflate_params) > > > { > > > + void *new_dict = NULL; > > > ssize_t sz = 0; > > > > > > - comp_params_reset(zram, prio); > > > > I don't see why is that a problem. All you wanted to do here is to > > handle zero i_size. Why do we need dict setting to be atomic? > > > > comp_params_reset() calls vfree() on the old dict and resets level/ > winbits to NOT_SET before reading the new dict But what is the scenario here? Who would have several dicts? echo "dict=/etc/dict.foo prio=1" > algorithm_params and if that fails then echo "dict=/etc/dict.bar prio=1" > algorithm_params I don't think this is something that we need to consider. What am I missing? [..] > The "atomic" in the subject is about all-or-nothing semantics: don't > destroy valid state until the replacement is confirmed good. I don't think that "valid state configuration replacement" ever happens.