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 0F8FDC38142 for ; Wed, 1 Feb 2023 01:16:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 831CB6B0071; Tue, 31 Jan 2023 20:16:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7E2346B0072; Tue, 31 Jan 2023 20:16:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6AA0E6B0074; Tue, 31 Jan 2023 20:16:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 5A3B96B0071 for ; Tue, 31 Jan 2023 20:16:13 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2511AC0D60 for ; Wed, 1 Feb 2023 01:16:13 +0000 (UTC) X-FDA: 80416957026.14.EEA342C Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by imf20.hostedemail.com (Postfix) with ESMTP id 460231C0012 for ; Wed, 1 Feb 2023 01:16:11 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=V116rHBj; spf=pass (imf20.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.210.177 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675214171; 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=2wnrYUzee19FSJlLCQb56qXFqePNff3HtjyVB4nLqz8=; b=IWxKLcGaKK/FUQPJIvLRvMDAZb6hWJKBo7wi818dvnF09LCbZ9hVm0mZcAXhGDUejOR5Wi 93BXe1+P/OvAzRHBNt3A9sdF43ZXZqwl9WimFtfG0z+8rM1tviw1ZDRT0s5q/D+Z02L0da K+hyfZq/Lke8XhRvRoen8AbI8rzsiwo= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=V116rHBj; spf=pass (imf20.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.210.177 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675214171; a=rsa-sha256; cv=none; b=gyQdHesdyxdpqtGAuT8UMhqkzdmMr+pRJZ5xg6Ij1kX7L45hqg6orubpUW7LX/jvRs6IF6 NyNiQHMDWpdO4iM/IUthpyWMOnj83L+yjnioOMDay+1f93lwhCO/wPOnylBYwHljMDQvxv A72eOyvgsvsd2U+qVV7AnAvJnpEfIMc= Received: by mail-pf1-f177.google.com with SMTP id g9so9439291pfk.13 for ; Tue, 31 Jan 2023 17:16:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; 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=2wnrYUzee19FSJlLCQb56qXFqePNff3HtjyVB4nLqz8=; b=V116rHBjqqaEqJgSC6ebGrH1ErdpkZTppM1AS4ZYyYvj2KI5XwmhCVnQ14ikX2Z9ir ARmWzFuLN0y6vuwM6nPJiQ8rteZBowECPeYyCoNNiUZvbldcqMos7POL12gw9FvlxIBS 84m/oAW0lL4OxvnkngKjSFTEXs2eZNA5CaTaY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=2wnrYUzee19FSJlLCQb56qXFqePNff3HtjyVB4nLqz8=; b=fRa1d7WqoQ4V0iCJdWjmmdELIkAvon/93VQ6aQjGGpGo/eciqnEcjDx13uzQQSl+Aj BVqvgJrKozSRViWKK+Rg7S8di4g5I3IRWxMkdD8J8Dsts/A7ve2Ef53/B8ZbYWn3z9HU y3RAxHEQTM8rTgOdlyw0ht0YtGzGdQu+PZbmH05te8cNyxyFCbjyQnMEj/9Nr//bwgcC WSXQ3BDs4yWn3QoWfNOn0jw6hwUMIhdfgbk+l90XOFOj6ynptt5v5CKM6KLUMiH8N95V fTQGTykakntM2P3zRLNJ6ELrSQj8wRAtaXtJgIyJLyDtG4kga9n2IRFI24/Uj4SDB+ka C51A== X-Gm-Message-State: AO0yUKU4qYqCGiOgNR2TJNQPlf/KqdgcCCL+uH35hQpjcg2xEkyDaE9z 4LPyznAuo3XyK1zX7UdRA9gfJg== X-Google-Smtp-Source: AK7set8dfks2z1Q5YFWDvWwLI4WY12awPuiNWnsxvHA17MweK66ldjVjNfW8b3MfDQjzbWtlMVMXIg== X-Received: by 2002:a05:6a00:2911:b0:58b:c1a1:4006 with SMTP id cg17-20020a056a00291100b0058bc1a14006mr350156pfb.18.1675214170063; Tue, 31 Jan 2023 17:16:10 -0800 (PST) Received: from google.com (KD124209188001.ppp-bb.dion.ne.jp. [124.209.188.1]) by smtp.gmail.com with ESMTPSA id w79-20020a627b52000000b0058193135f6bsm10042297pfc.84.2023.01.31.17.16.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Jan 2023 17:16:09 -0800 (PST) Date: Wed, 1 Feb 2023 10:16:04 +0900 From: Sergey Senozhatsky To: Nhat Pham Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, minchan@kernel.org, ngupta@vflare.org, senozhatsky@chromium.org, sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com, kernel-team@meta.com Subject: Re: [PATCH] zsmalloc: fix a race with deferred_handles storing Message-ID: References: <20230110231701.326724-1-nphamcs@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230110231701.326724-1-nphamcs@gmail.com> X-Stat-Signature: 1j973m5fbq1oza8ochptq6h575aqoky6 X-Rspam-User: X-Rspamd-Queue-Id: 460231C0012 X-Rspamd-Server: rspam06 X-HE-Tag: 1675214171-654178 X-HE-Meta: U2FsdGVkX19W90i0nvi89AYll072T7xpxXuKuV0/yf7kqrxXwyCcfAOws6JSmQ1fOjC7gq2fYpMLlgzv7NBYpszdOLoLDf+lGMwsENElIgI1wZT9XIXQs7XrzvW7eVdiFQeMZP/R6goMRZs+cjDXAMuYucMM5YtRoS9B8Rz3mHypi3CICTytj4WkDb6SLKpIisEsZ8y3RNvXOOEc9nlJFyY6yVI0YtmYVHIlCvXhrL3eVdg6G84vv0af+tUmuz3vb32GW3xu3Ow1Adafp1CgopUA8OeJ9IurhWXjMVwZnO5Oglxiuaz8Od0+PD0Xpc/X1KwtxGgnVTnQChOgiLYvbNZFjjC7tkwMQESEhlzBoPSwXJbc7gD/f9ypApoL9/62ZcIffa+CGKHdXu+pKx4SHKi0h3w7JWelIvy6JYxInKzO7FgqgwJIxmwa+/rdXD6iQm0EGcr0BT3QT6x318gg/39n9s66ox7npQM+3RepVXhgCxH+3Wdk6+dH0m11dkFT4PY6yBdyC2yDiQrjI61YIt01D2D+sUmoaKMTlhnBWyMhb3qzcHuJ5G/wNR32kNpX/b71/x51FbwMVtOYW4eb3lEIC3NnSR/PidSMUhijf1Y6FCPSiqpcL6idAW4az21u6u93GajK1LY94qVtxPZLuXHuGXCObY4kdsc760g55pO0VvJeH9bt0tY5rOmUIyZA/7uNmcN5I7ikc5yxbLxZLANqcmRqOVzVRcUqNcLGa1Vpvvml6jKeS7ntR1xdJXkw6AKD8LoPQamb2rrT2Uv1jCl90wJNq3mXDXATyLiHXEHGQQpZJP5MTnasZ3g8NT3nx+XKr2+fGtSe3xZIvJhxfcKP2yrzzJDkpD2FpzinB0N00aJdJ9IX4+xRzfW6njAjN2I38ZzS4VZn821rQQVW0TzRC5PHktjVM3Zfyu6+673AaDISkTxQ2NceixSwD2hqA2eAEMnkZ6B01ADW2Kt VlXB2Pef OnasN1Xas1OLkKtrWQv4sXTevohKAuc608TGycFu404CCUpRtKu7QeT6JYFWWmXp/iXy0LsxGg7IlZjVINWs0ZG3+o/RNnRjFwNaLj7GFFnW9J5D9TLZ/Tg8efGBh88uU7hUNqUGsDNhS/r2vV7eDlwq9YvdtfjKjmLCHCoxE7Z+5pSfPQ790rjL1N3GzMJUQwjntssy1Qbpr9dEukWhm9S4geMEet6S3Bh+2qLp7dLdQXlKE+KFyBy/Z00VKkP3sMNsAUlrkK6Q4Opjx//EO4IBoj1CjVfbQp4q8Zh0Jyj/ce8SEQokKlEJzVELkIlUF6hi67e/fdkQ+TWZ9jhMitoYPUYu8G6vuiK5vkc7iSsO0niABIUA1hZZZ1ZVLRUX6v7/q X-Bogosity: Ham, tests=bogofilter, spamicity=0.001150, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On (23/01/10 15:17), Nhat Pham wrote: > +#ifdef CONFIG_ZPOOL > +/* > + * The second least-significant bit in the object's header identifies if the > + * value stored at the header is a deferred handle from the last reclaim > + * attempt. > + * > + * As noted above, this is valid because we have room for two bits. > + */ > +#define OBJ_DEFERRED_HANDLE_TAG 2 > +#define OBJ_TAG_BITS 2 > +#define OBJ_TAG_MASK (OBJ_ALLOCATED_TAG | OBJ_DEFERRED_HANDLE_TAG) > +#else > +#define OBJ_TAG_BITS 1 > +#define OBJ_TAG_MASK OBJ_ALLOCATED_TAG > +#endif /* CONFIG_ZPOOL */ > + > #define OBJ_INDEX_BITS (BITS_PER_LONG - _PFN_BITS - OBJ_TAG_BITS) > #define OBJ_INDEX_MASK ((_AC(1, UL) << OBJ_INDEX_BITS) - 1) > > @@ -222,6 +238,12 @@ struct link_free { > * Handle of allocated object. > */ > unsigned long handle; > +#ifdef CONFIG_ZPOOL > + /* > + * Deferred handle of a reclaimed object. > + */ > + unsigned long deferred_handle; > +#endif A nit: Do we really need to have that #ifdef and add a member to anon uion? I see that we use ->deferred_handle only in one place, so I'm not sure if it makes code any simpler.