This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Questions About Mali Job Slot and Address Space

Hello there,

    I'am developing a job schedule policy for Mali T628. But I am confused about Jos Slot and Address Space:


1. What does Job Slot mean? What is the relationship between job slot and shader core?


     Mali T628 has 8 shader core. But I get the amount of  job slot is 3 ( by printk gpu_props->num_job_slots).


2. What does Address Space mean?

  

    Does it mean a space in memory to store process's context during context swicth?

     Is context switch by hardware?


3. What the GPU do during soft and hard stop a job?



Thank you!



Parents
  • Thank you very much about your professional helps! @Chris Varnsverry @Johan Gronqvist @timhar01 @Peter Harris .


    According to your answers, I further understand job slot, shader cores, adress space, but I'm not sure it's right or not. Please give me more advice.

    1. Job slot is a concept in both driver and hardware. It's used to classify the job into 3 types so that different type of job can be separetly scheduled for parallel, load balancing, etc.

    2. Shader core consists of several pipelines(ALU, LoadStore, Texture). All shader cores are same and can compute any type of job.

        Shader cores are grouped in core group for efficiency. To support core group, mmu, l2 cache and AMBA interface are doubled.

    3. Address Space is like virtual memory in cpu. Different context( kbase_context in driver) has different address space.

        A context is associated with a cpu process, and a cpu process may have several context in gpu.Every time a cpu process open the /dev/mali, a context is created in driver.

    4. Soft/hard stop is used to manage job life cycle. It's all done in hardware.

    Some more questions:

    1. Does the gpu save and restore job's state (registers, mmu, etc) automaticly during soft stop and resume a job? Where does the state save?

    2. Dose Mali T628 support preempt? That is to say, can the driver pause a running job to run another one, and resume the paused one later?

    3. Are gpu commands stored in per-context address space?

    Thank you all again!

Reply
  • Thank you very much about your professional helps! @Chris Varnsverry @Johan Gronqvist @timhar01 @Peter Harris .


    According to your answers, I further understand job slot, shader cores, adress space, but I'm not sure it's right or not. Please give me more advice.

    1. Job slot is a concept in both driver and hardware. It's used to classify the job into 3 types so that different type of job can be separetly scheduled for parallel, load balancing, etc.

    2. Shader core consists of several pipelines(ALU, LoadStore, Texture). All shader cores are same and can compute any type of job.

        Shader cores are grouped in core group for efficiency. To support core group, mmu, l2 cache and AMBA interface are doubled.

    3. Address Space is like virtual memory in cpu. Different context( kbase_context in driver) has different address space.

        A context is associated with a cpu process, and a cpu process may have several context in gpu.Every time a cpu process open the /dev/mali, a context is created in driver.

    4. Soft/hard stop is used to manage job life cycle. It's all done in hardware.

    Some more questions:

    1. Does the gpu save and restore job's state (registers, mmu, etc) automaticly during soft stop and resume a job? Where does the state save?

    2. Dose Mali T628 support preempt? That is to say, can the driver pause a running job to run another one, and resume the paused one later?

    3. Are gpu commands stored in per-context address space?

    Thank you all again!

Children