/openbmc/qemu/ |
H A D | job.c | 28 #include "qemu/job.h" 33 #include "qapi/qapi-events-job.h" 36 * The job API is composed of two categories of functions. 39 * peculiar in that it accesses the job list with job_get, and 45 * The second includes functions used by the job drivers and sometimes 51 * struct job fields thread-safe. 56 static QLIST_HEAD(, Job) jobs = QLIST_HEAD_INITIALIZER(jobs); 58 /* Job State Transition Table */ 93 QLIST_HEAD(, Job) jobs; 143 * @job: Job to add to the transaction [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 | 27 #include "qemu/job.h" 28 #include "qapi/qapi-commands-job.h" 33 * Get a job using its ID. Called with job_mutex held. 35 static Job *find_job_locked(const char *id, Error **errp) in find_job_locked() 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() 41 error_setg(errp, "Job not found"); in find_job_locked() 45 return job; in find_job_locked() 50 Job *job; in qmp_job_cancel() local [all …]
|
/openbmc/qemu/include/qemu/ |
H A D | job.h | 29 #include "qapi/qapi-types-job.h" 42 typedef struct Job { struct 46 /** The ID of the job. May be NULL for internal jobs. */ 50 * The type of this job. 56 * The coroutine that executes the job. If not NULL, it is reentered when 57 * busy is false and the job is cancelled. 62 /** True if this job should automatically finalize itself */ 65 /** True if this job should automatically dismiss itself */ 69 * The completion function that will be called when the job completes. 80 * AioContext to run the job coroutine in. [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 111 /* No job ID provided and the block backend has no name */ in test_job_ids() 112 job[0] = do_test_id(blk[0], NULL, false); in test_job_ids() [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/ |
H A D | nouveau_sched.c | 18 * other jobs competing for the hardware. Otherwise we might end up with job 20 * want jobs to time out because of system load, but because of the job being 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() [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/qemu/include/block/ |
H A D | blockjob.h | 30 #include "qemu/job.h" 44 * Data belonging to the generic Job infrastructure. 45 * Protected by job mutex. 47 Job job; member 51 * Protected by job mutex. 68 * Block other operations when block job is running. 75 /** Called when a cancelled job is finalised. */ 78 /** Called when a successfully completed job is finalised. */ 81 /** Called when the job transitions to PENDING */ 84 /** Called when the job transitions to READY */ [all …]
|
H A D | blockjob_int.h | 34 * A class type for block job driver. 48 * Returns whether the job has pending requests for the child or will 50 * in the context of draining a job node after requesting that the job be 53 bool (*drained_poll)(BlockJob *job); 63 * If the callback is not NULL, it will be invoked before the job is 65 * besides job->blk to the new AioContext. 67 void (*attached_aio_context)(BlockJob *job, AioContext *new_context); 69 void (*set_speed)(BlockJob *job, int64_t speed); 72 * Change the @job's options according to @opts. 74 * Note that this can already be called before the job coroutine is running. [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/drm/amd/amdgpu/ |
H A D | amdgpu_job.c | 37 struct amdgpu_job *job = to_amdgpu_job(s_job); in amdgpu_job_timedout() local 47 /* Effectively the job is aborted as the device is gone */ in amdgpu_job_timedout() 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() [all …]
|
/openbmc/linux/drivers/gpu/host1x/ |
H A D | job.c | 3 * Tegra host1x Job 21 #include "job.h" 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() [all …]
|
/openbmc/linux/drivers/md/ |
H A D | dm-kcopyd.c | 41 MODULE_PARM_DESC(kcopyd_subjob_size_kb, "Sub-job size for dm-kcopyd clients"); 353 * Error state of the job. 373 * Set this to ensure you are notified when the job has 380 * These fields are only used if the job has been split 414 * Functions to push and pop a job onto the head of a given job 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() [all …]
|
/openbmc/linux/drivers/accel/ivpu/ |
H A D | ivpu_job.c | 133 * Mark the doorbell as unregistered and reset job queue pointers. 135 * and FW looses job queue state. The next time job queue is used it 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() 188 /* Check if there is space left in job queue */ in ivpu_cmdq_push_job() 190 ivpu_dbg(vdev, JOB, "Job queue full: ctx %d engine %d db %d head %d tail %d\n", 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() [all …]
|
/openbmc/linux/drivers/gpu/drm/v3d/ |
H A D | v3d_sched.c | 10 * scheduler will round-robin between clients to submit the next job. 13 * jobs when bulk background jobs are queued up, we submit a new job 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() [all …]
|
/openbmc/bmcweb/redfish-core/schema/dmtf/csdl/ |
H A D | Job_v1.xml | 4 <!--# Redfish Schema: Job v1.2.4 --> 43 <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Job"> 47 <EntityType Name="Job" BaseType="Resource.v1_0_0.Resource" Abstract="true"> 48 …tation Term="OData.Description" String="The `Job` schema contains information about a job that a R… 49 …<Annotation Term="OData.LongDescription" String="This resource shall contain a job in a Redfish im… 77 <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Job.v1_0_0"> 81 <EntityType Name="Job" BaseType="Job.Job"> 84 <Annotation Term="OData.Description" String="The status of the job."/> 85 …Description" String="This property shall indicate the health status of the job. This property sho… 87 <Property Name="JobState" Type="Job.v1_0_0.JobState" Nullable="false"> [all …]
|
/openbmc/linux/drivers/gpu/host1x/hw/ |
H A D | channel_hw.c | 17 #include "../job.h" 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 [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/tests/qemu-iotests/ |
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 | 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 | 206.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": "qcow2", "file… 12 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 29 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 31 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 34 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"cluster-size": 65536, "… 36 {"execute": "job-dismiss", "arguments": {"id": "job0"}} 53 {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filen… 55 {"execute": "job-dismiss", "arguments": {"id": "job0"}} [all …]
|
H A D | 219 | 21 # Check using the job-* QMP commands with block jobs 30 with iotests.Timeout(3, "Timeout waiting for job to pause"): 33 for job in result['return']: 34 if job['id'] == job_id and job['status'] in ['paused', 'standby']: 35 return job 37 # Test that block-job-pause/resume and job-pause/resume can be mixed 39 for pause_cmd, pause_arg in [('block-job-pause', 'device'), 40 ('job-pause', 'id')]: 41 for resume_cmd, resume_arg in [('block-job-resume', 'device'), 42 ('job-resume', 'id')]: [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/migration/ |
H A D | multifd-qpl.c | 21 /* Maximum number of retries to resubmit a job if IAA work queues are full */ 25 /* the QPL hardware path job */ 26 qpl_job *job; member 38 /* the QPL software job for the slow path and software fallback */ 54 * the QPL hardware job initialization will fail. 58 * @job_size: indicates the hardware job size if hardware is available 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() [all …]
|
/openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ |
H A D | Job.v1_2_4.json | 2 "$id": "http://redfish.dmtf.org/schemas/v1/Job.v1_2_4.json", 3 "$ref": "#/definitions/Job", 34 "Job": { object 36 …"description": "The `Job` schema contains information about a job that a Redfish job service sched… 37 "longDescription": "This resource shall contain a job in a Redfish implementation.", 71 "description": "The person or program that created this job entry.", 72 …tain the username, software program name, or other identifier indicating the creator of this job.", 88 "description": "The date and time when the job was completed.", 90 …rty shall indicate the date and time when the job was completed. This property shall not appear i… 95 "description": "The estimated total time required to complete the job.", [all …]
|