hi
I confused with memory allocation that needs to be done with respect to external lnk ram, confusing exiting with what is the entry size for each descriptor. Assuming i allocate 512 k external lnk ram , what is the size that needs to be allocated 512k*4 or 512k *8 ?
The following statement are the cause of the confusion
1) CPPI/QMSS LLD
5.3 QMSS DESIGN DETAILS
The Queue Manager provides high-performance descriptor management. A total of 512 K
descriptors can be managed by the queue manager and these descriptors can be pooled into up to
8 K queues. To track the location of the descriptors in the queues, the queue manager uses
4x512 KB of memory. Up to 4x16 KB of this memory can be in the Linking RAM that is
embedded inside the QMSS and the remaining memory can be located elsewhere inside or
outside the device.
2) CPPI/QMSS LLD
11.2 Linking RAM
o 16K descriptors can be tracked using the internal linking RAM.
o Use External linking RAM for additional descriptors.
o Each entry MUST be 64 bit wide.
o Sum of internal and external memory MUST be equal to or greater than maximum
number of descriptors used in the system.
3 ) KeyStone Architecture Multicore Navigator User Guide
6.2.1 QMSS Initialization
An external Linking RAM needs to be configured with one 64-bit word for each
descriptor in the memory regions that use the external Linking RAM. The internal
Linking RAM does not require a buffer to be allocated for it
4) Multicore Navigator:Queue Manager Subsystem (QMSS)
Step 2: Linking RAM Setup
The Linking Ram is configured in one or two pieces, though it is used (by QM) as a single unit.
Requires one n-bit word per descriptor index, where n =
40 bits for the internal linking RAM
Benefit: speed (much faster than any other memory)
64 bits for an external linking RAM
Benefit: size (up to 512K entries)
thanks
selvaraj