Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
- drivers/gpu/drm/drm_pagemap.c, line 1181
- drivers/gpu/drm/nouveau/nouveau_dmem.c, line 520
- lib/test_hmm.c, line 233
- mm/migrate_device.c
Smatch caller information:
lib/test_hmm.c dmirror_device_evict_chunk() -> migrate_device_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src_pfns | 4096-ptr_max |
| PARAM_VALUE | 1 | dst_pfns | 0-18446744073709551614 |
| PARAM_VALUE | 2 | npages | 1-4503599627370496 |
| BUF_SIZE | 0 | src_pfns | 8 |
| BUF_SIZE | 1 | dst_pfns | 8 |
| CAPPED_DATA | 2 | npages | 1 |
| CAPPED_DATA | 2 | npages | 1 |
| DATA_SOURCE | 0 | src_pfns | r _kvmalloc_array_node_noprof |
| DATA_SOURCE | 1 | dst_pfns | r _kvmalloc_array_node_noprof |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 2 | npages | |
| UNITS | 2 | npages | unit_page |
| HALF_LOCKED2 | &mdevice->devmem_lock |
drivers/gpu/drm/drm_pagemap.c drm_pagemap_evict_to_ram() -> migrate_device_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src_pfns | 1-18446744073709551614 |
| PARAM_VALUE | 1 | dst_pfns | 4096-ptr_max |
| PARAM_VALUE | 2 | npages | 0-4503599627370495 |
| BUF_SIZE | 0 | src_pfns | 40 |
| BUF_SIZE | 0 | src_pfns | 40 |
| CAPPED_DATA | 2 | npages | 1 |
| CAPPED_DATA | 2 | npages | 1 |
| PARAM_COMPARE | 2 | npages | < $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 2 | npages | |
| UNITS | 2 | npages | unit_page |
| HALF_LOCKED2 | ttm_bo->base.resv |
mm/migrate_device.c migrate_device_coherent_folio() -> migrate_device_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src_pfns | 8134737195505827840 |
| PARAM_VALUE | 1 | dst_pfns | 4294976446427209728 |
| PARAM_VALUE | 1 | *dst_pfns | 0-1,65-18446744073709551553 |
| PARAM_VALUE | 2 | npages | 1 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
drivers/gpu/drm/nouveau/nouveau_dmem.c nouveau_dmem_evict_chunk() -> migrate_device_finalize()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | src_pfns | 0-18446744073709551614 |
| PARAM_VALUE | 1 | dst_pfns | 0-18446744073709551614 |
| PARAM_VALUE | 2 | npages | 0-4503599627370495 |
| BUF_SIZE | 0 | src_pfns | 8 |
| BUF_SIZE | 1 | dst_pfns | 8 |
| CAPPED_DATA | 2 | npages | 1 |
| CAPPED_DATA | 2 | npages | 1 |
| DATA_SOURCE | 0 | src_pfns | r _kvmalloc_array_node_noprof |
| DATA_SOURCE | 1 | dst_pfns | r _kvmalloc_array_node_noprof |
| FUZZY_MAX | 2 | npages | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 2 | npages | |
| UNITS | 2 | npages | unit_array_size |
| LOCK2 | &drm->dmem->mutex | ||
| TYPE_LOCK | (struct nouveau_dmem)->mutex |