Home
last modified time | relevance | path

Searched full:job (Results 1 – 25 of 352) sorted by relevance

12345678910>>...15

/linux/drivers/gpu/drm/xe/
H A Dxe_tlb_inval_job.c19 /** struct xe_tlb_inval_job - TLB invalidation job */
21 /** @dep: base generic dependency Xe job */
31 /** @refcount: ref count of this job */
34 * @fence: dma fence to indicate completion. 1 way relationship - job
35 * can safely reference fence, fence cannot safely reference job.
50 struct xe_tlb_inval_job *job = in xe_tlb_inval_job_run() local
51 container_of(dep_job, typeof(*job), dep); in xe_tlb_inval_job_run()
53 container_of(job->fence, typeof(*ifence), base); in xe_tlb_inval_job_run()
56 if (xe_page_reclaim_list_valid(&job->prl)) { in xe_tlb_inval_job_run()
57 prl_sa = xe_page_reclaim_create_prl_bo(job->tlb_inval, &job->prl, ifence); in xe_tlb_inval_job_run()
[all …]
H A Dxe_exec.c66 * submission time and set the DRM scheduler max job limit SIZE_OF_RING /
84 * Create job |
86 * Add rebind fence dependency to job |
87 * Add job VM dma-resv bookkeeping slot (non-compute mode) |
88 * Add job to external BOs dma-resv write slots (non-compute mode) |
90 * Install in / out fences for job
91 * Submit job
104 /* The fence slot added here is intended for the exec sched job. */ in xe_exec_fn()
125 struct xe_sched_job *job; in xe_exec_ioctl() local
288 job = xe_sched_job_create(q, xe_exec_queue_is_parallel(q) ? in xe_exec_ioctl()
[all …]
/linux/drivers/md/
H A Ddm-kcopyd.c41 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 …]
/linux/drivers/gpu/drm/imagination/
H A Dpvr_job.h34 /** @ref_count: Refcount for job. */
37 /** @type: Type of job. */
40 /** @id: Job ID number. */
44 * @paired_job: Job paired to this job.
50 * fragment job to execute when the Parameter Manager runs out of memory.
52 * The geometry job should point to the fragment job it's paired with,
53 * and the fragment job should point to the geometry job it's paired with.
63 /** @done_fence: Fence to signal when the job is done. */
87 * @has_pm_ref: True if the job has a power ref, thus forcing the GPU to stay on until
88 * the job is done.
[all …]
/linux/Documentation/devicetree/bindings/powerpc/fsl/
H A Draideng.txt30 There must be a sub-node for each job queue present in RAID Engine
33 - compatible: Should contain "fsl,raideng-v1.0-job-queue" as the value
34 This identifies the job queue interface
35 - reg: offset and length of the register set for job queue
42 compatible = "fsl,raideng-v1.0-job-queue";
48 There must be a sub-node for each job ring present in RAID Engine
49 This node must be a sub-node of job queue node
51 - compatible: Must contain "fsl,raideng-v1.0-job-ring" as the value
52 This identifies job ring. Should contain either
55 - reg: offset and length of the register set for job ring
[all …]
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_ids.c180 struct amdgpu_job *job) in amdgpu_vmid_gds_switch_needed() argument
182 return id->gds_base != job->gds_base || in amdgpu_vmid_gds_switch_needed()
183 id->gds_size != job->gds_size || in amdgpu_vmid_gds_switch_needed()
184 id->gws_base != job->gws_base || in amdgpu_vmid_gds_switch_needed()
185 id->gws_size != job->gws_size || in amdgpu_vmid_gds_switch_needed()
186 id->oa_base != job->oa_base || in amdgpu_vmid_gds_switch_needed()
187 id->oa_size != job->oa_size; in amdgpu_vmid_gds_switch_needed()
190 /* Check if the id is compatible with the job */
192 struct amdgpu_job *job) in amdgpu_vmid_compatible() argument
194 return id->pd_gpu_addr == job->vm_pd_addr && in amdgpu_vmid_compatible()
[all …]
/linux/drivers/crypto/caam/
H A DKconfig20 This module creates job ring devices, and configures h/w
36 tristate "Freescale CAAM Job Ring driver backend"
40 Enables the driver module for Job Rings which are part of
42 and Assurance Module (CAAM). This module adds a job ring operation
51 int "Job Ring size"
55 Select size of Job Rings as a power of 2, within the
68 bool "Job Ring interrupt coalescing"
70 Enable the Job Ring's interrupt coalescing feature.
76 int "Job Ring interrupt coalescing count threshold"
84 equal or greater than the job ring size will force timeouts.
[all …]
/linux/Documentation/core-api/
H A Dpadata.rst14 is currently the sole consumer of padata's serialized job support.
16 Padata also supports multithreaded jobs, splitting up the job evenly while load
38 A padata_shell is used to submit a job to padata and allows a series of such
80 Running A Job
84 padata_priv structure, which represents one job::
99 The submission of the job is done with::
105 points to the preferred CPU to be used for the final callback when the job is
108 padata_do_parallel() is zero on success, indicating that the job is in
114 Each job submitted to padata_do_parallel() will, in turn, be passed to
123 parallel() will take responsibility for the job from this point. The job
[all …]
/linux/drivers/ufs/core/
H A Dufs_bsg.c29 static int ufs_bsg_alloc_desc_buffer(struct ufs_hba *hba, struct bsg_job *job, in ufs_bsg_alloc_desc_buffer() argument
33 struct ufs_bsg_request *bsg_request = job->request; in ufs_bsg_alloc_desc_buffer()
47 if (*desc_len > job->request_payload.payload_len) { in ufs_bsg_alloc_desc_buffer()
57 sg_copy_to_buffer(job->request_payload.sg_list, in ufs_bsg_alloc_desc_buffer()
58 job->request_payload.sg_cnt, descp, in ufs_bsg_alloc_desc_buffer()
67 static int ufs_bsg_exec_advanced_rpmb_req(struct ufs_hba *hba, struct bsg_job *job) in ufs_bsg_exec_advanced_rpmb_req() argument
69 struct ufs_rpmb_request *rpmb_request = job->request; in ufs_bsg_exec_advanced_rpmb_req()
70 struct ufs_rpmb_reply *rpmb_reply = job->reply; in ufs_bsg_exec_advanced_rpmb_req()
107 payload = &job->request_payload; in ufs_bsg_exec_advanced_rpmb_req()
132 static int ufs_bsg_request(struct bsg_job *job) in ufs_bsg_request() argument
[all …]
/linux/drivers/accel/habanalabs/common/
H A Dhw_queue.c229 * hl_hw_queue_send_cb_no_cmpl - send a single CB (not a JOB) without completion
272 * ext_queue_schedule_job - submit a JOB to an external queue
274 * @job: pointer to the job that needs to be submitted to the queue
279 static void ext_queue_schedule_job(struct hl_cs_job *job) in ext_queue_schedule_job() argument
281 struct hl_device *hdev = job->cs->ctx->hdev; in ext_queue_schedule_job()
282 struct hl_hw_queue *q = &hdev->kernel_queues[job->hw_queue_id]; in ext_queue_schedule_job()
292 * Update the JOB ID inside the BD CTL so the device would know what in ext_queue_schedule_job()
297 cb = job->patched_cb; in ext_queue_schedule_job()
298 len = job->job_cb_size; in ext_queue_schedule_job()
302 if (!cs_needs_completion(job->cs)) in ext_queue_schedule_job()
[all …]
H A Dirq.c70 * job_finish - queue job finish work
81 struct hl_cs_job *job; in job_finish() local
84 job = queue->shadow_queue[hl_pi_2_offset(cs_seq)]; in job_finish()
85 job->timestamp = timestamp; in job_finish()
86 queue_work(hdev->cq_wq[cq->cq_idx], &job->finish_work); in job_finish()
104 struct hl_cs_job *job; in cs_finish() local
114 list_for_each_entry(job, &cs->job_list, cs_node) { in cs_finish()
115 queue = &hdev->kernel_queues[job->hw_queue_id]; in cs_finish()
173 * 2. Interrupt per CS job completion in queue: (CQ per queue) in hl_irq_handler_cq()
174 * CQ entry represents a completed job in a certain queue in hl_irq_handler_cq()
[all …]
H A Dcommand_submission.c267 struct hl_cs_job *job = container_of(ref, struct hl_cs_job, refcount); in cs_job_do_release() local
269 kfree(job); in cs_job_do_release()
272 static void hl_cs_job_put(struct hl_cs_job *job) in hl_cs_job_put() argument
274 kref_put(&job->refcount, cs_job_do_release); in hl_cs_job_put()
299 static bool is_cb_patched(struct hl_device *hdev, struct hl_cs_job *job) in is_cb_patched() argument
302 return (job->queue_type == QUEUE_TYPE_EXT); in is_cb_patched()
309 * @job : pointer to the job that holds the command submission info
316 static int cs_parser(struct hl_fpriv *hpriv, struct hl_cs_job *job) in cs_parser() argument
322 parser.ctx_id = job->cs->ctx->asid; in cs_parser()
323 parser.cs_sequence = job->cs->sequence; in cs_parser()
[all …]
/linux/arch/powerpc/boot/dts/fsl/
H A Dqoriq-sec6.0-0.dtsi42 compatible = "fsl,sec-v6.0-job-ring",
43 "fsl,sec-v5.2-job-ring",
44 "fsl,sec-v5.0-job-ring",
45 "fsl,sec-v4.4-job-ring",
46 "fsl,sec-v4.0-job-ring";
51 compatible = "fsl,sec-v6.0-job-ring",
52 "fsl,sec-v5.2-job-ring",
53 "fsl,sec-v5.0-job-ring",
54 "fsl,sec-v4.4-job-ring",
55 "fsl,sec-v4.0-job-ring";
H A Dqoriq-sec5.3-0.dtsi45 compatible = "fsl,sec-v5.3-job-ring",
46 "fsl,sec-v5.0-job-ring",
47 "fsl,sec-v4.0-job-ring";
53 compatible = "fsl,sec-v5.3-job-ring",
54 "fsl,sec-v5.0-job-ring",
55 "fsl,sec-v4.0-job-ring";
61 compatible = "fsl,sec-v5.3-job-ring",
62 "fsl,sec-v5.0-job-ring",
63 "fsl,sec-v4.0-job-ring";
69 compatible = "fsl,sec-v5.3-job-ring",
[all …]
H A Dqoriq-sec5.2-0.dtsi45 compatible = "fsl,sec-v5.2-job-ring",
46 "fsl,sec-v5.0-job-ring",
47 "fsl,sec-v4.0-job-ring";
53 compatible = "fsl,sec-v5.2-job-ring",
54 "fsl,sec-v5.0-job-ring",
55 "fsl,sec-v4.0-job-ring";
61 compatible = "fsl,sec-v5.2-job-ring",
62 "fsl,sec-v5.0-job-ring",
63 "fsl,sec-v4.0-job-ring";
69 compatible = "fsl,sec-v5.2-job-ring",
[all …]
H A Dpq3-sec4.4-0.dtsi45 compatible = "fsl,sec-v4.4-job-ring", "fsl,sec-v4.0-job-ring";
51 compatible = "fsl,sec-v4.4-job-ring", "fsl,sec-v4.0-job-ring";
57 compatible = "fsl,sec-v4.4-job-ring", "fsl,sec-v4.0-job-ring";
63 compatible = "fsl,sec-v4.4-job-ring", "fsl,sec-v4.0-job-ring";
H A Dqoriq-sec5.0-0.dtsi45 compatible = "fsl,sec-v5.0-job-ring",
46 "fsl,sec-v4.0-job-ring";
52 compatible = "fsl,sec-v5.0-job-ring",
53 "fsl,sec-v4.0-job-ring";
59 compatible = "fsl,sec-v5.0-job-ring",
60 "fsl,sec-v4.0-job-ring";
66 compatible = "fsl,sec-v5.0-job-ring",
67 "fsl,sec-v4.0-job-ring";
H A Dqoriq-sec4.2-0.dtsi45 compatible = "fsl,sec-v4.2-job-ring",
46 "fsl,sec-v4.0-job-ring";
52 compatible = "fsl,sec-v4.2-job-ring",
53 "fsl,sec-v4.0-job-ring";
59 compatible = "fsl,sec-v4.2-job-ring",
60 "fsl,sec-v4.0-job-ring";
66 compatible = "fsl,sec-v4.2-job-ring",
67 "fsl,sec-v4.0-job-ring";
/linux/drivers/scsi/libsas/
H A Dsas_host_smp.c225 void sas_smp_host_handler(struct bsg_job *job, struct Scsi_Host *shost) in sas_smp_host_handler() argument
233 if (job->request_payload.payload_len < 8 || in sas_smp_host_handler()
234 job->reply_payload.payload_len < 8) in sas_smp_host_handler()
238 req_data = kzalloc(job->request_payload.payload_len, GFP_KERNEL); in sas_smp_host_handler()
241 sg_copy_to_buffer(job->request_payload.sg_list, in sas_smp_host_handler()
242 job->request_payload.sg_cnt, req_data, in sas_smp_host_handler()
243 job->request_payload.payload_len); in sas_smp_host_handler()
247 resp_data = kzalloc(max(job->reply_payload.payload_len, 128U), in sas_smp_host_handler()
282 if (job->request_payload.payload_len < 16) in sas_smp_host_handler()
294 if (job->request_payload.payload_len < 16) in sas_smp_host_handler()
[all …]
/linux/drivers/media/platform/renesas/
H A Drcar_fdp1.c54 /* Number of Job's to have available on the processing queue */
551 /* A job can only be on one list at a time */
567 /* Job Queues */
628 * while preparing our job lists.
648 * list_remove_job: Take the first item off the specified job list
650 * Returns: pointer to a job, or NULL if the list is empty.
655 struct fdp1_job *job; in list_remove_job() local
659 job = list_first_entry_or_null(list, struct fdp1_job, list); in list_remove_job()
660 if (job) in list_remove_job()
661 list_del(&job->list); in list_remove_job()
[all …]
/linux/drivers/scsi/smartpqi/
H A Dsmartpqi_sas_transport.c458 struct bsg_job *job) in pqi_build_csmi_smp_passthru_buffer() argument
470 req_size = job->request_payload.payload_len; in pqi_build_csmi_smp_passthru_buffer()
471 resp_size = job->reply_payload.payload_len; in pqi_build_csmi_smp_passthru_buffer()
494 sg_copy_to_buffer(job->request_payload.sg_list, in pqi_build_csmi_smp_passthru_buffer()
495 job->reply_payload.sg_cnt, &parameters->request, in pqi_build_csmi_smp_passthru_buffer()
502 struct bmic_csmi_smp_passthru_buffer *smp_buf, struct bsg_job *job, in pqi_build_sas_smp_handler_reply() argument
505 sg_copy_from_buffer(job->reply_payload.sg_list, in pqi_build_sas_smp_handler_reply()
506 job->reply_payload.sg_cnt, &smp_buf->parameters.response, in pqi_build_sas_smp_handler_reply()
509 job->reply_len = le16_to_cpu(error_info->sense_data_length); in pqi_build_sas_smp_handler_reply()
510 memcpy(job->reply, error_info->data, in pqi_build_sas_smp_handler_reply()
[all …]
/linux/drivers/media/platform/raspberrypi/pisp_be/
H A Dpisp_be.c191 /* Records a job configuration and memory addresses. */
222 bool hw_busy; /* non-zero if a job is queued or is being started */
240 * Queue a job to the h/w. If the h/w is idle it will begin immediately.
242 * queued, unstarted job.
245 struct pispbe_job_descriptor *job) in pispbe_queue_job() argument
250 dev_err(pispbe->dev, "ERROR: not safe to queue new job!\n"); in pispbe_queue_job()
260 lower_32_bits(job->hw_dma_addrs[u])); in pispbe_queue_job()
262 upper_32_bits(job->hw_dma_addrs[u])); in pispbe_queue_job()
265 job->hw_enables.bayer_enables); in pispbe_queue_job()
267 job->hw_enables.rgb_enables); in pispbe_queue_job()
[all …]
/linux/drivers/gpu/drm/nouveau/
H A Dnouveau_exec.h41 #define to_nouveau_exec_job(job) \ argument
42 container_of((job), struct nouveau_exec_job, base)
44 int nouveau_exec_job_init(struct nouveau_exec_job **job,
53 /* Limit the number of IBs per job to half the size of the ring in order in nouveau_exec_push_max_from_ib_max()
55 * more slot for the job's HW fence. in nouveau_exec_push_max_from_ib_max()
H A Dnouveau_sched.h92 int nouveau_job_init(struct nouveau_job *job,
94 void nouveau_job_fini(struct nouveau_job *job);
95 int nouveau_job_submit(struct nouveau_job *job);
96 void nouveau_job_done(struct nouveau_job *job);
97 void nouveau_job_free(struct nouveau_job *job);
111 } job; member
/linux/Documentation/admin-guide/mm/
H A Dmultigen_lru.rst99 optimize job scheduling (bin packing) to improve memory utilizations.
100 When a new job comes in, the job scheduler needs to find out whether
102 this new job before it can pick a candidate. To do so, the job
133 A typical use case is that a job scheduler runs this command at a
141 pressure. It usually targets cold pages only. E.g., when a new job
142 comes in, the job scheduler wants to proactively reclaim cold pages on
144 this new job.
158 A typical use case is that a job scheduler runs this command before it
159 tries to land a new job on a server. If it fails to materialize enough

12345678910>>...15