This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM5728: Memory usage question

Part Number: AM5728


Tool/software: Linux

Hi.

we have checked  Memory usage for C66x, IVA-HD, etc. When i printk iommu at remoteproc_core.c, it print 2604MB. Is it out of memory ?

let you know about rproc_handle_devmem of linux-4.9.28+gitAUTOINC+eed43d1050-geed43d1050\drivers\remoteproc\remoteproc_core.c.

static int rproc_handle_devmem(struct rproc *rproc, struct fw_rsc_devmem *rsc,
          int offset, int avail)
{

 ...

printk("DBG : rsc->da(%#x) rsc->pa(%#x) rsc->len(%d) rsc->flags(%#x) name(%s) at %s\n", rsc->da, rsc->pa, rsc->len, rsc->flags, rsc->name, __FUNCTION__);
 
 ret = iommu_map(rproc->domain, rsc->da, rsc->pa, rsc->len, rsc->flags);

...

}

LOG is as below it. ( based on ti-processor-sdk-rtos\ipc_3_46_00_02\packages\ti\ipc\remoteproc\rsc_table_vayu_dsp.h )

[    6.649159] DBG : rsc->da(0x60000000) rsc->pa(0x9d000000) rsc->len(1048576) rsc->flags(0x0) name(IPU_MEM_IPC_VRING) at rproc_handle_devmem
[    6.649178] DBG : rsc->da(0x90000000) rsc->pa(0xba300000) rsc->len(94371840) rsc->flags(0x0) name(IPU_MEM_IOBUFS) at rproc_handle_devmem
[    6.650319] DBG : rsc->da(0xa0000000) rsc->pa(0x60000000) rsc->len(268435456) rsc->flags(0x0) name(IPU_TILER_MODE_0_1) at rproc_handle_devmem
[    6.650517] DBG : rsc->da(0xb0000000) rsc->pa(0x70000000) rsc->len(134217728) rsc->flags(0x0) name(IPU_TILER_MODE_2) at rproc_handle_devmem
[    6.650618] DBG : rsc->da(0xb8000000) rsc->pa(0x78000000) rsc->len(134217728) rsc->flags(0x0) name(IPU_TILER_MODE_3) at rproc_handle_devmem
[    6.650718] DBG : rsc->da(0x6a000000) rsc->pa(0x4a000000) rsc->len(16777216) rsc->flags(0x0) name(IPU_PERIPHERAL_L4CFG) at rproc_handle_devmem
[    6.650734] DBG : rsc->da(0x68000000) rsc->pa(0x48000000) rsc->len(2097152) rsc->flags(0x0) name(IPU_PERIPHERAL_L4PER1) at rproc_handle_devmem
[    6.650762] DBG : rsc->da(0x68400000) rsc->pa(0x48400000) rsc->len(4194304) rsc->flags(0x0) name(IPU_PERIPHERAL_L4PER2) at rproc_handle_devmem
[    6.650815] DBG : rsc->da(0x68800000) rsc->pa(0x48800000) rsc->len(8388608) rsc->flags(0x0) name(IPU_PERIPHERAL_L4PER3) at rproc_handle_devmem
[    6.650920] DBG : rsc->da(0x74000000) rsc->pa(0x54000000) rsc->len(16777216) rsc->flags(0x0) name(IPU_PERIPHERAL_L4EMU) at rproc_handle_devmem
[    6.650982] DBG : rsc->da(0x7a000000) rsc->pa(0x5a000000) rsc->len(16777216) rsc->flags(0x0) name(IPU_IVAHD_CONFIG) at rproc_handle_devmem
[    6.650999] DBG : rsc->da(0x7b000000) rsc->pa(0x5b000000) rsc->len(16777216) rsc->flags(0x0) name(IPU_IVAHD_SL2) at rproc_handle_devmem
[    6.651015] DBG : rsc->da(0x6e000000) rsc->pa(0x4e000000) rsc->len(1048576) rsc->flags(0x0) name(IPU_PERIPHERAL_DMM) at rproc_handle_devmem

