From nobody Sun Feb 8 19:21:35 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 A6BF9318EF0 for ; Tue, 13 Jan 2026 21:33:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768340000; cv=none; b=eXEgrMbHvdWUaJzrkfW5rTOK148GRApvAkhuX6l/MBQOWpShrBARWtoGx4aLUXPUv5lCmTzcURrskhAHEc+9wkRyNHVE1s/fQZCeOpWoxnIZ2rNFfaIyAiDOfo67nVb79Pp3TEGHhj+cDm9HgS64owb1d3qCnfqCChzX0r2EmfU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768340000; c=relaxed/simple; bh=ZWJnmPWfWVf378+SE5bFLrcxXaooa53b6CwQljwKQRU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NVjDNOQMtgPVhGhG60DprNEC2cTcQjKKak58i6SnneD/uvykYXv9HE+C1lHvELN49M2fitZyY61j4ZVWzxFkOp0TGVswRV1z8m0ufWs8wAmcXA4+ivDSZPvovSsV2mvN3mwxg4taXlsl3v+9XuJ3kqdd+nprbrMebxnbnxjTQJE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=POlG7/uL; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=kqr/6nnM; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="POlG7/uL"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="kqr/6nnM" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1768339998; 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=K1tY2jOzHY+cvWTFhoRqTcHQY4mx0y53P502cs7Wi0g=; b=POlG7/uLy7HNzk7vEucZPvAHsQPNgkvkloek9bC1PZpJUUTo5U6Vrn+thQkjnJL6A4c0cJ RQ0P/Ndd3rBMfRjEMEbc0NXu15l0ZzAQ3x48hg9nycNMDPworwwZbLuvsbM27cAFSJJen9 X7xLFyIX25zfmwV20Rimyqs6cniZJm0= Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-645-Yodho3IaNAKJvwtoZMIBdA-1; Tue, 13 Jan 2026 16:33:17 -0500 X-MC-Unique: Yodho3IaNAKJvwtoZMIBdA-1 X-Mimecast-MFC-AGG-ID: Yodho3IaNAKJvwtoZMIBdA_1768339997 Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4ed7591799eso208649301cf.0 for ; Tue, 13 Jan 2026 13:33:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1768339997; x=1768944797; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=K1tY2jOzHY+cvWTFhoRqTcHQY4mx0y53P502cs7Wi0g=; b=kqr/6nnMIej2Hksflyel0AdS8Gc02E0OTYS4W8sgcA1mV0BWsgm/qAfEcbuGki5y22 iHZ2UHwE7BX0pzOTWTBZKSZ4yDOkt9wkotmqVC+pnO3RfdCV5BEdeAPhiqVuWhRqTyOy IuNc9nx6ZBiGI7px1jNH8f6p4W/vdbEeJ397hBoTvbgCh8AuvEmuX4z2RPDiCTnkUulw o83t/aY0VJT+UTzC4kCmHHRpYDSKDV2d9RjpDl0Mp/zz0l8cR1dsOtbQFiRNqJwoSO7Y n0udWXljVyRdC3Z3e9+rMVPL2Kh6wAeIl2Rb3Syop4JEGvRjvs00iRp5WRm4OP8A/gV/ QJbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768339997; x=1768944797; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=K1tY2jOzHY+cvWTFhoRqTcHQY4mx0y53P502cs7Wi0g=; b=kPyqViZTiqrWbQB81j4MIreOF+s8VseaCpWwWF5CSSjgd0UbLHE/B7/hCNbbI555D3 So2nARMyrnpb6ibkUNqlxZhVisp0iuMSmKPdUFoDQ/XLSVjH9IooOgYp216MGxzupvR9 KZkiNc2rElCnj+JwbdA9pIyQBpaO/U9TEwzen2sxCvG2fVcqOmFcUdCSl33nkh5F65b9 0wngW9uFBTJHR+rQdOIeEzwnf7Ltts+DNlrkAbumuP+ng6vZN9sHAPWT+iKJvD9HRUgB FKGWhUjaldp+Y0CjhZ2DYfc0a81S2ZqSkIKLYwYpMdjyEemscq+7pXSY78lqLQviOWGt ZCRg== X-Forwarded-Encrypted: i=1; AJvYcCXaEBc5pTytI9O+nZ15wDY4yWtRL8lVRc7McXWptju9RyYH8SF1tdKZwbkMyXR6NWjTNWXugmeFta+bH4A=@vger.kernel.org X-Gm-Message-State: AOJu0YzGi0ZU+YBCOiig6r2FRITdWktotGuGJ77TeubqWZhs1qgYvBn/ UPk9NaFH5PKXPAlIpKf60BEbYt51vFfSXq/3/0RUgm1LmVQKdxMwGt67Wj8cjsLjfp7I7nd6TN2 jMEp7WTNIJWpZc2XZ6aquQCqMwpTxhhW52w0AeqHFIfzsBA29mrnEvQ9q06SQgdckBg== X-Gm-Gg: AY/fxX5OfWtkbhsMi+IEhIhZc7M8qhNjOIpUacmaQev9ZIkR+i+B0buz6OewKVEjekD ICqeQuaz9BNh+liZl8sg3HRa/Jr9wJv5gIDkKnGw1GkZV50MSI7+ksgjaodNwec71fL+DZQnVTJ kFCLUfdu5GACfkAbJuOUy8OKtslnHNG1pnHTj3Fy1dqVlN+PtvaOgCZ9m6pnNCTFT1L/dCnSXTj g6z99qo7t4x5PWBezP+wBXDpVeRJMTGqvmhVKKe+iFpXTWI3y83+fsAsp+GhpIzoA61a98i7/Lv xDC/k/tyS+JQZjodShDykJHH1b6yVytgGO3QnRTwsJdydgUw1QqEQR4WgSg0s25mm1gjohWj9DM B553X/rC7r0mrcK24CcxT73YWStWdIdvvZB4NoRz58twv1/IPgKU= X-Received: by 2002:ac8:58d4:0:b0:4ed:bb39:9a60 with SMTP id d75a77b69052e-5014846b14dmr8396861cf.40.1768339996913; Tue, 13 Jan 2026 13:33:16 -0800 (PST) X-Received: by 2002:ac8:58d4:0:b0:4ed:bb39:9a60 with SMTP id d75a77b69052e-5014846b14dmr8396511cf.40.1768339996449; Tue, 13 Jan 2026 13:33:16 -0800 (PST) Received: from localhost (pool-100-17-20-16.bstnma.fios.verizon.net. [100.17.20.16]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-50148df8305sm1253971cf.9.2026.01.13.13.33.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jan 2026 13:33:15 -0800 (PST) From: Eric Chanudet Date: Tue, 13 Jan 2026 16:32:44 -0500 Subject: [PATCH v2 1/2] dma-buf: heaps: add parameter to account allocations using cgroup 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260113-dmabuf-heap-system-memcg-v2-1-e85722cc2f24@redhat.com> References: <20260113-dmabuf-heap-system-memcg-v2-0-e85722cc2f24@redhat.com> In-Reply-To: <20260113-dmabuf-heap-system-memcg-v2-0-e85722cc2f24@redhat.com> To: Sumit Semwal , Benjamin Gaignard , Brian Starkey , John Stultz , "T.J. Mercier" , =?utf-8?q?Christian_K=C3=B6nig?= , Maxime Ripard Cc: linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, linux-kernel@vger.kernel.org, Eric Chanudet X-Mailer: b4 0.14.2 Add a parameter to enable dma-buf heaps allocation accounting using cgroup for heaps that implement it. It is disabled by default as doing so incurs caveats based on how memcg currently accounts for shared buffers. Signed-off-by: Eric Chanudet --- drivers/dma-buf/dma-heap.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/dma-buf/dma-heap.c b/drivers/dma-buf/dma-heap.c index 8ab49924f8b71a0272dc89a609539a429feaf6c8..f72e93cb8367fa196e5b87e762a= 60463023887df 100644 --- a/drivers/dma-buf/dma-heap.c +++ b/drivers/dma-buf/dma-heap.c @@ -49,6 +49,11 @@ static dev_t dma_heap_devt; static struct class *dma_heap_class; static DEFINE_XARRAY_ALLOC(dma_heap_minors); =20 +bool mem_accounting; +module_param(mem_accounting, bool, 0444); +MODULE_PARM_DESC(mem_accounting, + "Enable cgroup-based memory accounting for dma-buf heap allocations (de= fault=3Dfalse)."); + static int dma_heap_buffer_alloc(struct dma_heap *heap, size_t len, u32 fd_flags, u64 heap_flags) --=20 2.52.0 From nobody Sun Feb 8 19:21:35 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (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 9FD5333F8D4 for ; Tue, 13 Jan 2026 21:33:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768340003; cv=none; b=CaFX9/6zpsVs9fFDJKhEhPUxvCL33bsnrmCF9uT5NlZL1nYrBxmOa3JgENTPzHczAlBvV+5QTCe8wZaD4usf0yRpXK2Z7AxHMwLaAT5ICKS2495hwp12ejsEOOI7Ep6lyXhqGIplQCnu+rTAKgFWgxp4e+jYU7NlOzm+2/KtTe8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768340003; c=relaxed/simple; bh=EDJzO86JKqPT/j5xHbRoDVIahm8DxIRb2MqBjzWRIzU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=J9ElGO0pRhtbOHDF+q441MJGOFf+elD5/TqxjyK+zkZrgTtW/TuVAbCWxAiRrOn7k281zUHQe2MqTNCssCYmXY02BZcWlg5hm8kF1A9CnqcD2+5ifHXsYtrxwy65Vv8dQiYdezbFpHvhtkG4mvTjBphNMIMaahuW2Yfi5XewRWs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=HnFJOPDy; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=bcP/39sL; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="HnFJOPDy"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="bcP/39sL" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1768340000; 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=Ix94cAHm6joBtNxj2zTeHiWa8RvsRVDwgdWzBk5YVco=; b=HnFJOPDyL76Hj+Np1PzN+ymyR6LcG34/wl4los9fa51VFUx8Y32qERAcsLZCrcH4Ts2+Xq qjh4ct9dxg9uYQNPNncWRiH4oEdkllp4iyxulptv4OWQMOJDUCvxmtWJ5PRCzY18v0jhJz XU2pa0pM4Iioyt+DTQ8Wx4i4OyNoFVw= Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-639-dym5M_DfPOu3Z38Z5fKDeA-1; Tue, 13 Jan 2026 16:33:19 -0500 X-MC-Unique: dym5M_DfPOu3Z38Z5fKDeA-1 X-Mimecast-MFC-AGG-ID: dym5M_DfPOu3Z38Z5fKDeA_1768339999 Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8c52c67f65cso244304385a.1 for ; Tue, 13 Jan 2026 13:33:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1768339999; x=1768944799; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Ix94cAHm6joBtNxj2zTeHiWa8RvsRVDwgdWzBk5YVco=; b=bcP/39sLDreiiV9Ab5wHE5E9aQvpWVa6JwTYEGpt0U+ifDOXX47WLXCy7gnY6Je0zv BzgOuYRo+W0ABPqbqbHms6n47vuPRa6L1syC1QsyCJywbDYTF4rKtjrADOLisNMUmBrk CSum/lvTfhz7NvaSJdRXI0klDY7fs74e/E8f4FNjH1YyJm4JPXXgDUPh2aroiC953y8a Qvw7Ez2k/J1jpcmk1p4HKgFN3qXXQ6J/9245erquHaj1r+Me/8S7zz4zd5cyGPLgk13G biyXycv/mydnwsz8PDnq0HugZlijT4VdnAuSRHUlrlT9yYYnrJd5fnmzdnzDvXFqMxzZ y+5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768339999; x=1768944799; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Ix94cAHm6joBtNxj2zTeHiWa8RvsRVDwgdWzBk5YVco=; b=eiFA6yznrc+j4EvAlxtV4woFAE6a2H7QUuSErVUwrAI9tgKQIpVuBf1s7xKqO3Lx5C OmyF46qH0VPxZbwa2Zlrx6aON3yDgzqAvkoSiWQGJTPI7S+sATst7yARptorCrt5wMS6 gRzb8NixtF9EE8gs2kMvg+b/H4/JGaSErwTG0iz1mwqJoMwC3UEwjOLgc8MkRsj2jkiB VOuzzjUNXbuXtSX/LWzDr+mo2nExUAzHOzSY9ilprf+MWPA8Vpbxq/n+dkvWNqc3/Gwt 9wx16YHaSc7yX6Sg3eBBgOUMzYI8nWrvmndQhLcF2MdQ5c3q54zrx9jnoaqz+ondtnUs +wOA== X-Forwarded-Encrypted: i=1; AJvYcCXFK6xIxlQtvu8SlSuNuu9HZi/ePUJBNVc9bsKap6jl/SplaWjKdnuAowJIZkqvAEc0m7XeHE878qW/Hsw=@vger.kernel.org X-Gm-Message-State: AOJu0YwhRqlKbEv8E8grZZTgQLZ7G5u8GahK+g7li/jiQnOb9mwB3IQF JZzda5oaK4uiAdVtPU7JRNHdW2tkz74G9U+BAKpsshl/9OjNzAwjElHBMFoFA73B5iwmiA2a86N X8pZ76d+OFofaVVDR8VyWtQbxFlP3ypC42Hg0mULJfyEqgHgdZ4u38mc7TQu7sKBQyQ== X-Gm-Gg: AY/fxX4ffefRb1pfAQbUmc+Fz69qlENvqhyG3/WmkZVVi+UkG3AfVx+c5FzRNYbLzvC 4dg3TZ+aAfKktwU0GdzGSIDo6wM+0Htt4gKT8811xxdnA01T37I4HeDHxaEC3zXTXysHlv8mkrD 3vNJjbG5U6T+Yy5EWrIlS2kPi6O7MukmiIa8DDqw9J/IMGPyijXfa2lC1EYVFVZW/f1dp1Zq7KV CD/oyyhh1gxUV/+HTRMlTzCdzwB5AlegrOxEaL+1seWYNDUnV8Eo25ENKaOVuMqUIxWWoXncEGb vMOSgqxlgiRN6IXqaLxuDiuS3P9yN0F9wgWxJqdmAa5pbucQ1hc5F37vZckCLORTWdnmdbYcWt1 W2Zrlw7G4z2KZ21ZVvMTMH8gJtUGGDTjafvXoUZ1x8vm5HreNuF0= X-Received: by 2002:a05:620a:1a1b:b0:8b2:77aa:73d3 with SMTP id af79cd13be357-8c52fb37f7cmr83796685a.2.1768339998752; Tue, 13 Jan 2026 13:33:18 -0800 (PST) X-Received: by 2002:a05:620a:1a1b:b0:8b2:77aa:73d3 with SMTP id af79cd13be357-8c52fb37f7cmr83793585a.2.1768339998302; Tue, 13 Jan 2026 13:33:18 -0800 (PST) Received: from localhost (pool-100-17-20-16.bstnma.fios.verizon.net. [100.17.20.16]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8907726041fsm172437926d6.45.2026.01.13.13.33.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jan 2026 13:33:17 -0800 (PST) From: Eric Chanudet Date: Tue, 13 Jan 2026 16:32:45 -0500 Subject: [PATCH v2 2/2] dma-buf: system_heap: account for system heap allocation in memcg 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="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260113-dmabuf-heap-system-memcg-v2-2-e85722cc2f24@redhat.com> References: <20260113-dmabuf-heap-system-memcg-v2-0-e85722cc2f24@redhat.com> In-Reply-To: <20260113-dmabuf-heap-system-memcg-v2-0-e85722cc2f24@redhat.com> To: Sumit Semwal , Benjamin Gaignard , Brian Starkey , John Stultz , "T.J. Mercier" , =?utf-8?q?Christian_K=C3=B6nig?= , Maxime Ripard Cc: linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, linux-kernel@vger.kernel.org, Eric Chanudet X-Mailer: b4 0.14.2 The system dma-buf heap lets userspace allocate buffers from the page allocator. However, these allocations are not accounted for in memcg, allowing processes to escape limits that may be configured. Pass __GFP_ACCOUNT for system heap allocations, based on the dma_heap.mem_accounting parameter, to use memcg and account for them. Signed-off-by: Eric Chanudet --- drivers/dma-buf/heaps/system_heap.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/dma-buf/heaps/system_heap.c b/drivers/dma-buf/heaps/sy= stem_heap.c index 4c782fe33fd497a74eb5065797259576f9b651b6..139b50df64ed4c4a6fdd69f25fe= 48324fbe2c481 100644 --- a/drivers/dma-buf/heaps/system_heap.c +++ b/drivers/dma-buf/heaps/system_heap.c @@ -52,6 +52,8 @@ static gfp_t order_flags[] =3D {HIGH_ORDER_GFP, HIGH_ORDE= R_GFP, LOW_ORDER_GFP}; static const unsigned int orders[] =3D {8, 4, 0}; #define NUM_ORDERS ARRAY_SIZE(orders) =20 +extern bool mem_accounting; + static int dup_sg_table(struct sg_table *from, struct sg_table *to) { struct scatterlist *sg, *new_sg; @@ -320,14 +322,17 @@ static struct page *alloc_largest_available(unsigned = long size, { struct page *page; int i; + gfp_t flags; =20 for (i =3D 0; i < NUM_ORDERS; i++) { if (size < (PAGE_SIZE << orders[i])) continue; if (max_order < orders[i]) continue; - - page =3D alloc_pages(order_flags[i], orders[i]); + flags =3D order_flags[i]; + if (mem_accounting) + flags |=3D __GFP_ACCOUNT; + page =3D alloc_pages(flags, orders[i]); if (!page) continue; return page; --=20 2.52.0