Added more people involved in the dpdk mem allocator, and telemetry. On Wed, May 25, 2022 at 12:34 PM Amit Prakash Shukla <amitpraka...@marvell.com> wrote: > > Changes adds telemetry support to display memory occupancy > in memseg and the information of the elements allocated from > a memseg based on arguments provided by user. This patch > adds following endpoints: > > 1. /eal/memseg_list_array > The command displays the memseg list from which the memory > has been allocated. > Example: > --> /eal/memseg_list_array > {"/eal/memseg_list_array": [0, 1]} > > 2. /eal/memseg_list_info,<memseg-list-id> > The command outputs the memsegs, from which the memory is > allocated, for the memseg_list given as input. Command also > supports help. > Example: > --> /eal/memseg_list_info,help > {"/eal/memseg_list_info": "/eal/memseg_list_info,<memseg-list-id>"}
We already have something using the top level /help command. This proposed addition does not add much info. --> /help,/eal/memseg_list_info {"/help": {"/eal/memseg_list_info": "Returns memseg list. Parameters: int memseg_list_id"}} --> /eal/memseg_list_info,help {"/eal/memseg_list_info": "/eal/memseg_list_info,<memseg-list-id>"} Please, remove it. I think this series is useful though I did not enter into detail. If nobody has objection, I will merge it once the above comment is handled. > > --> /eal/memseg_list_info,1 > {"/eal/memseg_list_info": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, \ > 12, 13, 14, 15]} > > 3. /eal/memseg_info,<memseg-list-id>,<memseg-id> > The command outputs the memseg information based on the > memseg-list and the memseg-id given as input. Command also > supports help. > Example: > --> /eal/memseg_info,help > {"/eal/memseg_info": "/eal/memseg_info,<memseg-list-id>, \ > <memseg-id>"} > > --> /eal/memseg_info,0,10 > {"/eal/memseg_info": {"Memseg_list_index": 0, \ > "Memseg_index": 10, "Memseg_list_len": 64, \ > "Start_addr": "0x260000000", "End_addr": "0x280000000", \ > "Size": 536870912}} > > --> /eal/memseg_info,1,15 > {"/eal/memseg_info": {"Memseg_list_index": 1, \ > "Memseg_index": 15, "Memseg_list_len": 64, \ > "Start_addr": "0xb20000000", "End_addr": "0xb40000000", \ > "Size": 536870912}} > > 4. /eal/element_list,<heap-id>,<memseg-list-id>,<memseg-id> > The command outputs number of elements in a memseg based > on the heap-id, memseg-list-id and memseg-id given as input. > Command also supports help. > Example: > --> /eal/element_list,help > {"/eal/element_list": "/eal/element_list,<heap-id>, \ > <memseg-list-id>,<memseg-id>"} > > --> /eal/element_list,0,0,63 > {"/eal/element_list": {"Element_count": 52}} > > --> /eal/element_list,0,1,15 > {"/eal/element_list": {"Element_count": 52}} > > 5. /eal/element_info,<heap-id>,<memseg-list-id>,<memseg-id>, \ > <elem-start-id>,<elem-end-id> > The command outputs element information like element start > address, end address, to which memseg it belongs, element > state, element size. User can give a range of elements to be > printed. Command also supports help. > Example: > --> /eal/element_info,help > {"/eal/element_info": "/eal/element_info,<heap-id>, \ > <memseg-list-id>,<memseg-id>,<elem-start-id>,<elem-end-id>"} > > --> /eal/element_info,0,1,15,1,2 > {"/eal/element_info": {"element.1": {"msl_id": 1, \ > "ms_id": 15, "memseg_start_addr": "0xb20000000", \ > "memseg_end_addr": "0xb40000000", \ > "element_start_addr": "0xb201fe680", \ > "element_end_addr": "0xb20bfe700", \ > "element_size": 10485888, "element_state": "Busy"}, \ > "element.2": {"msl_id": 1, "ms_id": 15, \ > "memseg_start_addr": "0xb20000000", \ > "memseg_end_addr": "0xb40000000", \ > "element_start_addr": "0xb20bfe700", \ > "element_end_addr": "0xb215fe780", "element_size": 10485888, \ > "element_state": "Busy"}, "Element_count": 2}} > > Signed-off-by: Amit Prakash Shukla <amitpraka...@marvell.com> -- David Marchand