diff options
author | Konsta Holtta <kholtta@nvidia.com> | 2016-09-20 06:34:52 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2016-10-14 11:12:34 -0400 |
commit | fa6ab1943e2977c64f62ba5b9c05b6d7fba234f3 (patch) | |
tree | 6fd04ad08ee38c0cc66ed34e12e21a9ac07e41c9 /include/uapi/linux/nvgpu.h | |
parent | 4d07572c8279f199c220e7c606cc9ffb73216d83 (diff) |
gpu: nvgpu: add ioctl for querying memory state
Add NVGPU_GPU_IOCTL_GET_MEMORY_STATE to read the amount of free
device-local video memory, if applicable.
Some reserved fields are added to support different types of queries in
the future (e.g. context-local free amount).
Bug 1787771
Bug 200233138
Change-Id: Id5ffd02ad4d6ed3a6dc196541938573c27b340ac
Signed-off-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-on: http://git-master/r/1223762
(cherry picked from commit 96221d96c7972c6387944603e974f7639d6dbe70)
Reviewed-on: http://git-master/r/1235980
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include/uapi/linux/nvgpu.h')
-rw-r--r-- | include/uapi/linux/nvgpu.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h index 84732452..0bf88628 100644 --- a/include/uapi/linux/nvgpu.h +++ b/include/uapi/linux/nvgpu.h | |||
@@ -510,6 +510,18 @@ struct nvgpu_gpu_alloc_vidmem_args { | |||
510 | }; | 510 | }; |
511 | }; | 511 | }; |
512 | 512 | ||
513 | struct nvgpu_gpu_get_memory_state_args { | ||
514 | /* | ||
515 | * Current free space for this device; may change even when any | ||
516 | * kernel-managed metadata (e.g., page tables or channels) is allocated | ||
517 | * or freed. For an idle gpu, an allocation of this size would succeed. | ||
518 | */ | ||
519 | __u64 total_free_bytes; | ||
520 | |||
521 | /* For future use; must be set to 0. */ | ||
522 | __u64 reserved[4]; | ||
523 | }; | ||
524 | |||
513 | #define NVGPU_GPU_IOCTL_ZCULL_GET_CTX_SIZE \ | 525 | #define NVGPU_GPU_IOCTL_ZCULL_GET_CTX_SIZE \ |
514 | _IOR(NVGPU_GPU_IOCTL_MAGIC, 1, struct nvgpu_gpu_zcull_get_ctx_size_args) | 526 | _IOR(NVGPU_GPU_IOCTL_MAGIC, 1, struct nvgpu_gpu_zcull_get_ctx_size_args) |
515 | #define NVGPU_GPU_IOCTL_ZCULL_GET_INFO \ | 527 | #define NVGPU_GPU_IOCTL_ZCULL_GET_INFO \ |
@@ -568,8 +580,11 @@ struct nvgpu_gpu_alloc_vidmem_args { | |||
568 | #define NVGPU_GPU_IOCTL_ALLOC_VIDMEM \ | 580 | #define NVGPU_GPU_IOCTL_ALLOC_VIDMEM \ |
569 | _IOWR(NVGPU_GPU_IOCTL_MAGIC, 27, \ | 581 | _IOWR(NVGPU_GPU_IOCTL_MAGIC, 27, \ |
570 | struct nvgpu_gpu_alloc_vidmem_args) | 582 | struct nvgpu_gpu_alloc_vidmem_args) |
583 | #define NVGPU_GPU_IOCTL_GET_MEMORY_STATE \ | ||
584 | _IOWR(NVGPU_GPU_IOCTL_MAGIC, 33, \ | ||
585 | struct nvgpu_gpu_get_memory_state_args) | ||
571 | #define NVGPU_GPU_IOCTL_LAST \ | 586 | #define NVGPU_GPU_IOCTL_LAST \ |
572 | _IOC_NR(NVGPU_GPU_IOCTL_ALLOC_VIDMEM) | 587 | _IOC_NR(NVGPU_GPU_IOCTL_GET_MEMORY_STATE) |
573 | #define NVGPU_GPU_IOCTL_MAX_ARG_SIZE \ | 588 | #define NVGPU_GPU_IOCTL_MAX_ARG_SIZE \ |
574 | sizeof(struct nvgpu_gpu_get_cpu_time_correlation_info_args) | 589 | sizeof(struct nvgpu_gpu_get_cpu_time_correlation_info_args) |
575 | 590 | ||