core: use vzalloc for allocating ramht

Submitted by Ilia Mirkin on March 6, 2016, 9:06 p.m.

Details

Message ID 1457298366-4246-1-git-send-email-imirkin@alum.mit.edu
State New
Headers show
Series "core: use vzalloc for allocating ramht" ( rev: 1 ) in Nouveau

Not browsing as part of any series.

Commit Message

Ilia Mirkin March 6, 2016, 9:06 p.m.
Most calls to nvkm_ramht_new use 0x8000 as the size. This results in a
fairly sizeable chunk of memory to be allocated, which may not be
available with kzalloc. Since this is done fairly rarely (once per
channel), use vzalloc instead.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
---
 drm/nouveau/nvkm/core/ramht.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drm/nouveau/nvkm/core/ramht.c b/drm/nouveau/nvkm/core/ramht.c
index 3216e15..89da472 100644
--- a/drm/nouveau/nvkm/core/ramht.c
+++ b/drm/nouveau/nvkm/core/ramht.c
@@ -131,7 +131,7 @@  nvkm_ramht_del(struct nvkm_ramht **pramht)
 	struct nvkm_ramht *ramht = *pramht;
 	if (ramht) {
 		nvkm_gpuobj_del(&ramht->gpuobj);
-		kfree(*pramht);
+		vfree(*pramht);
 		*pramht = NULL;
 	}
 }
@@ -143,8 +143,8 @@  nvkm_ramht_new(struct nvkm_device *device, u32 size, u32 align,
 	struct nvkm_ramht *ramht;
 	int ret, i;
 
-	if (!(ramht = *pramht = kzalloc(sizeof(*ramht) + (size >> 3) *
-					sizeof(*ramht->data), GFP_KERNEL)))
+	if (!(ramht = *pramht = vzalloc(sizeof(*ramht) +
+					(size >> 3) * sizeof(*ramht->data))))
 		return -ENOMEM;
 
 	ramht->device = device;