/openbmc/qemu/ |
H A D | job.c | 153 static void job_txn_add_job_locked(JobTxn *txn, Job *job) in job_txn_add_job_locked() argument 159 assert(!job->txn); in job_txn_add_job_locked() 160 job->txn = txn; in job_txn_add_job_locked() 162 QLIST_INSERT_HEAD(&txn->jobs, job, txn_list); in job_txn_add_job_locked() 167 static void job_txn_del_job_locked(Job *job) in job_txn_del_job_locked() argument 169 if (job->txn) { in job_txn_del_job_locked() 170 QLIST_REMOVE(job, txn_list); in job_txn_del_job_locked() 171 job_txn_unref_locked(job->txn); in job_txn_del_job_locked() 172 job->txn = NULL; in job_txn_del_job_locked() 177 static int job_txn_apply_locked(Job *job, int fn(Job *)) in job_txn_apply_locked() argument [all …]
|
H A D | blockjob.c | 39 static bool is_block_job(Job *job) in is_block_job() argument 41 return job_type(job) == JOB_TYPE_BACKUP || in is_block_job() 42 job_type(job) == JOB_TYPE_COMMIT || in is_block_job() 43 job_type(job) == JOB_TYPE_MIRROR || in is_block_job() 44 job_type(job) == JOB_TYPE_STREAM; in is_block_job() 49 Job *job = bjob ? &bjob->job : NULL; in block_job_next_locked() local 53 job = job_next_locked(job); in block_job_next_locked() 54 } while (job && !is_block_job(job)); in block_job_next_locked() 56 return job ? container_of(job, BlockJob, job) : NULL; in block_job_next_locked() 61 Job *job = job_get_locked(id); in block_job_get_locked() local [all …]
|
H A D | job-qmp.c | 37 Job *job; in find_job_locked() local 39 job = job_get_locked(id); in find_job_locked() 40 if (!job) { in find_job_locked() 45 return job; in find_job_locked() 50 Job *job; in qmp_job_cancel() local 53 job = find_job_locked(id, errp); in qmp_job_cancel() 55 if (!job) { in qmp_job_cancel() 59 trace_qmp_job_cancel(job); in qmp_job_cancel() 60 job_user_cancel_locked(job, true, errp); in qmp_job_cancel() 65 Job *job; in qmp_job_pause() local [all …]
|
H A D | trace-events | 33 # job.c 34 job_state_transition(void *job, int ret, const char *legal, const char *s0, const char *s1) "job %… 35 job_apply_verb(void *job, const char *state, const char *verb, const char *legal) "job %p in state … 36 job_completed(void *job, int ret) "job %p ret %d" 38 # job-qmp.c 39 qmp_job_cancel(void *job) "job %p" 40 qmp_job_pause(void *job) "job %p" 41 qmp_job_resume(void *job) "job %p" 42 qmp_job_complete(void *job) "job %p" 43 qmp_job_finalize(void *job) "job %p" [all …]
|
/openbmc/qemu/tests/unit/ |
H A D | test-blockjob.c | 37 BlockJob *job; in mk_job() local 40 job = block_job_create(id, drv, NULL, blk_bs(blk), in mk_job() 45 g_assert_nonnull(job); in mk_job() 47 g_assert_cmpstr(job->job.id, ==, id); in mk_job() 49 g_assert_cmpstr(job->job.id, ==, blk_name(blk)); in mk_job() 53 g_assert_null(job); in mk_job() 56 return job; in mk_job() 105 BlockJob *job[3]; in test_job_ids() local 112 job[0] = do_test_id(blk[0], NULL, false); in test_job_ids() 115 job[0] = do_test_id(blk[0], "0id", false); in test_job_ids() [all …]
|
H A D | test-blockjob-txn.c | 28 static int coroutine_fn test_block_job_run(Job *job, Error **errp) in test_block_job_run() argument 30 TestBlockJob *s = container_of(job, TestBlockJob, common.job); in test_block_job_run() 34 job_sleep_ns(job, 0); in test_block_job_run() 36 job_yield(job); in test_block_job_run() 39 if (job_is_cancelled(job)) { in test_block_job_run() 48 TestBlockJob *job; member 55 if (!ret && job_is_cancelled(&data->job->common.job)) { in test_block_job_cb() 104 data->job = s; in test_block_job_start() 111 BlockJob *job; in test_single_job() local 116 job = test_block_job_start(1, true, expected, &result, txn); in test_single_job() [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/ |
H A D | nouveau_sched.c | 30 nouveau_job_init(struct nouveau_job *job, in nouveau_job_init() argument 36 job->file_priv = args->file_priv; in nouveau_job_init() 37 job->cli = nouveau_cli(args->file_priv); in nouveau_job_init() 38 job->entity = entity; in nouveau_job_init() 40 job->sync = args->sync; in nouveau_job_init() 41 job->resv_usage = args->resv_usage; in nouveau_job_init() 43 job->ops = args->ops; in nouveau_job_init() 45 job->in_sync.count = args->in_sync.count; in nouveau_job_init() 46 if (job->in_sync.count) { in nouveau_job_init() 47 if (job->sync) in nouveau_job_init() [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_job.c | 37 struct amdgpu_job *job = to_amdgpu_job(s_job); in amdgpu_job_timedout() local 55 amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { in amdgpu_job_timedout() 61 amdgpu_vm_get_task_info(ring->adev, job->pasid, &ti); in amdgpu_job_timedout() 63 job->base.sched->name, atomic_read(&ring->fence_drv.last_seq), in amdgpu_job_timedout() 78 r = amdgpu_device_gpu_recover(ring->adev, job, &reset_context); in amdgpu_job_timedout() 95 unsigned int num_ibs, struct amdgpu_job **job) in amdgpu_job_alloc() argument 100 *job = kzalloc(struct_size(*job, ibs, num_ibs), GFP_KERNEL); in amdgpu_job_alloc() 101 if (!*job) in amdgpu_job_alloc() 108 (*job)->base.sched = &adev->rings[0]->sched; in amdgpu_job_alloc() 109 (*job)->vm = vm; in amdgpu_job_alloc() [all …]
|
/openbmc/qemu/block/ |
H A D | backup.c | 56 static void backup_cleanup_sync_bitmap(BackupBlockJob *job, int ret) in backup_cleanup_sync_bitmap() argument 59 bool sync = (((ret == 0) || (job->bitmap_mode == BITMAP_SYNC_MODE_ALWAYS)) \ in backup_cleanup_sync_bitmap() 60 && (job->bitmap_mode != BITMAP_SYNC_MODE_NEVER)); in backup_cleanup_sync_bitmap() 67 bm = bdrv_dirty_bitmap_abdicate(job->sync_bitmap, NULL); in backup_cleanup_sync_bitmap() 73 bm = bdrv_reclaim_dirty_bitmap(job->sync_bitmap, NULL); in backup_cleanup_sync_bitmap() 78 if (ret < 0 && job->bitmap_mode == BITMAP_SYNC_MODE_ALWAYS) { in backup_cleanup_sync_bitmap() 80 bdrv_dirty_bitmap_merge_internal(bm, block_copy_dirty_bitmap(job->bcs), in backup_cleanup_sync_bitmap() 85 static void backup_commit(Job *job) in backup_commit() argument 87 BackupBlockJob *s = container_of(job, BackupBlockJob, common.job); in backup_commit() 93 static void backup_abort(Job *job) in backup_abort() argument [all …]
|
/openbmc/linux/drivers/gpu/host1x/ |
H A D | job.c | 30 struct host1x_job *job = NULL; in host1x_job_alloc() local 51 mem = job = kzalloc(total, GFP_KERNEL); in host1x_job_alloc() 52 if (!job) in host1x_job_alloc() 55 job->enable_firewall = enable_firewall; in host1x_job_alloc() 57 kref_init(&job->ref); in host1x_job_alloc() 58 job->channel = ch; in host1x_job_alloc() 62 job->relocs = num_relocs ? mem : NULL; in host1x_job_alloc() 64 job->unpins = num_unpins ? mem : NULL; in host1x_job_alloc() 66 job->cmds = num_cmdbufs ? mem : NULL; in host1x_job_alloc() 68 job->addr_phys = num_unpins ? mem : NULL; in host1x_job_alloc() [all …]
|
H A D | cdma.c | 274 struct host1x_job *job) in cdma_start_timer_locked() argument 281 cdma->timeout.client = job->client; in cdma_start_timer_locked() 282 cdma->timeout.syncpt = job->syncpt; in cdma_start_timer_locked() 283 cdma->timeout.syncpt_val = job->syncpt_end; in cdma_start_timer_locked() 287 msecs_to_jiffies(job->timeout)); in cdma_start_timer_locked() 313 struct host1x_job *job, *n; in update_cdma_locked() local 319 list_for_each_entry_safe(job, n, &cdma->sync_queue, list) { in update_cdma_locked() 320 struct host1x_syncpt *sp = job->syncpt; in update_cdma_locked() 323 if (!host1x_syncpt_is_expired(sp, job->syncpt_end) && in update_cdma_locked() 324 !job->cancelled) { in update_cdma_locked() [all …]
|
/openbmc/qemu/include/qemu/ |
H A D | job.h | 216 int coroutine_fn (*run)(Job *job, Error **errp); 230 void coroutine_fn (*pause)(Job *job); 237 void coroutine_fn (*resume)(Job *job); 250 void (*user_resume)(Job *job); 256 void (*complete)(Job *job, Error **errp); 266 int (*prepare)(Job *job); 276 void (*commit)(Job *job); 286 void (*abort)(Job *job); 294 void (*clean)(Job *job); 308 bool (*cancel)(Job *job, bool force); [all …]
|
/openbmc/linux/drivers/md/ |
H A D | dm-kcopyd.c | 420 struct kcopyd_job *job; in pop_io_job() local 426 list_for_each_entry(job, jobs, list) { in pop_io_job() 427 if (job->op == REQ_OP_READ || in pop_io_job() 428 !(job->flags & BIT(DM_KCOPYD_WRITE_SEQ))) { in pop_io_job() 429 list_del(&job->list); in pop_io_job() 430 return job; in pop_io_job() 433 if (job->write_offset == job->master_job->write_offset) { in pop_io_job() 434 job->master_job->write_offset += job->source.count; in pop_io_job() 435 list_del(&job->list); in pop_io_job() 436 return job; in pop_io_job() [all …]
|
/openbmc/linux/drivers/gpu/host1x/hw/ |
H A D | channel_hw.c | 50 static void submit_wait(struct host1x_job *job, u32 id, u32 threshold, in submit_wait() argument 53 struct host1x_cdma *cdma = &job->channel->cdma; in submit_wait() 63 if (job->memory_context) in submit_wait() 64 stream_id = job->memory_context->stream_id; in submit_wait() 66 stream_id = job->engine_fallback_streamid; in submit_wait() 79 host1x_cdma_push_wide(&job->channel->cdma, in submit_wait() 80 host1x_opcode_setclass(job->class, 0, 0), in submit_wait() 82 host1x_opcode_setstreamid(job->engine_streamid_offset / 4), in submit_wait() 113 static void submit_gathers(struct host1x_job *job, u32 job_syncpt_base) in submit_gathers() argument 115 struct host1x_cdma *cdma = &job->channel->cdma; in submit_gathers() [all …]
|
/openbmc/linux/drivers/gpu/drm/v3d/ |
H A D | v3d_sched.c | 60 struct v3d_job *job = to_v3d_job(sched_job); in v3d_sched_job_free() local 62 v3d_job_cleanup(job); in v3d_sched_job_free() 66 v3d_switch_perfmon(struct v3d_dev *v3d, struct v3d_job *job) in v3d_switch_perfmon() argument 68 if (job->perfmon != v3d->active_perfmon) in v3d_switch_perfmon() 71 if (job->perfmon && v3d->active_perfmon != job->perfmon) in v3d_switch_perfmon() 72 v3d_perfmon_start(v3d, job->perfmon); in v3d_switch_perfmon() 77 struct v3d_bin_job *job = to_bin_job(sched_job); in v3d_bin_job_run() local 78 struct v3d_dev *v3d = job->base.v3d; in v3d_bin_job_run() 83 if (unlikely(job->base.base.s_fence->finished.error)) in v3d_bin_job_run() 90 v3d->bin_job = job; in v3d_bin_job_run() [all …]
|
H A D | v3d_gem.c | 252 v3d_lock_bo_reservations(struct v3d_job *job, in v3d_lock_bo_reservations() argument 257 ret = drm_gem_lock_reservations(job->bo, job->bo_count, acquire_ctx); in v3d_lock_bo_reservations() 261 for (i = 0; i < job->bo_count; i++) { in v3d_lock_bo_reservations() 262 ret = dma_resv_reserve_fences(job->bo[i]->resv, 1); in v3d_lock_bo_reservations() 266 ret = drm_sched_job_add_implicit_dependencies(&job->base, in v3d_lock_bo_reservations() 267 job->bo[i], true); in v3d_lock_bo_reservations() 275 drm_gem_unlock_reservations(job->bo, job->bo_count, acquire_ctx); in v3d_lock_bo_reservations() 298 struct v3d_job *job, in v3d_lookup_bos() argument 302 job->bo_count = bo_count; in v3d_lookup_bos() 304 if (!job->bo_count) { in v3d_lookup_bos() [all …]
|
/openbmc/linux/block/ |
H A D | bsg-lib.c | 31 struct bsg_job *job; in bsg_transport_sg_io_fn() local 49 job = blk_mq_rq_to_pdu(rq); in bsg_transport_sg_io_fn() 50 reply = job->reply; in bsg_transport_sg_io_fn() 51 memset(job, 0, sizeof(*job)); in bsg_transport_sg_io_fn() 52 job->reply = reply; in bsg_transport_sg_io_fn() 53 job->reply_len = SCSI_SENSE_BUFFERSIZE; in bsg_transport_sg_io_fn() 54 job->dd_data = job + 1; in bsg_transport_sg_io_fn() 56 job->request_len = hdr->request_len; in bsg_transport_sg_io_fn() 57 job->request = memdup_user(uptr64(hdr->request), hdr->request_len); in bsg_transport_sg_io_fn() 58 if (IS_ERR(job->request)) { in bsg_transport_sg_io_fn() [all …]
|
/openbmc/qemu/qapi/ |
H A D | job.json | 11 # Type of a background job. 13 # @commit: block commit job type, see "block-commit" 15 # @stream: block stream job type, see "block-stream" 17 # @mirror: drive mirror job type, see "drive-mirror" 19 # @backup: drive backup job type, see "drive-backup" 21 # @create: image creation job type, see "blockdev-create" (since 3.0) 23 # @amend: image options amend job type, see "x-blockdev-amend" (since 26 # @snapshot-load: snapshot load job type, see "snapshot-load" (since 29 # @snapshot-save: snapshot save job type, see "snapshot-save" (since 32 # @snapshot-delete: snapshot delete job type, see "snapshot-delete" [all …]
|
/openbmc/linux/drivers/accel/ivpu/ |
H A D | ivpu_job.c | 180 static int ivpu_cmdq_push_job(struct ivpu_cmdq *cmdq, struct ivpu_job *job) in ivpu_cmdq_push_job() argument 182 struct ivpu_device *vdev = job->vdev; in ivpu_cmdq_push_job() 191 job->file_priv->ctx.id, job->engine_idx, cmdq->db_id, header->head, tail); in ivpu_cmdq_push_job() 195 entry = &cmdq->jobq->job[tail]; in ivpu_cmdq_push_job() 196 entry->batch_buf_addr = job->cmd_buf_vpu_addr; in ivpu_cmdq_push_job() 197 entry->job_id = job->job_id; in ivpu_cmdq_push_job() 249 static void job_get(struct ivpu_job *job, struct ivpu_job **link) in job_get() argument 251 struct ivpu_device *vdev = job->vdev; in job_get() 253 kref_get(&job->ref); in job_get() 254 *link = job; in job_get() [all …]
|
/openbmc/linux/drivers/gpu/drm/panfrost/ |
H A D | panfrost_job.c | 106 int panfrost_job_get_slot(struct panfrost_job *job) in panfrost_job_get_slot() argument 112 if (job->requirements & PANFROST_JD_REQ_FS) in panfrost_job_get_slot() 117 if (job->requirements & PANFROST_JD_REQ_ONLY_COMPUTE) { in panfrost_job_get_slot() 118 if ((job->requirements & PANFROST_JD_REQ_CORE_GRP_MASK) && in panfrost_job_get_slot() 119 (job->pfdev->features.nr_core_groups == 2)) in panfrost_job_get_slot() 121 if (panfrost_has_hw_issue(job->pfdev, HW_ISSUE_8987)) in panfrost_job_get_slot() 146 panfrost_get_job_chain_flag(const struct panfrost_job *job) in panfrost_get_job_chain_flag() argument 148 struct panfrost_fence *f = to_panfrost_fence(job->done_fence); in panfrost_get_job_chain_flag() 150 if (!panfrost_has_hw_feature(job->pfdev, HW_FEATURE_JOBCHAIN_DISAMBIGUATION)) in panfrost_get_job_chain_flag() 159 struct panfrost_job *job = pfdev->jobs[slot][0]; in panfrost_dequeue_job() local [all …]
|
/openbmc/qemu/ui/ |
H A D | vnc-jobs.c | 84 VncJob *job = g_new0(VncJob, 1); in vnc_job_new() local 87 job->vs = vs; in vnc_job_new() 89 QLIST_INIT(&job->rectangles); in vnc_job_new() 91 return job; in vnc_job_new() 94 int vnc_job_add_rect(VncJob *job, int x, int y, int w, int h) in vnc_job_add_rect() argument 98 trace_vnc_job_add_rect(job->vs, job, x, y, w, h); in vnc_job_add_rect() 106 QLIST_INSERT_HEAD(&job->rectangles, entry, next); in vnc_job_add_rect() 111 void vnc_job_push(VncJob *job) in vnc_job_push() argument 114 if (queue->exit || QLIST_EMPTY(&job->rectangles)) { in vnc_job_push() 115 g_free(job); in vnc_job_push() [all …]
|
/openbmc/qemu/migration/ |
H A D | multifd-qpl.c | 26 qpl_job *job; member 64 qpl_job *job; in check_hw_avail() local 70 job = g_malloc0(size); in check_hw_avail() 71 if (qpl_init_job(path, job) != QPL_STS_OK) { in check_hw_avail() 72 g_free(job); in check_hw_avail() 75 g_free(job); in check_hw_avail() 109 qpl_fini_job(qpl->hw_jobs[i].job); in multifd_qpl_free_hw_job() 110 g_free(qpl->hw_jobs[i].job); in multifd_qpl_free_hw_job() 111 qpl->hw_jobs[i].job = NULL; in multifd_qpl_free_hw_job() 130 qpl_job *job = NULL; in multifd_qpl_init_sw_job() local [all …]
|
/openbmc/qemu/tests/qemu-iotests/ |
H A D | 212.out | 3 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 5 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 10 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "parallels", "… 12 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 21 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 23 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 26 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"cluster-size": 1048576,… 28 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 37 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 39 {"execute": "job-dismiss", "arguments": {"id": "job0"}} [all …]
|
H A D | 213.out | 3 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 5 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 10 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vhdx", "file"… 12 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 22 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 24 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 27 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"block-size": 8388608, "… 29 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 39 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 41 {"execute": "job-dismiss", "arguments": {"id": "job0"}} [all …]
|
H A D | 257.out | 26 {"execute": "job-dismiss", "arguments": {"id": "bdc-file-job"}} 30 {"execute": "job-dismiss", "arguments": {"id": "bdc-fmt-job"}} 33 …kup", "arguments": {"device": "drive0", "filter-node-name": "backup-top", "job-id": "ref_backup_0"… 73 {"execute": "job-dismiss", "arguments": {"id": "bdc-file-job"}} 77 {"execute": "job-dismiss", "arguments": {"id": "bdc-fmt-job"}} 80 …kup", "arguments": {"device": "drive0", "filter-node-name": "backup-top", "job-id": "ref_backup_1"… 87 {"execute": "job-dismiss", "arguments": {"id": "bdc-file-job"}} 91 {"execute": "job-dismiss", "arguments": {"id": "bdc-fmt-job"}} 94 …map-mode": "never", "device": "drive0", "filter-node-name": "backup-top", "job-id": "backup_1", "s… 158 {"execute": "job-cancel", "arguments": {"id": "backup_1"}} [all …]
|