[    6.814714] DBG : rsc->da(0x60000000) rsc->pa(0x95800000) rsc->len(1048576) rsc->flags(0x0) name(IPU_MEM_IPC_VRING) at rproc_handle_devmem
[    6.814732] DBG : rsc->da(0xa0000000) rsc->pa(0x60000000) rsc->len(268435456) rsc->flags(0x0) name(IPU_TILER_MODE_0_1) at rproc_handle_devmem
[    6.815188] DBG : rsc->da(0xb0000000) rsc->pa(0x70000000) rsc->len(134217728) rsc->flags(0x0) name(IPU_TILER_MODE_2) at rproc_handle_devmem
[    6.815290] DBG : rsc->da(0xb8000000) rsc->pa(0x78000000) rsc->len(134217728) rsc->flags(0x0) name(IPU_TILER_MODE_3) at rproc_handle_devmem
[    6.815391] DBG : rsc->da(0x6a000000) rsc->pa(0x4a000000) rsc->len(16777216) rsc->flags(0x0) name(IPU_PERIPHERAL_L4CFG) at rproc_handle_devmem
[    6.815407] DBG : rsc->da(0x68000000) rsc->pa(0x48000000) rsc->len(2097152) rsc->flags(0x0) name(IPU_PERIPHERAL_L4PER1) at rproc_handle_devmem
[    6.815436] DBG : rsc->da(0x68400000) rsc->pa(0x48400000) rsc->len(4194304) rsc->flags(0x0) name(IPU_PERIPHERAL_L4PER2) at rproc_handle_devmem
[    6.815491] DBG : rsc->da(0x68800000) rsc->pa(0x48800000) rsc->len(8388608) rsc->flags(0x0) name(IPU_PERIPHERAL_L4PER3) at rproc_handle_devmem
[    6.815596] DBG : rsc->da(0x74000000) rsc->pa(0x54000000) rsc->len(16777216) rsc->flags(0x0) name(IPU_PERIPHERAL_L4EMU) at rproc_handle_devmem
[    6.815612] DBG : rsc->da(0x7a000000) rsc->pa(0x5a000000) rsc->len(16777216) rsc->flags(0x0) name(IPU_IVAHD_CONFIG) at rproc_handle_devmem
[    6.815629] DBG : rsc->da(0x7b000000) rsc->pa(0x5b000000) rsc->len(16777216) rsc->flags(0x0) name(IPU_IVAHD_SL2) at rproc_handle_devmem
[    6.815645] DBG : rsc->da(0x6e000000) rsc->pa(0x4e000000) rsc->len(1048576) rsc->flags(0x0) name(IPU_PERIPHERAL_DMM) at rproc_handle_devmem

