Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 31 files:

Smatch caller information:

drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c amdgpu_devcoredump_print_ibs() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 9176649434306199552
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 0,2147483649-u32max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c amdgpu_driver_open_kms() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 5633761809167060992
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 0
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_cs_parser_init() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 1894173549278507128
PARAM_VALUE 1 flags 3
PARAM_VALUE 2 nr 0
MEM_ZERO 0 exec
NOCHECK_CALL

drivers/gpu/drm/xe/xe_validation.c xe_validation_ctx_init() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4096-ptr_max
PARAM_VALUE 1 flags 0-3
PARAM_VALUE 2 nr 0
DATA_SOURCE 0 exec $2
FUZZY_MAX 1 flags 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &ctx->val->lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 _T->lock
TYPE_LOCK (struct xe_validation_device)->lock

drivers/gpu/drm/xe/xe_validation.c xe_validation_should_retry() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4096-ptr_max
PARAM_VALUE 0 exec->contended 0,4096-ptr_max,(-1)
PARAM_VALUE 0 exec->num_objects 1-u32max
PARAM_VALUE 0 exec->prelocked 0
PARAM_VALUE 1 flags 0-3
PARAM_VALUE 2 nr 0
CAPPED_DATA 0 exec->objects 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->val->lock
HALF_LOCKED2 &driver_migrate_lock
HALF_LOCKED2 &mm->mmap_lock
HALF_LOCKED2 &range->lock
HALF_LOCKED2 &vm->lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 global &drm_unplug_srcu

drivers/gpu/drm/xe/xe_vm_madvise.c xe_vm_madvise_ioctl() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6222965955366924288
PARAM_VALUE 1 flags 3
PARAM_VALUE 2 nr 0
NOCHECK_CALL
LOCK2 &vm->lock
TYPE_LOCK (struct xe_vm)->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_handle_fault() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6320927371492024320
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 nr 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_vm_handle_fault() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6320927371492024320
PARAM_VALUE 0 exec->contended 0
PARAM_VALUE 0 exec->flags 0
PARAM_VALUE 0 exec->num_objects 1-u32max
PARAM_VALUE 0 exec->prelocked 0
PARAM_VALUE 0 exec->ticket.done_acquire 1
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 nr 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c amdgpu_map_static_csa() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 2897679495848677376
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c amdgpu_unmap_static_csa() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4849639417184624640
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 nr 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/msm/msm_gem_vma.c msm_gem_vm_close() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 3085191768004464640
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 nr 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/msm/msm_gem_vma.c msm_ioctl_vm_bind() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4993259228741820416
PARAM_VALUE 1 flags 3
NOCHECK_CALL
LOCK2 &queue->lock
TYPE_LOCK (struct msm_gpu_submitqueue)->lock

drivers/gpu/drm/msm/msm_gem_submit.c submit_lock_objects() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4096-ptr_max
PARAM_VALUE 1 flags 1
NOCHECK_CALL
LOCK2 &queue->lock
TYPE_LOCK (struct msm_gpu_submitqueue)->lock

drivers/gpu/drm/msm/msm_gem_submit.c submit_lock_objects_vmbind() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4096-ptr_max
PARAM_VALUE 1 flags 3
NOCHECK_CALL
LOCK2 &queue->lock
TYPE_LOCK (struct msm_gpu_submitqueue)->lock

drivers/gpu/drm/panthor/panthor_drv.c panthor_submit_ctx_init() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 2237035702311317544,3400833796336033832
PARAM_VALUE 1 flags 3
PARAM_VALUE 2 nr 0
NOCHECK_CALL
LOCK2 global &drm_unplug_srcu

drivers/gpu/drm/radeon/radeon_gem.c radeon_gem_va_update_vm() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6375080618045399040
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
NOCHECK_CALL
LOCK2 rbo->tbo.base.resv

drivers/gpu/drm/amd/amdgpu/mes_userqueue.c mes_userq_create_wptr_mapping() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6245875755690721280
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 2
NOCHECK_CALL

