From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out-177.mta0.migadu.com (out-177.mta0.migadu.com [91.218.175.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7BFB33EEAF0 for ; Tue, 4 Aug 2026 04:13:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.177 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785816797; cv=none; b=XzJbJGS6owgSAd03GlX1sInZLmVWRcKQhjCJ6O/JggyFmgtHnXUgRTzEyS5lYX+S8CdDaPvY2LMhx3V6/aLFxoHLTKjWFA/DR6OjkovE6V2Z5j9Ycr4FOHoZljMXivnF7tIx3jYYYguhohIiR1RVrFtlUFNT2v2MnFtd71p0jAA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785816797; c=relaxed/simple; bh=7bDkr06f7FW895Oxp8MdsY8y1RPnFFtMyIAPDG20d5s=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=YHtBibAyVzR+rJwKmjHo16jw8VdAf5rTSaz9tuK/OX0l1ukVg2QdQNpKs7xTNmgXGwpNWne+0rg3mQyBH++OKmURbYPAYKS1OvaEIml4/3X4ZsxgTfVY1jw6Nf+nB2TtkUJYPqA298rSUn/8sq6Pcbm0P6m7m0BQ+ck8wdFfbGI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=xc0etAQ7; arc=none smtp.client-ip=91.218.175.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="xc0etAQ7" Message-ID: <0b95c0df-8cf6-4ad9-9552-d7c4a657a25c@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1785809723; h=from:from: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; bh=tGAcbF/aClnVAzYmccj+436eDJyX2PUbjNzvGxNNzNM=; b=xc0etAQ70reFjdwiMXEOqTEtJx6A2/3WI8/bK+VG3j+U4CkeKUzhIY+Brak0CZTxmxz+9n UmbG3q06FTSxw/KCM02eZh+Bm7Jg60zh2t6h1s93dClDyTEWmSA6jM85mvoFV9Nqlgmfee aKgHON3ewX2AUm6enbrGDd77vFVYI2A= Date: Tue, 4 Aug 2026 10:15:14 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Subject: Re: [PATCH v3] alloc_tag: expose profiling and compression states To: Abhishek Bapat , Suren Baghdasaryan , Andrew Morton Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org References: Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Hao Ge In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT Hi Abhishek Subject says "profiling and compression states", but this patch only adds the compression sysctl. The profiling state was already exposed via mem_profiling and is untouched here. I think we should make this more precise, like: alloc_tag: expose boot-time compression configuration On 2026/8/4 05:54, Abhishek Bapat wrote: > Currently, userspace has limited visibility into the exact active > runtime state of memory allocation profiling and its page extension > compression ('sysctl.vm.mem_profiling={0|1|never}[,compressed]'). Profiling state is already readable via mem_profiling. The gap is only compression. Also, as we discussed, this sysctl reports what the user requested at boot rather than the actual runtime state. > While reading the sysctl provides basic on/off status, it is currently > impossible for userspace to natively determine whether page-tag > compression was successfully enabled without scraping dmesg boot logs. > > Resolve this ambiguity by exposing the active compression state by > adding a new read-only sysctl `vm.mem_profiling_compressed` to output the > state. > > v3 change: > - Added documentation about the behaviour details of the new sysctl. > > v2 change: > - Moved from displaying the state in /proc/allocinfo to a new read-only > sysctl. As this is a standalone patch, please put the v2/v3 changelog below the --- line instead of inside the commit message. Thanks Best Regards Hao > Signed-off-by: Abhishek Bapat > --- > Documentation/mm/allocation-profiling.rst | 13 +++++++++++++ > mm/alloc_tag.c | 6 ++++++ > 2 files changed, 19 insertions(+) > > diff --git a/Documentation/mm/allocation-profiling.rst b/Documentation/mm/allocation-profiling.rst > index c3a28467955f..3ad1e9aacb9a 100644 > --- a/Documentation/mm/allocation-profiling.rst > +++ b/Documentation/mm/allocation-profiling.rst > @@ -43,6 +43,19 @@ sysctl: > warnings produced by allocations made while profiling is disabled and freed > when it's enabled. > > + /proc/sys/vm/mem_profiling_compressed > + > + 1: Page extension compression is enabled. > + > + 0: Page extension compression is disabled. > + > + This control is read-only and reflects the compression status initialized at boot. > + Note that, unlike `mem_profiling`, which represents the current state of profiling, > + `mem_profiling_compressed` represents the state configured at boot time. Turning off > + profiling at runtime will implicitly make this sysctl effectively dormant. However, if > + profiling is toggled off and then toggled on again, it will resume with compression > + still enabled as long as the value of `mem_profiling_compressed` is 1. > + > Runtime info: > /proc/allocinfo > > diff --git a/mm/alloc_tag.c b/mm/alloc_tag.c > index 52aece27b00e..877068241f06 100644 > --- a/mm/alloc_tag.c > +++ b/mm/alloc_tag.c > @@ -1303,6 +1303,12 @@ static const struct ctl_table memory_allocation_profiling_sysctls[] = { > .mode = 0644, > .proc_handler = proc_mem_profiling_handler, > }, > + { > + .procname = "mem_profiling_compressed", > + .data = &mem_profiling_compressed, > + .mode = 0444, > + .proc_handler = proc_do_static_key, > + }, > }; > > static void __init sysctl_init(void) > > base-commit: 94f9b3980dd446b56acf1dfed649e9b32a9f3813