[ls2088] Buffer pools amount for DPNI

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

[ls2088] Buffer pools amount for DPNI

3,838 次查看
Wille
Contributor I

"[E, dpni_set_pools:9440, DPNI] ID[1]: num of pools must be smaller than 3"

Is this a hard limit or would it be possible to override this in the software?

0 项奖励
回复
9 回复数

3,785 次查看
Wille
Contributor I

Unfortunately that didn't help, still got "[E, dpni_set_pools:9620, DPNI] ID[1]: num of pools must be smaller than 3" in the MC console.

0 项奖励
回复

3,746 次查看
yipingwang
NXP TechSupport
NXP TechSupport

Please refer to the update from the AE team.

I was looking in the wrong side of code.
Only two buffer pools are available for AIOP accelerators from the storage profile although the AIOP storage profile definition allows 4 buffer pools.

0 项奖励
回复

3,731 次查看
Wille
Contributor I

So this is probbaly a HW limitation which cannot be worked around? Is there any easy (and preferably efficient, cannot afford significant performance penalty) way to move a packet which has originally allocated buffers when received by WRIOP from pool X in the AIOP processing to new buffers allocated from a pool Y?

0 项奖励
回复

3,721 次查看
yipingwang
NXP TechSupport
NXP TechSupport

Excerpt:

"Storage Profile buffer pool selection policy"

"The setting of a configuration bit (BP) associated with the second pool in effect configures the buffer selection policy for the profile as either "best fit" or "back-up only".

  • Best fit: With each allocation FDMA tries to use the first buffer pool (which for this policy must contain smaller buffers than the second). If the smaller buffers of the first pool can be used to store the full/remaining data then it will be used. If not, then the second buffer pool is used. Both buffer pool must have their BP bit cleared to be in this mode.
  • Backup Pool Only: With each allocation first buffer pool is used unless it is exhausted.

Otherwise the second buffer pool will be used. To be in this mode, the first buffer pool must have BP cleared and the second buffer pool must have BP set. This mode could be used for high performance when the first buffer pool is using PEB and the second buffer pool is using external system memory buffers."

There is no  variant to autonomously(by the HW directly through an automatic selection mechanism -e.g based on QOS) transfer a buffer from a pool to another Software must explicitly do this: you can look at the code of  create_frame.

Basically, when you receive a frame you will acquire a buffer from another storage profile and store the frame in a buffer pool from that storage profile

0 项奖励
回复

3,702 次查看
Wille
Contributor I

Hi,

Does this mean that the HW is ignoring everything set in the dpbp_prio_mask when setting up the pools for the DPNI?

Br,

 

Wille

0 项奖励
回复

3,698 次查看
yipingwang
NXP TechSupport
NXP TechSupport

Storage profile selection based on priority is done before AIOP - in WRIOP during classification. In AIOP the selection is done based on the policy I have mentioned earlier.

0 项奖励
回复

3,692 次查看
Wille
Contributor I

Should it be working? I tried to configure it with masks 0xF0 and 0x0F and sent packets with QoS 0 and 7, but they finally ended up using buffers still from the same pool.

0 项奖励
回复

3,656 次查看
yipingwang
NXP TechSupport
NXP TechSupport

It does not work like that.
QoS classification must be enabled on DPNI. This will select the QPRI that will further map with a priority and implicitly with a bpool.
You have to add classification entries in QoS table and FS table.

But anyway you will always have 2 pools: the one with PEB and the one with DDR buffers. So the priority will always map to one of these two.

0 项奖励
回复

3,819 次查看
yipingwang
NXP TechSupport
NXP TechSupport

I think you are using an older MC version.
Try to update to 10.35.0 or 10.36.0.

0 项奖励
回复