[ls2088] Buffer pools amount for DPNI

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

[ls2088] Buffer pools amount for DPNI

3,769件の閲覧回数
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,716件の閲覧回数
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,677件の閲覧回数
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,662件の閲覧回数
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,652件の閲覧回数
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,633件の閲覧回数
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,629件の閲覧回数
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,623件の閲覧回数
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,587件の閲覧回数
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,750件の閲覧回数
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 件の賞賛
返信