[    7.788235] DBG : rsc->da(0xa0000000) rsc->pa(0x9f000000) rsc->len(1048576) rsc->flags(0x0) name(DSP_MEM_IPC_VRING) at rproc_handle_devmem
[    7.788656] DBG : rsc->da(0xa0000000) rsc->pa(0x99000000) rsc->len(1048576) rsc->flags(0x0) name(DSP_MEM_IPC_VRING) at rproc_handle_devmem
[    7.788688] DBG : rsc->da(0x80000000) rsc->pa(0xba300000) rsc->len(94371840) rsc->flags(0x0) name(DSP_MEM_IOBUFS) at rproc_handle_devmem
[    7.791356] DBG : rsc->da(0x80000000) rsc->pa(0xba300000) rsc->len(94371840) rsc->flags(0x0) name(DSP_MEM_IOBUFS) at rproc_handle_devmem
[    7.807863] DBG : rsc->da(0x60000000) rsc->pa(0x60000000) rsc->len(268435456) rsc->flags(0x0) name(DSP_TILER_MODE_0_1) at rproc_handle_devmem
[    7.808294] DBG : rsc->da(0x70000000) rsc->pa(0x70000000) rsc->len(134217728) rsc->flags(0x0) name(DSP_TILER_MODE_2) at rproc_handle_devmem
[    7.808986] DBG : rsc->da(0x60000000) rsc->pa(0x60000000) rsc->len(268435456) rsc->flags(0x0) name(DSP_TILER_MODE_0_1) at rproc_handle_devmem
[    7.809432] DBG : rsc->da(0x78000000) rsc->pa(0x78000000) rsc->len(134217728) rsc->flags(0x0) name(DSP_TILER_MODE_3) at rproc_handle_devmem
[    7.809702] DBG : rsc->da(0x4a000000) rsc->pa(0x4a000000) rsc->len(16777216) rsc->flags(0x0) name(DSP_PERIPHERAL_L4CFG) at rproc_handle_devmem
[    7.809735] DBG : rsc->da(0x48000000) rsc->pa(0x48000000) rsc->len(2097152) rsc->flags(0x0) name(DSP_PERIPHERAL_L4PER1) at rproc_handle_devmem
[    7.809794] DBG : rsc->da(0x48400000) rsc->pa(0x48400000) rsc->len(4194304) rsc->flags(0x0) name(DSP_PERIPHERAL_L4PER2) at rproc_handle_devmem
[    7.809908] DBG : rsc->da(0x48800000) rsc->pa(0x48800000) rsc->len(8388608) rsc->flags(0x0) name(DSP_PERIPHERAL_L4PER3) at rproc_handle_devmem
[    7.810272] DBG : rsc->da(0x70000000) rsc->pa(0x70000000) rsc->len(134217728) rsc->flags(0x0) name(DSP_TILER_MODE_2) at rproc_handle_devmem
[    7.810489] DBG : rsc->da(0x78000000) rsc->pa(0x78000000) rsc->len(134217728) rsc->flags(0x0) name(DSP_TILER_MODE_3) at rproc_handle_devmem
[    7.810708] DBG : rsc->da(0x4a000000) rsc->pa(0x4a000000) rsc->len(16777216) rsc->flags(0x0) name(DSP_PERIPHERAL_L4CFG) at rproc_handle_devmem
[    7.810741] DBG : rsc->da(0x48000000) rsc->pa(0x48000000) rsc->len(2097152) rsc->flags(0x0) name(DSP_PERIPHERAL_L4PER1) at rproc_handle_devmem
[    7.810801] DBG : rsc->da(0x48400000) rsc->pa(0x48400000) rsc->len(4194304) rsc->flags(0x0) name(DSP_PERIPHERAL_L4PER2) at rproc_handle_devmem
[    7.810915] DBG : rsc->da(0x48800000) rsc->pa(0x48800000) rsc->len(8388608) rsc->flags(0x0) name(DSP_PERIPHERAL_L4PER3) at rproc_handle_devmem
[    7.813476] DBG : rsc->da(0x54000000) rsc->pa(0x54000000) rsc->len(16777216) rsc->flags(0x0) name(DSP_PERIPHERAL_L4EMU) at rproc_handle_devmem
[    7.813507] DBG : rsc->da(0x4e000000) rsc->pa(0x4e000000) rsc->len(1048576) rsc->flags(0x0) name(DSP_PERIPHERAL_DMM) at rproc_handle_devmem
[    7.813538] DBG : rsc->da(0x45c00000) rsc->pa(0x45c00000) rsc->len(12582912) rsc->flags(0x0) name(DSP_MCASP2) at rproc_handle_devmem
[    7.813866] DBG : rsc->da(0x43300000) rsc->pa(0x43300000) rsc->len(1048576) rsc->flags(0x0) name(DSP_EDMA) at rproc_handle_devmem
[    7.813896] DBG : rsc->da(0x43400000) rsc->pa(0x43400000) rsc->len(1048576) rsc->flags(0x0) name(DSP_EDMA_TC0) at rproc_handle_devmem
[    7.813927] DBG : rsc->da(0x43500000) rsc->pa(0x43500000) rsc->len(1048576) rsc->flags(0x0) name(DSP_EDMA_TC1) at rproc_handle_devmem
[    7.813957] DBG : rsc->da(0x40d10000) rsc->pa(0x40d10000) rsc->len(32768) rsc->flags(0x0) name(DSP_EDMA_CHANNEL) at rproc_handle_devmem
[    7.814230] DBG : rsc->da(0x40d05000) rsc->pa(0x40d05000) rsc->len(4096) rsc->flags(0x0) name(DSP_EDMA_TC0_TRANS) at rproc_handle_devmem
[    7.814260] DBG : rsc->da(0x40d06000) rsc->pa(0x40d06000) rsc->len(4096) rsc->flags(0x0) name(DSP_EDMA_TC1_TRANS) at rproc_handle_devmem
[    7.814824] DBG : rsc->da(0x54000000) rsc->pa(0x54000000) rsc->len(16777216) rsc->flags(0x0) name(DSP_PERIPHERAL_L4EMU) at rproc_handle_devmem
[    7.814856] DBG : rsc->da(0x4e000000) rsc->pa(0x4e000000) rsc->len(1048576) rsc->flags(0x0) name(DSP_PERIPHERAL_DMM) at rproc_handle_devmem
[    7.814887] DBG : rsc->da(0x45c00000) rsc->pa(0x45c00000) rsc->len(12582912) rsc->flags(0x0) name(DSP_MCASP2) at rproc_handle_devmem
[    7.815298] DBG : rsc->da(0x43300000) rsc->pa(0x43300000) rsc->len(1048576) rsc->flags(0x0) name(DSP_EDMA) at rproc_handle_devmem
[    7.815330] DBG : rsc->da(0x43400000) rsc->pa(0x43400000) rsc->len(1048576) rsc->flags(0x0) name(DSP_EDMA_TC0) at rproc_handle_devmem
[    7.815362] DBG : rsc->da(0x43500000) rsc->pa(0x43500000) rsc->len(1048576) rsc->flags(0x0) name(DSP_EDMA_TC1) at rproc_handle_devmem
[    7.815393] DBG : rsc->da(0x40d10000) rsc->pa(0x40d10000) rsc->len(32768) rsc->flags(0x0) name(DSP_EDMA_CHANNEL) at rproc_handle_devmem
[    7.817061] DBG : rsc->da(0x40d05000) rsc->pa(0x40d05000) rsc->len(4096) rsc->flags(0x0) name(DSP_EDMA_TC0_TRANS) at rproc_handle_devmem
[    7.817093] DBG : rsc->da(0x40d06000) rsc->pa(0x40d06000) rsc->len(4096) rsc->flags(0x0) name(DSP_EDMA_TC1_TRANS) at rproc_handle_devmem