drivers/gpu/drm/qxl/qxl_release.c qxl_release_reserve_list() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4096-ptr_max
PARAM_VALUE 1 flags 0-1
PARAM_VALUE 2 nr 0
FUZZY_MAX 1 flags 1
HARD_MAX 1 flags 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/nouveau/nouveau_uvmm.c nouveau_uvmm_bind_job_submit() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 8767389989685878784
PARAM_VALUE 0 exec->contended 0
PARAM_VALUE 0 exec->flags 0
PARAM_VALUE 0 exec->max_objects 0
PARAM_VALUE 0 exec->num_objects 0
PARAM_VALUE 0 exec->objects 0
PARAM_VALUE 0 exec->prelocked 0
PARAM_VALUE 0 exec->ticket.acquired 0
PARAM_VALUE 0 exec->ticket.contending_lock 0
PARAM_VALUE 0 exec->ticket.deadlock_inject_countdown 0
PARAM_VALUE 0 exec->ticket.deadlock_inject_interval 0
PARAM_VALUE 0 exec->ticket.dep_map.cpu 0
PARAM_VALUE 0 exec->ticket.dep_map.ip 0
PARAM_VALUE 0 exec->ticket.dep_map.key 0
PARAM_VALUE 0 exec->ticket.dep_map.lock_type 0
PARAM_VALUE 0 exec->ticket.dep_map.name 0
PARAM_VALUE 0 exec->ticket.dep_map.wait_type_inner 0
PARAM_VALUE 0 exec->ticket.dep_map.wait_type_outer 0
PARAM_VALUE 0 exec->ticket.done_acquire 0
PARAM_VALUE 0 exec->ticket.first_lock_dep_map.cpu 0
PARAM_VALUE 0 exec->ticket.first_lock_dep_map.ip 0
PARAM_VALUE 0 exec->ticket.first_lock_dep_map.key 0
PARAM_VALUE 0 exec->ticket.first_lock_dep_map.name 0
PARAM_VALUE 0 exec->ticket.is_wait_die 0
PARAM_VALUE 0 exec->ticket.stamp 0
PARAM_VALUE 0 exec->ticket.task 0
PARAM_VALUE 0 exec->ticket.wounded 0
PARAM_VALUE 0 exec->ticket.ww_class 0
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 0
BUF_SIZE 0 exec 192
NOCHECK_CALL
LOCK2 &sched->mutex
LOCK2 &uvmm->mutex
HALF_LOCKED2 &file_priv->driver_priv->mutex
TYPE_LOCK (struct nouveau_sched)->mutex
TYPE_LOCK (struct nouveau_uvmm)->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c amdgpu_userq_vm_validate_and_restore_queue() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 3973348386034331648
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpu/drm/v3d/v3d_submit.c v3d_submit_lock_reservations() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 7382000971369357328,7606521116666306576,7840147954759598096,9012588022552735760
PARAM_VALUE 0 exec->contended 0
PARAM_VALUE 0 exec->max_objects 0
PARAM_VALUE 0 exec->num_objects 0
PARAM_VALUE 0 exec->objects 0
PARAM_VALUE 0 exec->prelocked 0
PARAM_VALUE 1 flags 3
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/radeon/radeon_cs.c radeon_cs_parser_init() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 2688560332286525536
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
MEM_ZERO 0 exec
NOCHECK_CALL
LOCK2 &rdev->exclusive_lock
TYPE_LOCK (struct radeon_device)->exclusive_lock

drivers/gpu/drm/msm/msm_gpu.c crashstate_get_bos() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 7454410251821236224
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &gpu->lock
TYPE_LOCK (struct msm_gpu)->lock

drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_svm.c svm_range_reserve_bos() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4096-ptr_max
PARAM_VALUE 1 flags 0-1
PARAM_VALUE 2 nr 0
FUZZY_MAX 1 flags 1
HARD_MAX 1 flags 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &mm->mmap_lock
LOCK2 &prange->migrate_mutex
LOCK2 &svms->lock
HALF_LOCKED2 &process_info->lock
TYPE_LOCK (struct mm_struct)->mmap_lock
TYPE_LOCK (struct svm_range)->migrate_mutex
TYPE_LOCK (struct svm_range_list)->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_gem_object_close() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 2115488950255980544
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->object_name_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_gem_object_open() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 3454694963553497088
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &dev->object_name_lock
HALF_LOCKED2 &file_priv->driver_priv->mutex
HALF_LOCKED2 &file_priv->prime.lock
HALF_LOCKED2 &obj->dev->object_name_lock

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_gem_op_ioctl() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 3435033550472097792
PARAM_VALUE 1 flags 3
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_gem_va_ioctl() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 313723410214711296
PARAM_VALUE 1 flags 3
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c amdgpu_amdkfd_gpuvm_restore_process_bos() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6956269716063203328
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &process_info->lock
HALF_LOCKED2 global &kfd_processes_mutex
HALF_LOCKED2 global &kfd_processes_srcu
TYPE_LOCK (struct amdkfd_process_info)->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c reserve_bo_and_cond_vms() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 7289464868252459008,8775286299589054464
PARAM_VALUE 1 flags 3
PARAM_VALUE 2 nr 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &mem->lock
HALF_LOCKED2 &p->mutex

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c reserve_bo_and_vm() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 8503647982346326016
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
NOCHECK_CALL
LOCK2 &mem->lock
LOCK2 &mem->process_info->lock
LOCK2 &p->mutex
HALF_LOCKED2 &gobj->dev->object_name_lock
TYPE_LOCK (struct amdkfd_process_info)->lock
TYPE_LOCK (struct kfd_process)->mutex
TYPE_LOCK (struct kgd_mem)->lock

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c validate_invalid_user_pages() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6843458278317678592
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 nr 0
NOCHECK_CALL
LOCK2 &process_info->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct amdkfd_process_info)->lock

