Hi Robert,
Subject: [PATCH v2] dma-buf/udmabuf: Disable the size limit by default
As udmabuf increasingly enjoys popularity - being used in projects like libcamera, Gstreamer, Mesa, KWin and Weston - users more frequently encounter cases where the current default size limit of 64MB is too low. Examples include allocating video buffers at a 8K resolution - and even 4K is affected when using non-subsampled video formats and high bit depths.
In its current form the size limit for individual buffers does not seem to provide any additional level of protection - such as limiting the amount of memory a process can pin - as the later can just allocate multiple buffers. If additional guardrails are desired, they would likely require some kind accounting not limited to individual buffers.
Therefor let's disable the size limit by default by setting it to the maximal possible value, INT_MAX.
Signed-off-by: Robert Mader robert.mader@collabora.com
Changes in V2:
- Use INT_MAX instead of 0 in order to not change behavior otherwise.
See https://lore.kernel.org/dri-devel/20260711144814.8205-1- robert.mader@collabora.com/ for a previous attempt to make the value configurable via kconfig - and in particular https://lore.kernel.org/dri-devel/6764ca6f-b4d8-4baa-9d27- 2ca867ac2d41@amd.com/ for the suggestion and discussion to remove the default limit.
drivers/dma-buf/udmabuf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/dma-buf/udmabuf.c b/drivers/dma-buf/udmabuf.c index bced421c0d65..639e93704924 100644 --- a/drivers/dma-buf/udmabuf.c +++ b/drivers/dma-buf/udmabuf.c @@ -20,9 +20,9 @@ static int list_limit = 1024; module_param(list_limit, int, 0644); MODULE_PARM_DESC(list_limit, "udmabuf_create_list->count limit. Default is 1024.");
-static int size_limit_mb = 64; +static int size_limit_mb = INT_MAX; module_param(size_limit_mb, int, 0644); -MODULE_PARM_DESC(size_limit_mb, "Max size of a dmabuf, in megabytes. Default is 64."); +MODULE_PARM_DESC(size_limit_mb, "Max size of a dmabuf, in megabytes. Default is INT_MAX.");
Acked-by: Vivek Kasireddy vivek.kasireddy@intel.com
If there are no further concerns/questions from anyone, I'll push it to drm-misc-next soon.
Thanks, Vivek
struct udmabuf { pgoff_t pagecount; -- 2.55.0
linaro-mm-sig@lists.linaro.org