changing MX6 VPU QoS

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

changing MX6 VPU QoS

Jump to solution
2,664 Views
ofer_livny
Contributor III

Hi

I'm looking for a way to increase the VPU's performance. The current bottleneck is in the MMDC, who is busy giving service to CPU and IPU. So I thought I can increase its service priority in the MMDC.

According to the reference manual (MMDC->performance->Arbitration), the iMX6 MMDC is capable of QoS management, and even allowing real time service for all requests with QoS='f'.

If I understand correctly, then the IPU QoS is set in the IOMUX registers (IOMUXC_GPR6/7).

However, I failed finding the place in which this QoS parameter is configured for the VPU.

Is it possible to change the VPU QoS? If not, is there another way I can give the VPU better service?

0 Kudos
Reply
1 Solution
1,734 Views
JackLee1z
NXP Employee
NXP Employee

You can use NIC-301 registers to modify the QoS setting for different modules in i.MX6. In IMX6DQ Reference Manual, it is located in 45.4.3. In MMDC, there is a profiling mechanism. You can also use this MMDC feature to understand the real time statistics of the system in order to have an idea how to do the tuning.

BR,
Jack

View solution in original post

0 Kudos
Reply
6 Replies
1,735 Views
JackLee1z
NXP Employee
NXP Employee

You can use NIC-301 registers to modify the QoS setting for different modules in i.MX6. In IMX6DQ Reference Manual, it is located in 45.4.3. In MMDC, there is a profiling mechanism. You can also use this MMDC feature to understand the real time statistics of the system in order to have an idea how to do the tuning.

BR,
Jack

0 Kudos
Reply
1,734 Views
ofer_livny
Contributor III

Thanks Jack!

Just what I was looking for.

I already learned about the real time statistics not long ago - very useful.

I didn't check it yet, but for future reference -

increasing the read/write VPU priority to almost realtime using devregs (from imx-utils):

devregs 0xC49100 0xe

devregs 0xC49104 0xe

0 Kudos
Reply
1,734 Views
igorpadykov
NXP Employee
NXP Employee

Hi ofer.livny

"In theory there is no difference between theory and practice, but in practice there is."[Murphy's laws] :smileyhappy:

Actaully one needs very carefully change these settings since

unexpected effects may occur with other peripherals : audio/ethernet underruns, e.t.c.

Freescale BSPs sets these values to most optimized for most practical use cases.

So change them with care.

Best regards

chip

0 Kudos
Reply
1,734 Views
ofer_livny
Contributor III

Thanks for the tip, chip,

Actually, I didn't notice any drastic changes after playing with VPU QoS.

Perhaps there's anything you can share from your experience? Did you attempt granting real time priority to something other than IPU ?

0 Kudos
Reply
1,734 Views
JackLee1z
NXP Employee
NXP Employee

Hi ofer.livny,

If memory bandwidth is not the bottleneck of the issue, QoS modification may not have any effect on the performance. You mentioned that you have used the MMDC profiling to investigate the issue, could you share the result for reference?

BR,

Jack

0 Kudos
Reply
1,734 Views
igorpadykov
NXP Employee
NXP Employee

Hi ofer.livny

do you mean that VPU behaviour did not change?

Best regards

chip

0 Kudos
Reply