From: "Christian König" <deathsimple@vodafone.de>
To: "Michel Dänzer" <michel@daenzer.net>, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] drm/amdgpu: Use drm_calloc_large for VM page_tables array
Date: Tue, 19 Jan 2016 14:03:02 +0100 [thread overview]
Message-ID: <569E3406.8080802@vodafone.de> (raw)
In-Reply-To: <1453193986-1792-1-git-send-email-michel@daenzer.net>
Am 19.01.2016 um 09:59 schrieb Michel Dänzer:
> From: Michel Dänzer <michel.daenzer@amd.com>
>
> It can be big, depending on the VM address space size, which is tunable
> via the vm_size module parameter.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93721
> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
I actually wanted to address this by reducing sizeof(struct
amdgpu_vm_pt), but once more never got the time to do so.
Patch is Reviewed-by: Christian König <christian.koenig@amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index aefc668..9599f75 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -1282,7 +1282,7 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm)
> {
> const unsigned align = min(AMDGPU_VM_PTB_ALIGN_SIZE,
> AMDGPU_VM_PTE_COUNT * 8);
> - unsigned pd_size, pd_entries, pts_size;
> + unsigned pd_size, pd_entries;
> int i, r;
>
> for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
> @@ -1300,8 +1300,7 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm)
> pd_entries = amdgpu_vm_num_pdes(adev);
>
> /* allocate page table array */
> - pts_size = pd_entries * sizeof(struct amdgpu_vm_pt);
> - vm->page_tables = kzalloc(pts_size, GFP_KERNEL);
> + vm->page_tables = drm_calloc_large(pd_entries, sizeof(struct amdgpu_vm_pt));
> if (vm->page_tables == NULL) {
> DRM_ERROR("Cannot allocate memory for page table array\n");
> return -ENOMEM;
> @@ -1361,7 +1360,7 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
>
> for (i = 0; i < amdgpu_vm_num_pdes(adev); i++)
> amdgpu_bo_unref(&vm->page_tables[i].entry.robj);
> - kfree(vm->page_tables);
> + drm_free_large(vm->page_tables);
>
> amdgpu_bo_unref(&vm->page_directory);
> fence_put(vm->page_directory_fence);
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2016-01-19 13:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-19 8:59 [PATCH] drm/amdgpu: Use drm_calloc_large for VM page_tables array Michel Dänzer
2016-01-19 13:03 ` Christian König [this message]
2016-01-19 17:05 ` Alex Deucher
-- strict thread matches above, loose matches on Subject: below --
2016-03-01 19:20 FAILED: patch "[PATCH] drm/amdgpu: Use drm_calloc_large for VM page_tables array" failed to apply to 4.4-stable tree gregkh
2016-03-07 8:05 ` [PATCH] drm/amdgpu: Use drm_calloc_large for VM page_tables array Michel Dänzer
2016-03-07 22:59 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=569E3406.8080802@vodafone.de \
--to=deathsimple@vodafone.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=michel@daenzer.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.