[ls2088] Buffer pools amount for DPNI

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

[ls2088] Buffer pools amount for DPNI

3,678 Views
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 Kudos
Reply
9 Replies

3,625 Views
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 Kudos
Reply

3,586 Views
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 Kudos
Reply

3,571 Views
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 Kudos
Reply

3,561 Views
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 Kudos
Reply

3,542 Views
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 Kudos
Reply

3,538 Views
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 Kudos
Reply

3,532 Views
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 Kudos
Reply

3,496 Views
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 Kudos
Reply

3,659 Views
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 Kudos
Reply