drivers/gpu/drm/vc4/vc4_gem.c vc4_lock_bo_reservations() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 290998352502140928
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 1-s32max
CAPPED_DATA 2 nr 1
DATA_SOURCE 0 exec $1
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c amdgpu_userq_fence_read_wptr() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6456839220191858688
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 2
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c amdgpu_userq_signal_ioctl() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6394079011062140928
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0-131072
CAPPED_DATA 2 nr 1
NOCHECK_CALL
USER_DATA 2 nr 0-131072[c]

drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c amdgpu_userq_wait_count_fences() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 7627378260204695552
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0-131072
NOCHECK_CALL
USER_DATA 2 nr 0-131072[c]

drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c amdgpu_userq_wait_return_fence_info() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 1481558536177508352
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0-131072
NOCHECK_CALL
USER_DATA 2 nr 0-131072[c]

drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c amdgpu_seq64_map() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6900548465721663488
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c amdgpu_seq64_unmap() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 2834707884720107520
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 nr 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/drm_gpuvm.c drm_gpuvm_exec_lock() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4096-ptr_max
PARAM_VALUE 1 flags 1-2
PARAM_VALUE 2 nr 0
BUF_SIZE 0 exec 192
NOCHECK_CALL
HALF_LOCKED2 &ctx->val->lock
HALF_LOCKED2 &sched->mutex
HALF_LOCKED2 &uvmm->mutex
HALF_LOCKED2 &vm->lock

drivers/gpu/drm/drm_gpuvm.c drm_gpuvm_exec_lock_range() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4096-ptr_max
PARAM_VALUE 2 nr 0
BUF_SIZE 0 exec 192
NOCHECK_CALL

drivers/gpu/drm/msm/msm_gem.c msm_gem_free_object() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 9042800523043004416
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/msm/msm_gem.c msm_gem_lock_vm_and_obj() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 841905040093913088,2063922300082479104,4021780644897857536,5375608694687649792,5524499160629137408,5919595201178075136
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 nr 2
DATA_SOURCE 0 exec $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/gpu/drm/tests/drm_exec_test.c sanitycheck() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 7652256518865735680
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/tests/drm_exec_test.c test_duplicates() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 1122125038830383104
PARAM_VALUE 1 flags 2
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/tests/drm_exec_test.c test_lock() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 5254196682036637696
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/tests/drm_exec_test.c test_lock_unlock() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 6542856621587628032
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/tests/drm_exec_test.c test_multiple_loops() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 957450564757573632
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/tests/drm_exec_test.c test_multiple_loops() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 957450564757573632
PARAM_VALUE 0 exec->contended 0
PARAM_VALUE 0 exec->flags 1
PARAM_VALUE 0 exec->num_objects 0
PARAM_VALUE 0 exec->objects 0,16,4096-ptr_max
PARAM_VALUE 0 exec->prelocked 0
PARAM_VALUE 0 exec->ticket.deadlock_inject_countdown 0-15
PARAM_VALUE 0 exec->ticket.deadlock_inject_interval 1
PARAM_VALUE 0 exec->ticket.ww_class 8825623990767841280
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/tests/drm_exec_test.c test_prepare() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 4541091022016839680
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/tests/drm_exec_test.c test_prepare_array() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 992431882791477248
PARAM_VALUE 1 flags 1
PARAM_VALUE 2 nr 0
NOCHECK_CALL

drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c __pf_save_restore_vram() -> drm_exec_init()

Type Parameter Key Value
PARAM_VALUE 0 exec 3403054157743009792
PARAM_VALUE 1 flags 0
PARAM_VALUE 2 nr 0
NOCHECK_CALL
HALF_LOCKED2 &pool->lock