diff mbox series

udmabuf: configurable list_limit and size_limit_mb

Message ID 20210611212107.9876-1-dongwon.kim@intel.com (mailing list archive)
State New, archived
Headers show
Series udmabuf: configurable list_limit and size_limit_mb | expand

Commit Message

Kim, Dongwon June 11, 2021, 9:21 p.m. UTC
Default list_limit and size_limit_mb are not big enough to cover all
possible use cases. For example, list_limit could be well over its default,
1024 if only one or several pages are chained in all individual list entries
when creating dmabuf backed by >4MB buffer. list_limit and size_limit_mb are
now defined as module parameters so that those can be optionally configured
by root with proper values to remove these constraints.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
---
 drivers/dma-buf/udmabuf.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Gerd Hoffmann June 23, 2021, 12:14 p.m. UTC | #1
On Fri, Jun 11, 2021 at 02:21:07PM -0700, Dongwon Kim wrote:
> Default list_limit and size_limit_mb are not big enough to cover all
> possible use cases. For example, list_limit could be well over its default,
> 1024 if only one or several pages are chained in all individual list entries
> when creating dmabuf backed by >4MB buffer. list_limit and size_limit_mb are
> now defined as module parameters so that those can be optionally configured
> by root with proper values to remove these constraints.
> 
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>

Pushed to drm-misc-next.

thanks,
  Gerd
diff mbox series

Patch

diff --git a/drivers/dma-buf/udmabuf.c b/drivers/dma-buf/udmabuf.c
index 1a79ce899b0f..8df761a10251 100644
--- a/drivers/dma-buf/udmabuf.c
+++ b/drivers/dma-buf/udmabuf.c
@@ -13,8 +13,13 @@ 
 #include <linux/udmabuf.h>
 #include <linux/hugetlb.h>
 
-static const u32    list_limit = 1024;  /* udmabuf_create_list->count limit */
-static const size_t size_limit_mb = 64; /* total dmabuf size, in megabytes  */
+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;
+module_param(size_limit_mb, int, 0644);
+MODULE_PARM_DESC(size_limit_mb, "Max size of a dmabuf, in megabytes. Default is 64.");
 
 struct udmabuf {
 	pgoff_t pagecount;