dsp-load and memory

Hi

I would like to measure dsp resource.
I know dsp-load but when i look in file dsp_brigde.h i see :

enum dsp_resource {
  DSP_RESOURCE_DYNDARAM = 0,
  DSP_RESOURCE_DYNSARAM,
  DSP_RESOURCE_DYNEXTERNAL,
  DSP_RESOURCE_DYNSRAM,
  DSP_RESOURCE_PROCLOAD,
};

I try to printf this value and i get :

PROCLOAD: load: 0, pred_load: 0, freq: 0, pred_freq: 0
DYNSRAM: size: 0, total_free_size: 0, len_max_free_block: 0,
free_blocks: 1, alloc_blocks: 0
DYNEXTERNAL : , size: 2097152, total_free_size: 2097152,
len_max_free_block: 2097152, free_blocks: 1,alloc_blocks: 0
DYNSARAM: size: 0, total_free_size: 0, len_max_free_block: 0,
free_blocks: 1, alloc_blocks: 0
DYNDARAM: size: 0, total_free_size: 0, len_max_free_block: 0,
free_blocks: 1, alloc_blocks: 0

when DSP isn't running

PROCLOAD: load: 16, pred_load: 16, freq: 0, pred_freq: 0
DYNSRAM: size: 0, total_free_size: 0, len_max_free_block: 0,
free_blocks: 1, alloc_blocks: 0
DYNEXTERNAL : , size: 2097152, total_free_size: 1468459,
len_max_free_block: 1467823, free_blocks: 10, alloc_blocks: 11
DYNSARAM: size: 0, total_free_size: 0, len_max_free_block: 0,
free_blocks: 1, alloc_blocks: 0
DYNDARAM: size: 0, total_free_size: 0, len_max_free_block: 0,
free_blocks: 1, alloc_blocks: 0

when DSP is decoding big buck bunny.

I have several questions about this.
I don't understand the difference between load and pred_load, and why
does freq is always 0 ?
What is the unit of "DYNEXTERNAL size" ? Bytes?
Why do other resources like DYNSARAM, DYNDARAM and DYNSRAM are 0?

Regards.