Total of rsc->len is 

2730573824 

 it is almost 2604MB.  but, our system have 2GB(DDR3).

Can does it occur out of memory ? Is it too dangerous ? Does increase we from 2GB to 4GB ?

Does  we eliminate thing(ex, DSP_TILER_MODE_XX) unnessary at rsc_table_vayu_dsp.h ?

Our system have developed as below it.

- three display

- 3D GPU, 2D GPU -> GUI

-> full hd video decoding

-> camera encoding

-> multiple audio processing with c66x.

Thanks a lot.

  • The software team have been notified. They will respond here.
  • HI, Joonho,

    If I understand the logs correctly, some of virtual addresses are mapped to the same physical addresses. In that case, you can't count the usage length multiple times. In that case, I got the total length being 651MB.

    Rex
  • Hi.
    Thanks for quicky answer.
    I elimite same physical address. we get total length is 1396744192(1332MB) not 651MB.

    computaion is as below it.

    Len Physical address
    1048576 0x9d000000
    94371840 0xba300000
    268435456 0x60000000
    134217728 0x70000000
    134217728 0x78000000
    16777216 0x4a000000
    2097152 0x48000000
    4194304 0x48400000
    8388608 0x48800000
    16777216 0x54000000
    16777216 0x5a000000
    16777216 0x5b000000
    1048576 0x4e000000
    1048576 0x95800000
    268435456 0x60000000
    134217728 0x70000000
    134217728 0x78000000
    1048576 0x9f000000
    1048576 0x99000000
    94371840 0xba300000
    1048576 0x4e000000
    12582912 0x45c00000
    1048576 0x43300000
    1048576 0x43400000
    1048576 0x43500000
    32768 0x40d10000
    4096 0x40d05000
    4096 0x40d06000
    16777216 0x54000000
    1048576 0x4e000000
    12582912 0x45c00000

    Total 1396744192
    1332MB

    Can you check it again?
    Thanks a lot.
  • Hi, Joonho,

    You still have duplicated addresses. I used an excel spreadsheet and sorted by physical addresses which makes them very obvious. I suggest you do the same.

    Rex
  • Hi.
    Thanks a lot abot teaching excel for sorting.
    i am excel beginner.
    i got result through excel 's sort.

    Len Physical address
    4096 0x40d05000
    4096 0x40d06000
    32768 0x40d10000
    1048576 0x43300000
    1048576 0x43400000
    1048576 0x43500000
    12582912 0x45c00000
    2097152 0x48000000
    4194304 0x48400000
    8388608 0x48800000
    16777216 0x4a000000
    1048576 0x4e000000
    0 0
    16777216 0x54000000
    16777216 0x5a000000
    16777216 0x5b000000
    268435456 0x60000000
    134217728 0x70000000
    134217728 0x78000000
    1048576 0x95800000
    1048576 0x99000000
    1048576 0x9d000000
    1048576 0x9f000000
    94371840 0xba300000

    Total 734044160(about 700MB)

    we got our system need 700MB for C66x and IVA-HD.

    Thanks a lot.