From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) (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 0705B3B6C05 for ; Tue, 7 Jul 2026 07:18:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783408715; cv=none; b=VJOW7yEnbe++Po92oZaA6nvOSGdNVp8j0MmuMwSeJMplaNFVw+ol/+6FgFyUlgFovgYkYH+9nVeZgEXzpHWHDWY8++sXsZYKP6TxpvY2QidXlvAyDS0455YNZlrXsQIHtwGM0t2kLykE95B9UHERjVrxBBIZvFBRq5bvxcG3aOI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783408715; c=relaxed/simple; bh=Ms3fBtUIKvwuLvLCNWLQ3i21RTLMrdQaeCAK5K3Rlzw=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=g2DujIo5ZfXDOpapdaqm6MFCwLIeEAjhnxn2yISX9cyTpLEmv3oMSSS+01UDh4YIXCITO4sQgDmzptk/1UXX5W3/BagiI7lShcMx5Jv2OgRSQojoOG8LSNuqCAemLWzCkRnbA2u/2rSDsBRtiAoZjnv6/eWgArXJRf4TC3MLqGM= 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=FEPcc9KR; arc=none smtp.client-ip=209.85.210.182 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="FEPcc9KR" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-845b6d9bf39so314184b3a.1 for ; Tue, 07 Jul 2026 00:18:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1783408707; x=1784013507; darn=vger.kernel.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=YsSJgGmwj8owXsbgpIZXs0JPGhRVFwHddqbby3E9Cmk=; b=FEPcc9KRyH83z6Fu0ZAcILfP8p5qKPq9Tbw4JmCXKLKG03QqSerj28rT9PB49sLDoF IMNtnD/6EDZgPHcw0mGwUNiH3NXXgUc4uxZ0lGOU+4DhGhbkvfH3XOJ4HlOgFNyEtQ35 580ssWjENa5lyJ/JRwiFVpqSQypmdmAFroV7Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783408707; x=1784013507; h=in-reply-to:content-disposition: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; bh=YsSJgGmwj8owXsbgpIZXs0JPGhRVFwHddqbby3E9Cmk=; b=ECaA/CL0a3zwUw1xrrcN/yxxpBwGtf++Qoxi7vEUgnVFUc4O1yceSFNRdGiJ38vcHR XyrGj2f3hyfd4fZKOnDDLmpBXS7OKp0QYYW1LraicqJ2DCAcOkkY5BN+A8Yek/6J08Oc dHLPUeA/+KLcFgdRLGOd5sI8/QmbRz6SZ+b9BVqdn4/0jsX6YHnNPIq2daCKBGC+kRri 3s/gn1FgcoksqyIaeKiVhQeLto9OHZK5IUJ5v29CC3v0gBI9ZIcWCKmwgO7Mb03mVSgt o28DlM0XL/J41/8XlrgNa+5CJKkgaBdrv/JlXeZcvg7eEbJ/bjNoxhQTYEhZCK6g61BH 0NsQ== X-Forwarded-Encrypted: i=1; AHgh+RoQHbn9nrzjph3JXQGj7gV0FYDjz8ZTmNYI+O3qmJ0nKdJ+ZUC6usqWEVL9pRK0Cz1AEnJAYpm9He/E2Mg=@vger.kernel.org X-Gm-Message-State: AOJu0YyDlt+JcdrJIIl82bIlkyDBOaPxm4VJevn9EUK9bu4Vazymz9XZ QYR0qPMQGx6F+1u9ZKXAZzMGRTsjqybizM7lon1ZQUiY7UIpvgxp8bLBeIP59DFa3nBuFXnbnL8 Vm8f0Xg== X-Gm-Gg: AfdE7ckcbsMbdSHuFV4ukvK4QoYYhIC9b8AjN4WybLef6mKjZgqcwEvdoK1DP7U0t3t 3VZIOR8IrmfnWV+E+J1+eYRxPsbof5Pz4zV6GGvFNCJFbOrlc8JUmXai81oOhpgjeyqxWYCSBhd OrHhswwOFwDJkdwc6/V0MCd0Bwn0SrO+WsBQkh+gUtTcVNLXUJl+qSQJ1SMu9TJoPMBRyI1SRyi JH4Oi+uhdi6uMHtgBLZuIWVRgBDZJh731h0paCq0EJieFM82khYGtpNrwAV1jnM/fLWxwNzvqe1 w99ni+1w4aAue+tbs4O6UVpt+5IYsfJl8NqIhEaMZ3PbnzP66lbUm7dT0WoA9DxJwyceUqAgV8A jF+CuG/KQht7ouiCqjyAKvimzvh4goaIprfAFBSibYVa/DaU3rUyXYgsuMrndYGOTFqAlYRxzhW fTg39SDwJyXEZ0cZK4K5Z3SQ81nB5wVQxzmVxJDrP+qQTRMBrNpXtt X-Received: by 2002:a05:6a00:808a:b0:847:8d0e:5d83 with SMTP id d2e1a72fcca58-8482f522f6amr1655067b3a.26.1783408706956; Tue, 07 Jul 2026 00:18:26 -0700 (PDT) Received: from google.com ([2a00:79e0:2031:6:d4f4:6328:49c0:b912]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-847f6dbdc8dsm4897307b3a.55.2026.07.07.00.18.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2026 00:18:26 -0700 (PDT) Date: Tue, 7 Jul 2026 16:18:23 +0900 From: Sergey Senozhatsky To: Wenchao Hao Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Minchan Kim , Sergey Senozhatsky , Nhat Pham , Joshua Hahn , Barry Song , Wenchao Hao Subject: Re: [PATCH v6 0/4] mm/zsmalloc: reduce lock contention in zs_free() Message-ID: References: <20260626015003.2965881-1-haowenchao22@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: <20260626015003.2965881-1-haowenchao22@gmail.com> On (26/06/26 09:49), Wenchao Hao wrote: [..] > Changes since v5: > - 2/4: rename obj_handle_class_lock() to obj_class_get_and_lock(). > - Pick up Reviewed-by from Barry Song on 2/4, 3/4, 4/4. > > Changes since v4: > - 1/4: rename macros to make their intent clearer, following the > kernel's *_BITS convention (Nhat Pham, Barry Song). > - 3/4: drop the unused pool argument from __free_zspage_lockless(). > > Changes since v3: > - 1/4: gate ZS_OBJ_CLASS_BITS on a new spare-bit check so unsuitable > configs (e.g. UML, no sparsemem) fall back to plain obj layout > instead of breaking the build. (sashiko AI review) > - 2/4: annotate handle_to_obj()/record_obj() with READ_ONCE/WRITE_ONCE > to silence KCSAN; sync the #if predicate with patch 1. (sashiko AI review) > - 4/4: clarify when async_free_zspage() runs; pick up Reviewed-by. (Nhat Pham) > - Drop Reviewed-by from Nhat Pham on 1/4 and 2/4: substantial logic > changes since v3, please re-review. > > Changes since v2: > - 3/4: drop likely() hint and tidy up else-branch braces, per review > nits from Nhat Pham and Joshua Hahn. > - 4/4 (new): document free_zspage helper variants in a single comment > block, per Nhat Pham. > - Pick up Reviewed-by tags from Nhat Pham (1/4, 2/4, 3/4) and > Joshua Hahn (3/4). > - Fix patch 1/4 and 2/4 From: to match Signed-off-by, per Barry Song. > > Changes since v1: > - Rename obj-encoding macros for clarity. > - Make 32-bit / 64-bit handling transparent at call sites > (no #ifdef in callers). > - Extract a helper to keep zs_free() unified. > > Wenchao Hao (3): > mm/zsmalloc: encode class index in obj value for lockless class lookup > mm/zsmalloc: drop pool->lock from zs_free on 64-bit systems > mm/zsmalloc: document free_zspage helper variants > > Xueyuan Chen (1): > mm/zsmalloc: drop class lock before freeing zspage Folks, really sorry for not being around and not being helpful, I'm catching up on emails and will look at this in the coming days. Many, many thanks to everyone who worked on it, reviewed it, contributed to this work in one way or another. Thank you!