Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zzha zzha
OpenXG-RAN
Commits
dabdf793
Commit
dabdf793
authored
Dec 21, 2016
by
Wilson W.K. Thong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add more logs to debug memory leak problem
parent
afeb2566
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
136 additions
and
115 deletions
+136
-115
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+12
-12
openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c
openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c
+1
-1
openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
+3
-3
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
+1
-1
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c
+2
-2
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c
+3
-3
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
+3
-3
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c
+3
-3
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
+4
-4
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c
+3
-3
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
+2
-2
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c
+5
-5
openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c
openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c
+5
-5
openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c
openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c
+4
-4
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
+2
-2
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
+5
-5
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c
+1
-1
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c
+8
-8
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c
+10
-10
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c
+3
-3
openair2/LAYER2/RLC/rlc.c
openair2/LAYER2/RLC/rlc.c
+13
-13
openair2/LAYER2/RLC/rlc_mac.c
openair2/LAYER2/RLC/rlc_mac.c
+2
-2
openair2/LAYER2/RLC/rlc_rrc.c
openair2/LAYER2/RLC/rlc_rrc.c
+1
-1
openair2/UTIL/LISTS/list.c
openair2/UTIL/LISTS/list.c
+1
-1
openair2/UTIL/LISTS/list2.c
openair2/UTIL/LISTS/list2.c
+1
-1
openair2/UTIL/MEM/mem_block.c
openair2/UTIL/MEM/mem_block.c
+24
-3
openair2/UTIL/MEM/mem_block.h
openair2/UTIL/MEM/mem_block.h
+2
-2
openair2/UTIL/MEM/mem_mngt.c
openair2/UTIL/MEM/mem_mngt.c
+6
-6
openair2/UTIL/TIMER/umts_timer.c
openair2/UTIL/TIMER/umts_timer.c
+4
-4
targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c
targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c
+2
-2
No files found.
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
View file @
dabdf793
...
...
@@ -160,7 +160,7 @@ boolean_t pdcp_data_req(
if
(
modeP
==
PDCP_TRANSMISSION_MODE_TRANSPARENT
)
{
LOG_D
(
PDCP
,
" [TM] Asking for a new mem_block of size %d
\n
"
,
sdu_buffer_sizeP
);
pdcp_pdu_p
=
get_free_mem_block
(
sdu_buffer_sizeP
);
pdcp_pdu_p
=
get_free_mem_block
(
sdu_buffer_sizeP
,
__func__
);
if
(
pdcp_pdu_p
!=
NULL
)
{
memcpy
(
&
pdcp_pdu_p
->
data
[
0
],
sdu_buffer_pP
,
sdu_buffer_sizeP
);
...
...
@@ -201,7 +201,7 @@ boolean_t pdcp_data_req(
/*
* Allocate a new block for the new PDU (i.e. PDU header and SDU payload)
*/
pdcp_pdu_p
=
get_free_mem_block
(
pdcp_pdu_size
);
pdcp_pdu_p
=
get_free_mem_block
(
pdcp_pdu_size
,
__func__
);
if
(
pdcp_pdu_p
!=
NULL
)
{
/*
...
...
@@ -260,7 +260,7 @@ boolean_t pdcp_data_req(
PROTOCOL_PDCP_CTXT_ARGS
(
ctxt_pP
,
pdcp_p
),
current_sn
);
free_mem_block
(
pdcp_pdu_p
);
free_mem_block
(
pdcp_pdu_p
,
__func__
);
if
(
ctxt_pP
->
enb_flag
==
ENB_FLAG_NO
)
{
stop_meas
(
&
eNB_pdcp_stats
[
ctxt_pP
->
module_id
].
data_req
);
...
...
@@ -510,7 +510,7 @@ pdcp_data_ind(
PROTOCOL_CTXT_FMT
"Could not get PDCP instance key 0x%"
PRIx64
"
\n
"
,
PROTOCOL_CTXT_ARGS
(
ctxt_pP
),
key
);
free_mem_block
(
sdu_buffer_pP
);
free_mem_block
(
sdu_buffer_pP
,
__func__
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PDCP_DATA_IND
,
VCD_FUNCTION_OUT
);
return
FALSE
;
}
...
...
@@ -567,7 +567,7 @@ pdcp_data_ind(
PROTOCOL_PDCP_CTXT_FMT
"Incoming (from RLC) SDU is short of size (size:%d)! Ignoring...
\n
"
,
PROTOCOL_PDCP_CTXT_ARGS
(
ctxt_pP
,
pdcp_p
),
sdu_buffer_sizeP
);
free_mem_block
(
sdu_buffer_pP
);
free_mem_block
(
sdu_buffer_pP
,
__func__
);
if
(
ctxt_pP
->
enb_flag
)
{
stop_meas
(
&
eNB_pdcp_stats
[
ctxt_pP
->
module_id
].
data_ind
);
...
...
@@ -598,7 +598,7 @@ pdcp_data_ind(
*/
#if 0
LOG_D(PDCP, "Ignoring PDU...\n");
free_mem_block(sdu_buffer);
free_mem_block(sdu_buffer
, __func__
);
return FALSE;
#else
//LOG_W(PDCP, "Delivering out-of-order SDU to upper layer...\n");
...
...
@@ -645,9 +645,9 @@ pdcp_data_ind(
rb_id
,
sdu_buffer_sizeP
-
pdcp_header_len
-
pdcp_tailer_len
,
(
uint8_t
*
)
&
sdu_buffer_pP
->
data
[
pdcp_header_len
]);
free_mem_block
(
sdu_buffer_pP
);
free_mem_block
(
sdu_buffer_pP
,
__func__
);
// free_mem_block(new_sdu);
// free_mem_block(new_sdu
, __func__
);
if
(
ctxt_pP
->
enb_flag
)
{
stop_meas
(
&
eNB_pdcp_stats
[
ctxt_pP
->
module_id
].
data_ind
);
}
else
{
...
...
@@ -722,7 +722,7 @@ pdcp_data_ind(
ctime
,
(
const
char
*
)(
&
sdu_buffer_pP
->
data
[
payload_offset
]),
sdu_buffer_sizeP
-
payload_offset
)
==
0
)
{
free_mem_block
(
sdu_buffer_pP
);
free_mem_block
(
sdu_buffer_pP
,
__func__
);
if
(
ctxt_pP
->
enb_flag
)
{
stop_meas
(
&
eNB_pdcp_stats
[
ctxt_pP
->
module_id
].
data_ind
);
...
...
@@ -739,7 +739,7 @@ pdcp_data_ind(
if
(
otg_enabled
==
1
)
{
LOG_D
(
OTG
,
"Discarding received packed
\n
"
);
free_mem_block
(
sdu_buffer_pP
);
free_mem_block
(
sdu_buffer_pP
,
__func__
);
if
(
ctxt_pP
->
enb_flag
)
{
stop_meas
(
&
eNB_pdcp_stats
[
ctxt_pP
->
module_id
].
data_ind
);
...
...
@@ -794,7 +794,7 @@ pdcp_data_ind(
#endif
if
(
FALSE
==
packet_forwarded
)
{
new_sdu_p
=
get_free_mem_block
(
sdu_buffer_sizeP
-
payload_offset
+
sizeof
(
pdcp_data_ind_header_t
));
new_sdu_p
=
get_free_mem_block
(
sdu_buffer_sizeP
-
payload_offset
+
sizeof
(
pdcp_data_ind_header_t
)
,
__func__
);
if
(
new_sdu_p
)
{
if
(
pdcp_p
->
rlc_mode
==
RLC_MODE_AM
)
{
...
...
@@ -856,7 +856,7 @@ pdcp_data_ind(
#endif
free_mem_block
(
sdu_buffer_pP
);
free_mem_block
(
sdu_buffer_pP
,
__func__
);
if
(
ctxt_pP
->
enb_flag
)
{
stop_meas
(
&
eNB_pdcp_stats
[
ctxt_pP
->
module_id
].
data_ind
);
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp_control_primitive.c
View file @
dabdf793
...
...
@@ -44,7 +44,7 @@ configure_pdcp_req (struct pdcp_entity *pdcpP, void *rlcP, uint8_t rlc_sap_typeP
//-----------------------------------------------------------------------------
mem_block
*
mb
;
mb
=
get_free_mem_block
(
sizeof
(
struct
cpdcp_primitive
));
mb
=
get_free_mem_block
(
sizeof
(
struct
cpdcp_primitive
)
,
__func__
);
((
struct
cpdcp_primitive
*
)
mb
->
data
)
->
type
=
CPDCP_CONFIG_REQ
;
((
struct
cpdcp_primitive
*
)
mb
->
data
)
->
primitive
.
config_req
.
rlc_sap
=
rlcP
;
((
struct
cpdcp_primitive
*
)
mb
->
data
)
->
primitive
.
config_req
.
rlc_type_sap
=
rlc_sap_typeP
;
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
View file @
dabdf793
...
...
@@ -128,7 +128,7 @@ int pdcp_fifo_flush_sdus(const protocol_ctxt_t* const ctxt_pP)
((
pdcp_data_ind_header_t
*
)(
sdu_p
->
data
))
->
data_size
);
list_remove_head
(
&
pdcp_sdu_list
);
free_mem_block
(
sdu_p
);
free_mem_block
(
sdu_p
,
__func__
);
cont
=
1
;
pdcp_nb_sdu_sent
+=
1
;
sdu_p
=
list_get_head
(
&
pdcp_sdu_list
);
...
...
@@ -244,7 +244,7 @@ int pdcp_fifo_flush_sdus(const protocol_ctxt_t* const ctxt_pP)
((
pdcp_data_ind_header_t
*
)(
sdu_p
->
data
))
->
rb_id
);
list_remove_head
(
&
pdcp_sdu_list
);
free_mem_block
(
sdu_p
);
free_mem_block
(
sdu_p
,
__func__
);
cont
=
1
;
pdcp_nb_sdu_sent
+=
1
;
sdu_p
=
list_get_head
(
&
pdcp_sdu_list
);
...
...
@@ -272,7 +272,7 @@ int pdcp_fifo_flush_sdus(const protocol_ctxt_t* const ctxt_pP)
if
(
!
pdcp_output_sdu_bytes_to_write
)
{
// OK finish with this SDU
//PRINT_RB_SEND_OUTPUT_SDU ("[PDCP] RADIO->IP SEND SDU\n");
list_remove_head
(
&
pdcp_sdu_list
);
free_mem_block
(
sdu_p
);
free_mem_block
(
sdu_p
,
__func__
);
cont
=
1
;
pdcp_nb_sdu_sent
+=
1
;
sdu_p
=
list_get_head
(
&
pdcp_sdu_list
);
...
...
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
View file @
dabdf793
...
...
@@ -1280,7 +1280,7 @@ rlc_am_data_req (
l_rlc_p
->
input_sdus
[
l_rlc_p
->
next_sdu_index
].
mem_block
,
l_rlc_p
->
input_sdus
[
l_rlc_p
->
next_sdu_index
].
flags
.
segmented
);
l_rlc_p
->
stat_tx_pdcp_sdu_discarded
+=
1
;
l_rlc_p
->
stat_tx_pdcp_bytes_discarded
+=
((
struct
rlc_am_data_req
*
)
(
sdu_pP
->
data
))
->
data_size
;
free_mem_block
(
sdu_pP
);
free_mem_block
(
sdu_pP
,
__func__
);
#if STOP_ON_IP_TRAFFIC_OVERLOAD
AssertFatal
(
0
,
PROTOCOL_RLC_AM_CTXT_FMT
" RLC_AM_DATA_REQ size %d Bytes, SDU DROPPED, INPUT BUFFER OVERFLOW NB SDU %d current_sdu_index=%d next_sdu_index=%d
\n
"
,
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
l_rlc_p
),
...
...
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_in_sdu.c
View file @
dabdf793
...
...
@@ -42,7 +42,7 @@ void rlc_am_free_in_sdu(
{
if
(
index_in_bufferP
<=
RLC_AM_SDU_CONTROL_BUFFER_SIZE
)
{
if
(
rlcP
->
input_sdus
[
index_in_bufferP
].
mem_block
!=
NULL
)
{
free_mem_block
(
rlcP
->
input_sdus
[
index_in_bufferP
].
mem_block
);
free_mem_block
(
rlcP
->
input_sdus
[
index_in_bufferP
].
mem_block
,
__func__
);
rlcP
->
input_sdus
[
index_in_bufferP
].
mem_block
=
NULL
;
rlcP
->
nb_sdu_no_segmented
-=
1
;
rlcP
->
input_sdus
[
index_in_bufferP
].
sdu_remaining_size
=
0
;
...
...
@@ -81,7 +81,7 @@ rlc_am_free_in_sdu_data(
{
if
(
index_in_bufferP
<=
RLC_AM_SDU_CONTROL_BUFFER_SIZE
)
{
if
(
rlcP
->
input_sdus
[
index_in_bufferP
].
mem_block
!=
NULL
)
{
free_mem_block
(
rlcP
->
input_sdus
[
index_in_bufferP
].
mem_block
);
free_mem_block
(
rlcP
->
input_sdus
[
index_in_bufferP
].
mem_block
,
__func__
);
rlcP
->
input_sdus
[
index_in_bufferP
].
mem_block
=
NULL
;
rlcP
->
input_sdus
[
index_in_bufferP
].
sdu_remaining_size
=
0
;
rlcP
->
nb_sdu_no_segmented
-=
1
;
...
...
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_init.c
View file @
dabdf793
...
...
@@ -152,7 +152,7 @@ rlc_am_cleanup(
if
(
rlc_pP
->
output_sdu_in_construction
!=
NULL
)
{
free_mem_block
(
rlc_pP
->
output_sdu_in_construction
);
free_mem_block
(
rlc_pP
->
output_sdu_in_construction
,
__func__
);
rlc_pP
->
output_sdu_in_construction
=
NULL
;
}
...
...
@@ -161,7 +161,7 @@ rlc_am_cleanup(
if
(
rlc_pP
->
input_sdus
!=
NULL
)
{
for
(
i
=
0
;
i
<
RLC_AM_SDU_CONTROL_BUFFER_SIZE
;
i
++
)
{
if
(
rlc_pP
->
input_sdus
[
i
].
mem_block
!=
NULL
)
{
free_mem_block
(
rlc_pP
->
input_sdus
[
i
].
mem_block
);
free_mem_block
(
rlc_pP
->
input_sdus
[
i
].
mem_block
,
__func__
);
rlc_pP
->
input_sdus
[
i
].
mem_block
=
NULL
;
}
}
...
...
@@ -175,7 +175,7 @@ rlc_am_cleanup(
if
(
rlc_pP
->
pdu_retrans_buffer
!=
NULL
)
{
for
(
i
=
0
;
i
<
RLC_AM_PDU_RETRANSMISSION_BUFFER_SIZE
;
i
++
)
{
if
(
rlc_pP
->
pdu_retrans_buffer
[
i
].
mem_block
!=
NULL
)
{
free_mem_block
(
rlc_pP
->
pdu_retrans_buffer
[
i
].
mem_block
);
free_mem_block
(
rlc_pP
->
pdu_retrans_buffer
[
i
].
mem_block
,
__func__
);
rlc_pP
->
pdu_retrans_buffer
[
i
].
mem_block
=
NULL
;
}
}
...
...
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
View file @
dabdf793
...
...
@@ -55,7 +55,7 @@ rlc_am_reassembly (
lengthP
);
if
(
rlc_pP
->
output_sdu_in_construction
==
NULL
)
{
rlc_pP
->
output_sdu_in_construction
=
get_free_mem_block
(
RLC_SDU_MAX_SIZE
);
rlc_pP
->
output_sdu_in_construction
=
get_free_mem_block
(
RLC_SDU_MAX_SIZE
,
__func__
);
rlc_pP
->
output_sdu_size_to_write
=
0
;
assert
(
rlc_pP
->
output_sdu_in_construction
!=
NULL
);
}
...
...
@@ -197,7 +197,7 @@ rlc_am_send_sdu (
LOG_E
(
RLC
,
PROTOCOL_RLC_AM_CTXT_FMT
"[SEND_SDU] ERROR SIZE <= 0 ... DO NOTHING, SET SDU SIZE TO 0
\n
"
,
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
));
//msg("[RLC_AM][MOD %d] Freeing mem_block ...\n", rlc_pP->module_id);
//free_mem_block (rlc_pP->output_sdu_in_construction);
//free_mem_block (rlc_pP->output_sdu_in_construction
, __func__
);
AssertFatal
(
3
==
4
,
PROTOCOL_RLC_AM_CTXT_FMT
" SEND SDU REQUESTED %d bytes"
,
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
),
...
...
@@ -397,5 +397,5 @@ rlc_am_reassemble_pdu(
}
}
free_mem_block
(
tb_pP
);
free_mem_block
(
tb_pP
,
__func__
);
}
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_receiver.c
View file @
dabdf793
...
...
@@ -346,7 +346,7 @@ rlc_am_receive_process_data_pdu (
if
(
rlc_am_rx_list_insert_pdu
(
ctxt_pP
,
rlc_pP
,
tb_pP
)
<
0
)
{
rlc_pP
->
stat_rx_data_pdu_dropped
+=
1
;
rlc_pP
->
stat_rx_data_bytes_dropped
+=
tb_size_in_bytesP
;
free_mem_block
(
tb_pP
);
free_mem_block
(
tb_pP
,
__func__
);
LOG_D
(
RLC
,
PROTOCOL_RLC_AM_CTXT_FMT
"[PROCESS RX PDU] PDU DISCARDED, STATUS REQUESTED:
\n
"
,
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
));
rlc_pP
->
status_requested
=
1
;
...
...
@@ -437,12 +437,12 @@ rlc_am_receive_process_data_pdu (
}
else
{
rlc_pP
->
stat_rx_data_pdu_out_of_window
+=
1
;
rlc_pP
->
stat_rx_data_bytes_out_of_window
+=
tb_size_in_bytesP
;
free_mem_block
(
tb_pP
);
free_mem_block
(
tb_pP
,
__func__
);
LOG_D
(
RLC
,
PROTOCOL_RLC_AM_CTXT_FMT
"[PROCESS RX PDU] PDU OUT OF RX WINDOW, DISCARDED, STATUS REQUESTED:
\n
"
,
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
));
rlc_pP
->
status_requested
=
1
;
}
}
else
{
free_mem_block
(
tb_pP
);
free_mem_block
(
tb_pP
,
__func__
);
}
}
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_retransmit.c
View file @
dabdf793
...
...
@@ -143,7 +143,7 @@ void rlc_am_ack_pdu (
if
((
rlc_pP
->
pdu_retrans_buffer
[
snP
].
flags
.
ack
==
0
)
&&
(
mb_p
!=
NULL
))
{
//if (mb_pP != NULL) {
free_mem_block
(
mb_p
);
free_mem_block
(
mb_p
,
__func__
);
rlc_pP
->
pdu_retrans_buffer
[
snP
].
mem_block
=
NULL
;
LOG_D
(
RLC
,
PROTOCOL_RLC_AM_CTXT_FMT
"[ACK-PDU] ACK PDU SN %05d previous retx_count %d
\n
"
,
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
),
...
...
@@ -235,7 +235,7 @@ void rlc_am_ack_pdu (
snP
);
if
(
mb_p
!=
NULL
)
{
free_mem_block
(
mb_p
);
free_mem_block
(
mb_p
,
__func__
);
rlc_pP
->
pdu_retrans_buffer
[
snP
].
mem_block
=
NULL
;
}
...
...
@@ -275,7 +275,7 @@ mem_block_t* rlc_am_retransmit_get_copy (
rlc_am_tx_data_pdu_management_t
*
pdu_mngt
=
&
rlc_pP
->
pdu_retrans_buffer
[
snP
%
RLC_AM_PDU_RETRANSMISSION_BUFFER_SIZE
];
int
size
=
pdu_mngt
->
header_and_payload_size
+
sizeof
(
struct
mac_tb_req
);
mem_block_t
*
mb_copy
=
get_free_mem_block
(
size
);
mem_block_t
*
mb_copy
=
get_free_mem_block
(
size
,
__func__
);
memcpy
(
mb_copy
->
data
,
mb_original_p
->
data
,
size
);
rlc_am_pdu_sn_10_t
*
pdu_p
=
(
rlc_am_pdu_sn_10_t
*
)
(
&
mb_copy
->
data
[
sizeof
(
struct
mac_tb_req
)]);
...
...
@@ -343,7 +343,7 @@ mem_block_t* rlc_am_retransmit_get_subsegment(
mem_block_t
*
mb_original_p
=
rlc_pP
->
pdu_retrans_buffer
[
snP
].
mem_block
;
if
(
mb_original_p
!=
NULL
)
{
mem_block_t
*
mb_sub_segment_p
=
get_free_mem_block
(
*
sizeP
+
sizeof
(
struct
mac_tb_req
));
mem_block_t
*
mb_sub_segment_p
=
get_free_mem_block
(
*
sizeP
+
sizeof
(
struct
mac_tb_req
)
,
__func__
);
rlc_am_pdu_sn_10_t
*
pdu_original_p
=
(
rlc_am_pdu_sn_10_t
*
)
(
&
mb_original_p
->
data
[
sizeof
(
struct
mac_tb_req
)]);
rlc_am_pdu_sn_10_t
*
pdu_sub_segment_p
=
(
rlc_am_pdu_sn_10_t
*
)
(
&
mb_sub_segment_p
->
data
[
sizeof
(
struct
mac_tb_req
)]);
rlc_am_pdu_info_t
pdu_info
;
...
...
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_segment.c
View file @
dabdf793
...
...
@@ -197,7 +197,7 @@ void rlc_am_segment_10 (
data_pdu_size
);
}
if
(
!
(
pdu_mem_p
=
get_free_mem_block
(
data_pdu_size
+
sizeof
(
struct
mac_tb_req
))))
{
if
(
!
(
pdu_mem_p
=
get_free_mem_block
(
data_pdu_size
+
sizeof
(
struct
mac_tb_req
)
,
__func__
)))
{
LOG_C
(
RLC
,
PROTOCOL_RLC_AM_CTXT_FMT
"[SEGMENT] ERROR COULD NOT GET NEW PDU, EXIT
\n
"
,
PROTOCOL_RLC_AM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
));
RLC_AM_MUTEX_UNLOCK
(
&
rlc_pP
->
lock_input_sdus
);
...
...
@@ -366,7 +366,7 @@ void rlc_am_segment_10 (
// free SDU
rlc_pP
->
sdu_buffer_occupancy
-=
sdu_mngt_p
->
sdu_remaining_size
;
rlc_am_free_in_sdu_data
(
ctxt_pP
,
rlc_pP
,
rlc_pP
->
current_sdu_index
);
//free_mem_block (rlc_pP->input_sdus[rlc_pP->current_sdu_index]);
//free_mem_block (rlc_pP->input_sdus[rlc_pP->current_sdu_index]
, __func__
);
//rlc_pP->input_sdus[rlc_pP->current_sdu_index] = NULL;
//rlc_pP->nb_sdu -= 1;
rlc_pP
->
current_sdu_index
=
(
rlc_pP
->
current_sdu_index
+
1
)
%
RLC_AM_SDU_CONTROL_BUFFER_SIZE
;
...
...
@@ -445,7 +445,7 @@ void rlc_am_segment_10 (
sdu_mngt_p
->
sdu_remaining_size
=
0
;
rlc_am_free_in_sdu_data
(
ctxt_pP
,
rlc_pP
,
rlc_pP
->
current_sdu_index
);
//free_mem_block (rlc_pP->input_sdus[rlc_pP->current_sdu_index]);
//free_mem_block (rlc_pP->input_sdus[rlc_pP->current_sdu_index]
, __func__
);
//rlc_pP->input_sdus[rlc_pP->current_sdu_index] = NULL;
//rlc_pP->nb_sdu -= 1;
rlc_pP
->
current_sdu_index
=
(
rlc_pP
->
current_sdu_index
+
1
)
%
RLC_AM_SDU_CONTROL_BUFFER_SIZE
;
...
...
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
View file @
dabdf793
...
...
@@ -370,7 +370,7 @@ rlc_am_receive_process_control_pdu(
*
first_byte_ppP
=
(
uint8_t
*
)((
uint64_t
)
*
first_byte_ppP
+
initial_pdu_size
-
*
tb_size_in_bytes_pP
);
free_mem_block
(
tb_pP
);
free_mem_block
(
tb_pP
,
__func__
);
rlc_am_tx_buffer_display
(
ctxt_pP
,
rlc_pP
,
NULL
);
}
//-----------------------------------------------------------------------------
...
...
@@ -730,7 +730,7 @@ end_push_nack:
__LINE__
,
pdu_size
);
#endif
tb_p
=
get_free_mem_block
(
sizeof
(
struct
mac_tb_req
)
+
pdu_size
);
tb_p
=
get_free_mem_block
(
sizeof
(
struct
mac_tb_req
)
+
pdu_size
,
__func__
);
memset
(
tb_p
->
data
,
0
,
sizeof
(
struct
mac_tb_req
)
+
pdu_size
);
//estimation only ((struct mac_tb_req*)(tb_p->data))->tb_size = pdu_size;
((
struct
mac_tb_req
*
)(
tb_p
->
data
))
->
data_ptr
=
(
uint8_t
*
)
&
(
tb_p
->
data
[
sizeof
(
struct
mac_tb_req
)]);
...
...
openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_test.c
View file @
dabdf793
...
...
@@ -516,7 +516,7 @@ void rlc_am_v9_3_0_test_send_sdu(rlc_am_entity_t *am_txP, int sdu_indexP)
//-----------------------------------------------------------------------------
{
mem_block_t
*
sdu
;
sdu
=
get_free_mem_block
(
strlen
(
g_sdus
[
sdu_indexP
])
+
1
+
sizeof
(
struct
rlc_am_data_req_alloc
));
sdu
=
get_free_mem_block
(
strlen
(
g_sdus
[
sdu_indexP
])
+
1
+
sizeof
(
struct
rlc_am_data_req_alloc
)
,
__func__
);
if
(
sdu
!=
NULL
)
{
// PROCESS OF COMPRESSION HERE:
...
...
@@ -561,7 +561,7 @@ void rlc_am_v9_3_0_test_mac_rlc_loop (struct mac_data_ind *data_indP, struct ma
*
tx_packetsP
=
*
tx_packetsP
+
1
;
if
(
*
drop_countP
==
0
)
{
tb_dst
=
get_free_mem_block
(
sizeof
(
mac_rlc_max_rx_header_size_t
)
+
tb_size
);
tb_dst
=
get_free_mem_block
(
sizeof
(
mac_rlc_max_rx_header_size_t
)
+
tb_size
,
__func__
);
if
(
tb_dst
!=
NULL
)
{
((
struct
mac_tb_ind
*
)
(
tb_dst
->
data
))
->
first_bit
=
0
;
...
...
@@ -585,7 +585,7 @@ void rlc_am_v9_3_0_test_mac_rlc_loop (struct mac_data_ind *data_indP, struct ma
*
dropped_tx_packetsP
=
*
dropped_tx_packetsP
+
1
;
}
free_mem_block
(
tb_src
);
free_mem_block
(
tb_src
,
__func__
);
if
(
data_indP
->
no_tb
>
0
)
{
printf
(
"[RLC-LOOP] Exchange %d TBs
\n
"
,
data_indP
->
no_tb
);
...
...
@@ -673,13 +673,13 @@ void rlc_am_v9_3_0_test_data_ind (module_id_t module_idP, rb_id_t rb_idP, sdu_si
assert
(
g_send_sdu_ids
[
g_send_id_read_index
[
rb_idP
]][
rb_idP
^
1
]
==
i
);
g_send_id_read_index
[
rb_idP
]
+=
1
;
free_mem_block
(
sduP
);
free_mem_block
(
sduP
,
__func__
);
return
;
}
}
printf
(
"[FRAME %05d][RLC][MOD %d][RB %d] RX UNKNOWN SDU %04d bytes
\n
"
,
g_frame
,
module_idP
,
rb_idP
,
sizeP
);
free_mem_block
(
sduP
);
free_mem_block
(
sduP
,
__func__
);
assert
(
1
==
2
);
}
//-----------------------------------------------------------------------------
...
...
openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm.c
View file @
dabdf793
...
...
@@ -51,7 +51,7 @@ rlc_tm_send_sdu (
length_in_bytes
=
(
length_in_bitsP
+
7
)
>>
3
;
if
(
rlc_pP
->
output_sdu_in_construction
==
NULL
)
{
rlc_pP
->
output_sdu_in_construction
=
get_free_mem_block
(
length_in_bytes
);
rlc_pP
->
output_sdu_in_construction
=
get_free_mem_block
(
length_in_bytes
,
__func__
);
}
if
((
rlc_pP
->
output_sdu_in_construction
))
{
...
...
@@ -97,7 +97,7 @@ rlc_tm_no_segment (
sdu_mngt_p
=
((
struct
rlc_tm_tx_sdu_management
*
)
(
rlc_pP
->
input_sdus
[
rlc_pP
->
current_sdu_index
]
->
data
));
if
(
!
(
pdu_p
=
get_free_mem_block
(((
rlc_pP
->
rlc_pdu_size
+
7
)
>>
3
)
+
sizeof
(
struct
rlc_tm_tx_data_pdu_struct
)
+
GUARD_CRC_LIH_SIZE
)))
{
if
(
!
(
pdu_p
=
get_free_mem_block
(((
rlc_pP
->
rlc_pdu_size
+
7
)
>>
3
)
+
sizeof
(
struct
rlc_tm_tx_data_pdu_struct
)
+
GUARD_CRC_LIH_SIZE
,
__func__
)))
{
LOG_D
(
RLC
,
PROTOCOL_RLC_TM_CTXT_FMT
"[SEGMENT] ERROR COULD NOT GET NEW PDU, EXIT
\n
"
,
PROTOCOL_RLC_TM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
));
return
;
...
...
@@ -116,7 +116,7 @@ rlc_tm_no_segment (
list_add_tail_eurecom
(
pdu_p
,
&
rlc_pP
->
pdus_to_mac_layer
);
rlc_pP
->
buffer_occupancy
-=
(
sdu_mngt_p
->
sdu_size
>>
3
);
free_mem_block
(
rlc_pP
->
input_sdus
[
rlc_pP
->
current_sdu_index
]);
free_mem_block
(
rlc_pP
->
input_sdus
[
rlc_pP
->
current_sdu_index
]
,
__func__
);
rlc_pP
->
input_sdus
[
rlc_pP
->
current_sdu_index
]
=
NULL
;
rlc_pP
->
current_sdu_index
=
(
rlc_pP
->
current_sdu_index
+
1
)
%
rlc_pP
->
size_input_sdus_buffer
;
rlc_pP
->
nb_sdu
-=
1
;
...
...
@@ -142,7 +142,7 @@ rlc_tm_rx (
((
struct
rlc_tm_rx_pdu_management
*
)
(
tb_p
->
data
))
->
first_byte
=
first_byte_p
;
rlc_tm_send_sdu
(
ctxt_pP
,
rlc_p
,
(((
struct
mac_tb_ind
*
)
(
tb_p
->
data
))
->
error_indication
),
first_byte_p
,
data_indP
.
tb_size
);
free_mem_block
(
tb_p
);
free_mem_block
(
tb_p
,
__func__
);
}
}
...
...
@@ -235,6 +235,6 @@ rlc_tm_data_req (
rlc_p
->
input_sdus
[
rlc_p
->
next_sdu_index
]
=
sdu_pP
;
rlc_p
->
next_sdu_index
=
(
rlc_p
->
next_sdu_index
+
1
)
%
rlc_p
->
size_input_sdus_buffer
;
}
else
{
free_mem_block
(
sdu_pP
);
free_mem_block
(
sdu_pP
,
__func__
);
}
}
openair2/LAYER2/RLC/TM_v9.3.0/rlc_tm_init.c
View file @
dabdf793
...
...
@@ -82,7 +82,7 @@ void rlc_tm_init (
rlcP
->
size_input_sdus_buffer
=
16
;
if
((
rlcP
->
input_sdus_alloc
==
NULL
)
&&
(
rlcP
->
size_input_sdus_buffer
>
0
))
{
rlcP
->
input_sdus_alloc
=
get_free_mem_block
(
rlcP
->
size_input_sdus_buffer
*
sizeof
(
void
*
));
rlcP
->
input_sdus_alloc
=
get_free_mem_block
(
rlcP
->
size_input_sdus_buffer
*
sizeof
(
void
*
)
,
__func__
);
rlcP
->
input_sdus
=
(
mem_block_t
**
)
(
rlcP
->
input_sdus_alloc
->
data
);
memset
(
rlcP
->
input_sdus
,
0
,
rlcP
->
size_input_sdus_buffer
*
sizeof
(
void
*
));
}
...
...
@@ -114,17 +114,17 @@ rlc_tm_cleanup (
if
(
rlcP
->
input_sdus_alloc
)
{
for
(
index
=
0
;
index
<
rlcP
->
size_input_sdus_buffer
;
index
++
)
{
if
(
rlcP
->
input_sdus
[
index
])
{
free_mem_block
(
rlcP
->
input_sdus
[
index
]);
free_mem_block
(
rlcP
->
input_sdus
[
index
]
,
__func__
);
}
}
free_mem_block
(
rlcP
->
input_sdus_alloc
);
free_mem_block
(
rlcP
->
input_sdus_alloc
,
__func__
);
rlcP
->
input_sdus_alloc
=
NULL
;
}
// RX SIDE
if
((
rlcP
->
output_sdu_in_construction
))
{
free_mem_block
(
rlcP
->
output_sdu_in_construction
);
free_mem_block
(
rlcP
->
output_sdu_in_construction
,
__func__
);
}
memset
(
rlcP
,
0
,
sizeof
(
rlc_tm_entity_t
));
...
...
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_control_primitives.c
View file @
dabdf793
...
...
@@ -334,13 +334,13 @@ rlc_um_cleanup (
list_free
(
&
rlc_pP
->
pdus_from_mac_layer
);
if
((
rlc_pP
->
output_sdu_in_construction
))
{
free_mem_block
(
rlc_pP
->
output_sdu_in_construction
);
free_mem_block
(
rlc_pP
->
output_sdu_in_construction
,
__func__
);
}
if
(
rlc_pP
->
dar_buffer
)
{
for
(
index
=
0
;
index
<
1024
;
index
++
)
{
if
(
rlc_pP
->
dar_buffer
[
index
])
{
free_mem_block
(
rlc_pP
->
dar_buffer
[
index
]);
free_mem_block
(
rlc_pP
->
dar_buffer
[
index
]
,
__func__
);
}
}
...
...
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_dar.c
View file @
dabdf793
...
...
@@ -544,7 +544,7 @@ rlc_um_try_reassembly(
__FILE__
,
__LINE__
);
#endif
free_mem_block
(
rlc_pP
->
dar_buffer
[
sn
]);
free_mem_block
(
rlc_pP
->
dar_buffer
[
sn
]
,
__func__
);
rlc_pP
->
dar_buffer
[
sn
]
=
NULL
;
}
else
{
rlc_pP
->
last_reassemblied_missing_sn
=
sn
;
...
...
@@ -957,7 +957,7 @@ rlc_um_receive_process_dar (
}
else
if
(
rlc_pP
->
rx_sn_length
==
5
)
{
sn
=
pdu_pP
->
b1
&
0x1F
;
}
else
{
free_mem_block
(
pdu_mem_pP
);
free_mem_block
(
pdu_mem_pP
,
__func__
);
}
RLC_UM_MUTEX_LOCK
(
&
rlc_pP
->
lock_dar_buffer
,
ctxt_pP
,
rlc_pP
);
...
...
@@ -982,7 +982,7 @@ rlc_um_receive_process_dar (
#endif
rlc_pP
->
stat_rx_data_pdu_out_of_window
+=
1
;
rlc_pP
->
stat_rx_data_bytes_out_of_window
+=
tb_sizeP
;
free_mem_block
(
pdu_mem_pP
);
free_mem_block
(
pdu_mem_pP
,
__func__
);
pdu_mem_pP
=
NULL
;
RLC_UM_MUTEX_UNLOCK
(
&
rlc_pP
->
lock_dar_buffer
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_UM_RECEIVE_PROCESS_DAR
,
VCD_FUNCTION_OUT
);
...
...
@@ -1001,7 +1001,7 @@ rlc_um_receive_process_dar (
//discard the PDU
rlc_pP
->
stat_rx_data_pdus_duplicate
+=
1
;
rlc_pP
->
stat_rx_data_bytes_duplicate
+=
tb_sizeP
;
free_mem_block
(
pdu_mem_pP
);
free_mem_block
(
pdu_mem_pP
,
__func__
);
pdu_mem_pP
=
NULL
;
RLC_UM_MUTEX_UNLOCK
(
&
rlc_pP
->
lock_dar_buffer
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_UM_RECEIVE_PROCESS_DAR
,
VCD_FUNCTION_OUT
);
...
...
@@ -1017,7 +1017,7 @@ rlc_um_receive_process_dar (
sn
);
#endif
mem_block_t
*
pdu
=
rlc_um_remove_pdu_from_dar_buffer
(
ctxt_pP
,
rlc_pP
,
sn
);
free_mem_block
(
pdu
);
free_mem_block
(
pdu
,
__func__
);
}
rlc_um_store_pdu_in_dar_buffer
(
ctxt_pP
,
rlc_pP
,
pdu_mem_pP
,
sn
);
...
...
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_reassembly.c
View file @
dabdf793
...
...
@@ -69,7 +69,7 @@ rlc_um_reassembly (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP
if
(
rlc_pP
->
output_sdu_in_construction
==
NULL
)
{
// msg("[RLC_UM_LITE] Getting mem_block ...\n");
rlc_pP
->
output_sdu_in_construction
=
get_free_mem_block
(
sdu_max_size
);
rlc_pP
->
output_sdu_in_construction
=
get_free_mem_block
(
sdu_max_size
,
__func__
);
rlc_pP
->
output_sdu_size_to_write
=
0
;
}
...
...
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_segment.c
View file @
dabdf793
...
...
@@ -115,7 +115,7 @@ rlc_um_segment_10 (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP
#endif
}
if
(
!
(
pdu_mem_p
=
get_free_mem_block
(
data_pdu_size
+
sizeof
(
struct
mac_tb_req
))))
{
if
(
!
(
pdu_mem_p
=
get_free_mem_block
(
data_pdu_size
+
sizeof
(
struct
mac_tb_req
)
,
__func__
)))
{
#if TRACE_RLC_UM_SEGMENT
LOG_E
(
RLC
,
PROTOCOL_RLC_UM_CTXT_FMT
" ERROR COULD NOT GET NEW PDU, EXIT
\n
"
,
PROTOCOL_RLC_UM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
));
...
...
@@ -291,7 +291,7 @@ rlc_um_segment_10 (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP
// free SDU
rlc_pP
->
buffer_occupancy
-=
sdu_mngt_p
->
sdu_remaining_size
;
sdu_in_buffer
=
list_remove_head
(
&
rlc_pP
->
input_sdus
);
free_mem_block
(
sdu_in_buffer
);
free_mem_block
(
sdu_in_buffer
,
__func__
);
sdu_in_buffer
=
list_get_head
(
&
rlc_pP
->
input_sdus
);
sdu_mngt_p
=
NULL
;
...
...
@@ -356,7 +356,7 @@ rlc_um_segment_10 (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP
// free SDU
rlc_pP
->
buffer_occupancy
-=
sdu_mngt_p
->
sdu_remaining_size
;
sdu_in_buffer
=
list_remove_head
(
&
rlc_pP
->
input_sdus
);
free_mem_block
(
sdu_in_buffer
);
free_mem_block
(
sdu_in_buffer
,
__func__
);
sdu_in_buffer
=
list_get_head
(
&
rlc_pP
->
input_sdus
);
sdu_mngt_p
=
NULL
;
...
...
@@ -380,7 +380,7 @@ rlc_um_segment_10 (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP
// free SDU
rlc_pP
->
buffer_occupancy
-=
sdu_mngt_p
->
sdu_remaining_size
;
sdu_in_buffer
=
list_remove_head
(
&
rlc_pP
->
input_sdus
);
free_mem_block
(
sdu_in_buffer
);
free_mem_block
(
sdu_in_buffer
,
__func__
);
sdu_in_buffer
=
list_get_head
(
&
rlc_pP
->
input_sdus
);
sdu_mngt_p
=
NULL
;
...
...
@@ -503,7 +503,7 @@ rlc_um_segment_5 (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP)
#endif
}
if
(
!
(
pdu_mem_p
=
get_free_mem_block
(
data_pdu_size
+
sizeof
(
struct
mac_tb_req
))))
{
if
(
!
(
pdu_mem_p
=
get_free_mem_block
(
data_pdu_size
+
sizeof
(
struct
mac_tb_req
)
,
__func__
)))
{
#if TRACE_RLC_UM_SEGMENT
LOG_E
(
RLC
,
PROTOCOL_RLC_UM_CTXT_FMT
" ERROR COULD NOT GET NEW PDU, EXIT
\n
"
,
PROTOCOL_RLC_UM_CTXT_ARGS
(
ctxt_pP
,
rlc_pP
));
...
...
@@ -679,7 +679,7 @@ rlc_um_segment_5 (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP)
// free SDU
rlc_pP
->
buffer_occupancy
-=
sdu_mngt_p
->
sdu_remaining_size
;
sdu_in_buffer
=
list_remove_head
(
&
rlc_pP
->
input_sdus
);
free_mem_block
(
sdu_in_buffer
);
free_mem_block
(
sdu_in_buffer
,
__func__
);
sdu_in_buffer
=
list_get_head
(
&
rlc_pP
->
input_sdus
);
sdu_mngt_p
=
NULL
;
...
...
@@ -743,7 +743,7 @@ rlc_um_segment_5 (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP)
// free SDU
rlc_pP
->
buffer_occupancy
-=
sdu_mngt_p
->
sdu_remaining_size
;
sdu_in_buffer
=
list_remove_head
(
&
rlc_pP
->
input_sdus
);
free_mem_block
(
sdu_in_buffer
);
free_mem_block
(
sdu_in_buffer
,
__func__
);
sdu_in_buffer
=
list_get_head
(
&
rlc_pP
->
input_sdus
);
sdu_mngt_p
=
NULL
;
...
...
@@ -765,7 +765,7 @@ rlc_um_segment_5 (const protocol_ctxt_t* const ctxt_pP, rlc_um_entity_t *rlc_pP)
// free SDU
rlc_pP
->
buffer_occupancy
-=
sdu_mngt_p
->
sdu_remaining_size
;
sdu_in_buffer
=
list_remove_head
(
&
rlc_pP
->
input_sdus
);
free_mem_block
(
sdu_in_buffer
);
free_mem_block
(
sdu_in_buffer
,
__func__
);
sdu_in_buffer
=
list_get_head
(
&
rlc_pP
->
input_sdus
);
sdu_mngt_p
=
NULL
;
}
...
...
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_test.c
View file @
dabdf793
...
...
@@ -301,7 +301,7 @@ void rlc_um_v9_3_0_test_send_sdu(rlc_um_entity_t *um_txP, int sdu_indexP)
//-----------------------------------------------------------------------------
{
mem_block_t
*
sdu
;
sdu
=
get_free_mem_block
(
strlen
(
g_sdus
[
sdu_indexP
])
+
1
+
sizeof
(
struct
rlc_um_data_req_alloc
));
sdu
=
get_free_mem_block
(
strlen
(
g_sdus
[
sdu_indexP
])
+
1
+
sizeof
(
struct
rlc_um_data_req_alloc
)
,
__func__
);
if
(
sdu
!=
NULL
)
{
// PROCESS OF COMPRESSION HERE:
...
...
@@ -405,12 +405,12 @@ void rlc_um_v9_3_0_test_mac_rlc_loop (struct mac_data_ind* data_indP, struct ma
*
tx_packetsP
=
*
tx_packetsP
+
1
;
if
(
*
drop_countP
==
0
)
{
tb_dst
=
get_free_mem_block
(
sizeof
(
mac_rlc_max_rx_header_size_t
)
+
tb_size
);
tb_dst
=
get_free_mem_block
(
sizeof
(
mac_rlc_max_rx_header_size_t
)
+
tb_size
,
__func__
);
memset
(
tb_dst
->
data
,
0
,
sizeof
(
mac_rlc_max_rx_header_size_t
)
+
tb_size
);
if
(
tb_dst
!=
NULL
)
{
//printf("[RLC-LOOP] Testing tb_dst (1)\n");
check_free_mem_block
(
tb_dst
);
check_free_mem_block
(
tb_dst
,
__func__
);
tb_dst
->
next
=
NULL
;
((
struct
mac_tb_ind
*
)
(
tb_dst
->
data
))
->
first_bit
=
0
;
((
struct
mac_tb_ind
*
)
(
tb_dst
->
data
))
->
data_ptr
=
&
tb_dst
->
data
[
sizeof
(
mac_rlc_max_rx_header_size_t
)];
...
...
@@ -424,7 +424,7 @@ void rlc_um_v9_3_0_test_mac_rlc_loop (struct mac_data_ind* data_indP, struct ma
list_add_tail_eurecom
(
tb_dst
,
&
data_indP
->
data
);
data_indP
->
no_tb
+=
1
;
//printf("[RLC-LOOP] Testing tb_dst (2)\n");
check_free_mem_block
(
tb_dst
);
check_free_mem_block
(
tb_dst
,
__func__
);
}
else
{
printf
(
"Out of memory error
\n
"
);
exit
(
-
1
);
...
...
@@ -437,9 +437,9 @@ void rlc_um_v9_3_0_test_mac_rlc_loop (struct mac_data_ind* data_indP, struct ma
//printf("[RLC-LOOP] Testing tb_src\n");
check_free_mem_block
(
tb_src
);
check_free_mem_block
(
tb_src
,
__func__
);
free_mem_block
(
tb_src
);
free_mem_block
(
tb_src
,
__func__
);
if
(
data_indP
->
no_tb
>
0
)
{
printf
(
"[RLC-LOOP] Exchange %d TBs
\n
"
,
data_indP
->
no_tb
);
...
...
@@ -578,13 +578,13 @@ void rlc_um_v9_3_0_test_data_ind (module_id_t module_idP, rb_id_t rb_idP, sdu_si
assert
(
g_send_sdu_ids
[
g_send_id_read_index
[
rb_idP
]][
rb_idP
^
1
]
==
i
);
g_send_id_read_index
[
rb_idP
]
+=
1
;
free_mem_block
(
sduP
);
free_mem_block
(
sduP
,
__func__
);
return
;
}
}
printf
(
"[FRAME %05d][RLC][MOD %d][RB %d] RX UNKNOWN SDU %04d bytes
\n
"
,
g_frame
,
module_idP
,
rb_idP
,
sizeP
);
free_mem_block
(
sduP
);
free_mem_block
(
sduP
,
__func__
);
assert
(
1
==
2
);
}
else
{
for
(
i
=
0
;
i
<
37
;
i
++
)
{
...
...
@@ -592,13 +592,13 @@ void rlc_um_v9_3_0_test_data_ind (module_id_t module_idP, rb_id_t rb_idP, sdu_si
printf
(
"[FRAME %05d][RLC][MOD %02d][RB %02d] RX SDU %d %04d bytes
\n
"
,
g_frame
,
module_idP
,
rb_idP
,
i
,
sizeP
);
assert
(
TEST_MAX_SEND_SDU
>
g_send_id_read_index
[
rb_idP
]);
g_send_id_read_index
[
rb_idP
]
+=
1
;
free_mem_block
(
sduP
);
free_mem_block
(
sduP
,
__func__
);
return
;
}
}
printf
(
"[FRAME %05d][RLC][MOD %d][RB %d] RX UNKNOWN SDU %04d bytes
\n
"
,
g_frame
,
module_idP
,
rb_idP
,
sizeP
);
free_mem_block
(
sduP
);
free_mem_block
(
sduP
,
__func__
);
return
;
}
}
...
...
openair2/LAYER2/RLC/UM_v9.3.0/rlc_um_very_simple_test.c
View file @
dabdf793
...
...
@@ -44,7 +44,7 @@ rlc_um_test_send_sdu (rlc_um_entity_t* rlcP, uint32_t frame, unsigned int s
switch
(
sdu_typeP
)
{
case
RLC_UM_TEST_SDU_TYPE_TCPIP
:
sdu_mem
=
get_free_mem_block
(
strlen
(
tcip_sdu
)
+
1
+
sizeof
(
struct
rlc_um_data_req_alloc
));
sdu_mem
=
get_free_mem_block
(
strlen
(
tcip_sdu
)
+
1
+
sizeof
(
struct
rlc_um_data_req_alloc
)
,
__func__
);
if
(
sdu_mem
!=
NULL
)
{
memset
(
sdu_mem
->
data
,
0
,
sizeof
(
struct
rlc_um_data_req_alloc
));
...
...
@@ -59,7 +59,7 @@ rlc_um_test_send_sdu (rlc_um_entity_t* rlcP, uint32_t frame, unsigned int s
break
;
case
RLC_UM_TEST_SDU_TYPE_VOIP
:
sdu_mem
=
get_free_mem_block
(
strlen
(
voip_sdu
)
+
1
+
sizeof
(
struct
rlc_um_data_req_alloc
));
sdu_mem
=
get_free_mem_block
(
strlen
(
voip_sdu
)
+
1
+
sizeof
(
struct
rlc_um_data_req_alloc
)
,
__func__
);
if
(
sdu_mem
!=
NULL
)
{
memset
(
sdu_mem
->
data
,
0
,
sizeof
(
struct
rlc_um_data_req_alloc
));
...
...
@@ -74,7 +74,7 @@ rlc_um_test_send_sdu (rlc_um_entity_t* rlcP, uint32_t frame, unsigned int s
break
;
case
RLC_UM_TEST_SDU_TYPE_SMALL
:
sdu_mem
=
get_free_mem_block
(
strlen
(
very_small_sdu
)
+
1
+
sizeof
(
struct
rlc_um_data_req_alloc
));
sdu_mem
=
get_free_mem_block
(
strlen
(
very_small_sdu
)
+
1
+
sizeof
(
struct
rlc_um_data_req_alloc
)
,
__func__
);
if
(
sdu_mem
!=
NULL
)
{
memset
(
sdu_mem
->
data
,
0
,
sizeof
(
struct
rlc_um_data_req_alloc
));
...
...
openair2/LAYER2/RLC/rlc.c
View file @
dabdf793
...
...
@@ -413,7 +413,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
switch
(
rlc_mode
)
{
case
RLC_MODE_NONE
:
free_mem_block
(
sdu_pP
);
free_mem_block
(
sdu_pP
,
__func__
);
LOG_E
(
RLC
,
PROTOCOL_CTXT_FMT
" Received RLC_MODE_NONE as rlc_type for rb_id %u
\n
"
,
PROTOCOL_CTXT_ARGS
(
ctxt_pP
),
rb_idP
);
...
...
@@ -424,7 +424,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
#ifdef DEBUG_RLC_DATA_REQ
msg
(
"RLC_MODE_AM
\n
"
);
#endif
new_sdu_p
=
get_free_mem_block
(
sdu_sizeP
+
sizeof
(
struct
rlc_am_data_req_alloc
));
new_sdu_p
=
get_free_mem_block
(
sdu_sizeP
+
sizeof
(
struct
rlc_am_data_req_alloc
)
,
__func__
);
if
(
new_sdu_p
!=
NULL
)
{
// PROCESS OF COMPRESSION HERE:
...
...
@@ -435,7 +435,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
((
struct
rlc_am_data_req
*
)
(
new_sdu_p
->
data
))
->
conf
=
confirmP
;
((
struct
rlc_am_data_req
*
)
(
new_sdu_p
->
data
))
->
mui
=
muiP
;
((
struct
rlc_am_data_req
*
)
(
new_sdu_p
->
data
))
->
data_offset
=
sizeof
(
struct
rlc_am_data_req_alloc
);
free_mem_block
(
sdu_pP
);
free_mem_block
(
sdu_pP
,
__func__
);
rlc_am_data_req
(
ctxt_pP
,
&
rlc_union_p
->
rlc
.
am
,
new_sdu_p
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ
,
VCD_FUNCTION_OUT
);
return
RLC_OP_STATUS_OK
;
...
...
@@ -447,7 +447,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
break
;
case
RLC_MODE_UM
:
new_sdu_p
=
get_free_mem_block
(
sdu_sizeP
+
sizeof
(
struct
rlc_um_data_req_alloc
));
new_sdu_p
=
get_free_mem_block
(
sdu_sizeP
+
sizeof
(
struct
rlc_um_data_req_alloc
)
,
__func__
);
if
(
new_sdu_p
!=
NULL
)
{
// PROCESS OF COMPRESSION HERE:
...
...
@@ -456,11 +456,11 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
((
struct
rlc_um_data_req
*
)
(
new_sdu_p
->
data
))
->
data_size
=
sdu_sizeP
;
((
struct
rlc_um_data_req
*
)
(
new_sdu_p
->
data
))
->
data_offset
=
sizeof
(
struct
rlc_um_data_req_alloc
);
free_mem_block
(
sdu_pP
);
free_mem_block
(
sdu_pP
,
__func__
);
rlc_um_data_req
(
ctxt_pP
,
&
rlc_union_p
->
rlc
.
um
,
new_sdu_p
);
//free_mem_block(new_sdu);
//free_mem_block(new_sdu
, __func__
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ
,
VCD_FUNCTION_OUT
);
return
RLC_OP_STATUS_OK
;
}
else
{
...
...
@@ -471,7 +471,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
break
;
case
RLC_MODE_TM
:
new_sdu_p
=
get_free_mem_block
(
sdu_sizeP
+
sizeof
(
struct
rlc_tm_data_req_alloc
));
new_sdu_p
=
get_free_mem_block
(
sdu_sizeP
+
sizeof
(
struct
rlc_tm_data_req_alloc
)
,
__func__
);
if
(
new_sdu_p
!=
NULL
)
{
// PROCESS OF COMPRESSION HERE:
...
...
@@ -480,7 +480,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
((
struct
rlc_tm_data_req
*
)
(
new_sdu_p
->
data
))
->
data_size
=
sdu_sizeP
;
((
struct
rlc_tm_data_req
*
)
(
new_sdu_p
->
data
))
->
data_offset
=
sizeof
(
struct
rlc_tm_data_req_alloc
);
free_mem_block
(
sdu_pP
);
free_mem_block
(
sdu_pP
,
__func__
);
rlc_tm_data_req
(
ctxt_pP
,
&
rlc_union_p
->
rlc
.
tm
,
new_sdu_p
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ
,
VCD_FUNCTION_OUT
);
return
RLC_OP_STATUS_OK
;
...
...
@@ -493,7 +493,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
break
;
default:
free_mem_block
(
sdu_pP
);
free_mem_block
(
sdu_pP
,
__func__
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ
,
VCD_FUNCTION_OUT
);
return
RLC_OP_STATUS_INTERNAL_ERROR
;
...
...
@@ -505,7 +505,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
if
(
sdu_pP
!=
NULL
)
{
if
(
sdu_sizeP
>
0
)
{
LOG_I
(
RLC
,
"received a packet with size %d for MBMS
\n
"
,
sdu_sizeP
);
new_sdu_p
=
get_free_mem_block
(
sdu_sizeP
+
sizeof
(
struct
rlc_um_data_req_alloc
));
new_sdu_p
=
get_free_mem_block
(
sdu_sizeP
+
sizeof
(
struct
rlc_um_data_req_alloc
)
,
__func__
);
if
(
new_sdu_p
!=
NULL
)
{
// PROCESS OF COMPRESSION HERE:
...
...
@@ -513,10 +513,10 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
memcpy
(
&
new_sdu_p
->
data
[
sizeof
(
struct
rlc_um_data_req_alloc
)],
&
sdu_pP
->
data
[
0
],
sdu_sizeP
);
((
struct
rlc_um_data_req
*
)
(
new_sdu_p
->
data
))
->
data_size
=
sdu_sizeP
;
((
struct
rlc_um_data_req
*
)
(
new_sdu_p
->
data
))
->
data_offset
=
sizeof
(
struct
rlc_um_data_req_alloc
);
free_mem_block
(
sdu_pP
);
free_mem_block
(
sdu_pP
,
__func__
);
rlc_um_data_req
(
ctxt_pP
,
&
rlc_union_p
->
rlc
.
um
,
new_sdu_p
);
//free_mem_block(new_sdu);
//free_mem_block(new_sdu
, __func__
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ
,
VCD_FUNCTION_OUT
);
return
RLC_OP_STATUS_OK
;
}
else
{
...
...
@@ -537,7 +537,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t* const ctxt_pP,
}
else
/* MBMS_flag != 0 */
{
free_mem_block
(
sdu_pP
);
free_mem_block
(
sdu_pP
,
__func__
);
LOG_E
(
RLC
,
"MBMS_flag != 0 while Rel10 is not defined...
\n
"
);
//handle_event(ERROR,"FILE %s FONCTION rlc_data_req() LINE %s : parameter module_id out of bounds :%d\n", __FILE__, __LINE__, module_idP);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ
,
VCD_FUNCTION_OUT
);
...
...
openair2/LAYER2/RLC/rlc_mac.c
View file @
dabdf793
...
...
@@ -57,7 +57,7 @@ struct mac_data_ind mac_rlc_deserialize_tb (
list_init
(
&
data_ind
.
data
,
NULL
);
while
(
num_tbP
>
0
)
{
tb_p
=
get_free_mem_block
(
sizeof
(
mac_rlc_max_rx_header_size_t
)
+
tb_sizeP
);
tb_p
=
get_free_mem_block
(
sizeof
(
mac_rlc_max_rx_header_size_t
)
+
tb_sizeP
,
__func__
);
if
(
tb_p
!=
NULL
)
{
((
struct
mac_tb_ind
*
)
(
tb_p
->
data
))
->
first_bit
=
0
;
...
...
@@ -110,7 +110,7 @@ tbs_size_t mac_rlc_serialize_tb (char* buffer_pP, list_t transport_blocksP)
#endif
memcpy
(
&
buffer_pP
[
tbs_size
],
&
((
struct
mac_tb_req
*
)
(
tb_p
->
data
))
->
data_ptr
[
0
],
tb_size
);
tbs_size
=
tbs_size
+
tb_size
;
free_mem_block
(
tb_p
);
free_mem_block
(
tb_p
,
__func__
);
}
}
...
...
openair2/LAYER2/RLC/rlc_rrc.c
View file @
dabdf793
...
...
@@ -786,7 +786,7 @@ rlc_op_status_t rrc_rlc_data_req (
//-----------------------------------------------------------------------------
mem_block_t
*
sdu
;
sdu
=
get_free_mem_block
(
sdu_sizeP
);
sdu
=
get_free_mem_block
(
sdu_sizeP
,
__func__
);
if
(
sdu
!=
NULL
)
{
memcpy
(
sdu
->
data
,
sduP
,
sdu_sizeP
);
...
...
openair2/UTIL/LISTS/list.c
View file @
dabdf793
...
...
@@ -59,7 +59,7 @@ list_free (list_t * listP)
mem_block_t
*
le
;
while
((
le
=
list_remove_head
(
listP
)))
{
free_mem_block
(
le
);
free_mem_block
(
le
,
__func__
);
}
}
//-----------------------------------------------------------------------------
...
...
openair2/UTIL/LISTS/list2.c
View file @
dabdf793
...
...
@@ -75,7 +75,7 @@ list2_free (list2_t * listP)
mem_block_t
*
le
;
while
((
le
=
list2_remove_head
(
listP
)))
{
free_mem_block
(
le
);
free_mem_block
(
le
,
__func__
);
}
}
...
...
openair2/UTIL/MEM/mem_block.c
View file @
dabdf793
...
...
@@ -55,7 +55,7 @@ static pthread_mutex_t mtex = PTHREAD_MUTEX_INITIALIZER;
//#define DEBUG_MEM_MNGT_ALLOC
//-----------------------------------------------------------------------------
#if defined(USER_MODE) && defined(DEBUG_MEM_MNGT_ALLOC)
uint32_t
counters
[
1
1
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
uint32_t
counters
[
1
4
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
#endif
//-----------------------------------------------------------------------------
/*
...
...
@@ -173,7 +173,7 @@ pool_buffer_clean (void *arg)
}
//-----------------------------------------------------------------------------
void
free_mem_block
(
mem_block_t
*
leP
)
free_mem_block
(
mem_block_t
*
leP
,
const
char
*
caller
)
{
//-----------------------------------------------------------------------------
...
...
@@ -197,6 +197,11 @@ free_mem_block (mem_block_t * leP)
list_add_tail_eurecom
(
leP
,
&
mem_block_var
.
mem_lists
[
leP
->
pool_id
]);
#ifdef DEBUG_MEM_MNGT_ALLOC
counters
[
leP
->
pool_id
]
-=
1
;
msg
(
"[%s][MEM_MNGT][INFO] after pool[%2d] freed: counters = {%2d %2d %2d %2d %2d %2d %2d %2d %2d %2d %2d %2d}
\n
"
,
caller
,
leP
->
pool_id
,
counters
[
0
],
counters
[
1
],
counters
[
2
],
counters
[
3
],
counters
[
4
],
counters
[
5
],
counters
[
6
],
counters
[
7
],
counters
[
8
],
counters
[
9
],
counters
[
10
],
counters
[
11
]);
#endif
leP
=
NULL
;
// this prevent from freeing the block twice
}
else
{
...
...
@@ -210,7 +215,7 @@ free_mem_block (mem_block_t * leP)
//-----------------------------------------------------------------------------
mem_block_t
*
get_free_mem_block
(
uint32_t
sizeP
)
get_free_mem_block
(
uint32_t
sizeP
,
const
char
*
caller
)
{
//-----------------------------------------------------------------------------
mem_block_t
*
le
=
NULL
;
...
...
@@ -242,11 +247,19 @@ get_free_mem_block (uint32_t sizeP)
if
((
le
=
list_remove_head
(
&
mem_block_var
.
mem_lists
[
pool_selected
])))
{
#ifdef DEBUG_MEM_MNGT_ALLOC
counters
[
pool_selected
]
+=
1
;
msg
(
"[%s][MEM_MNGT][INFO] after pool[%2d] allocated: counters = {%2d %2d %2d %2d %2d %2d %2d %2d %2d %2d %2d %2d}
\n
"
,
caller
,
pool_selected
,
counters
[
0
],
counters
[
1
],
counters
[
2
],
counters
[
3
],
counters
[
4
],
counters
[
5
],
counters
[
6
],
counters
[
7
],
counters
[
8
],
counters
[
9
],
counters
[
10
],
counters
[
11
]);
#endif
#ifdef DEBUG_MEM_MNGT_ALLOC_SIZE
msg
(
"[MEM_MNGT][INFO] ALLOC MEM_BLOCK SIZE %d bytes pool %d (%p)
\n
"
,
sizeP
,
pool_selected
,
le
);
#endif
AssertFatal
(
le
->
pool_id
==
pool_selected
,
"Unexpected pool ID!"
);
#ifdef MEMBLOCK_BIG_LOCK
if
(
pthread_mutex_unlock
(
&
mtex
))
abort
();
#endif
...
...
@@ -263,6 +276,7 @@ get_free_mem_block (uint32_t sizeP)
#endif
}
while
(
pool_selected
++
<
12
);
LOG_E
(
PHY
,
"[MEM_MNGT][ERROR][FATAL] failed allocating MEM_BLOCK size %d byes (pool_selected=%d size=%d)
\n
"
,
sizeP
,
pool_selected
,
size
);
display_mem_load
();
mac_xface
->
macphy_exit
(
"[MEM_MNGT][ERROR][FATAL] get_free_mem_block failed"
);
...
...
@@ -287,6 +301,13 @@ get_free_copy_mem_block (void)
if
((
le
=
list_remove_head
(
&
mem_block_var
.
mem_lists
[
MEM_MNGT_POOL_ID_COPY
])))
{
#ifdef DEBUG_MEM_MNGT_ALLOC_SIZE
msg
(
"[MEM_MNGT][INFO] ALLOC COPY MEM BLOCK (%p)
\n
"
,
le
);
#endif
#ifdef DEBUG_MEM_MNGT_ALLOC
counters
[
MEM_MNGT_POOL_ID_COPY
]
+=
1
;
msg
(
"[MEM_MNGT][INFO] pool counters = {%2d %2d %2d %2d %2d %2d %2d %2d %2d %2d %2d %2d}
\n
"
,
counters
[
0
],
counters
[
1
],
counters
[
2
],
counters
[
3
],
counters
[
4
],
counters
[
5
],
counters
[
6
],
counters
[
7
],
counters
[
8
],
counters
[
9
],
counters
[
10
],
counters
[
11
]);
#endif
return
le
;
}
else
{
...
...
openair2/UTIL/MEM/mem_block.h
View file @
dabdf793
...
...
@@ -55,8 +55,8 @@ typedef struct mem_block_t {
public_mem_block
(
void
*
pool_buffer_init
(
void
);)
public_mem_block
(
void
*
pool_buffer_clean
(
void
*
arg
);)
public_mem_block
(
void
free_mem_block
(
mem_block_t
*
leP
);)
public_mem_block
(
mem_block_t
*
get_free_mem_block
(
uint32_t
sizeP
);)
public_mem_block
(
void
free_mem_block
(
mem_block_t
*
leP
,
const
char
*
caller
);)
public_mem_block
(
mem_block_t
*
get_free_mem_block
(
uint32_t
sizeP
,
const
char
*
caller
);)
public_mem_block
(
mem_block_t
*
get_free_copy_mem_block
(
void
);)
public_mem_block
(
mem_block_t
*
get_free_copy_mem_block_up
(
void
);)
public_mem_block
(
mem_block_t
*
copy_mem_block
(
mem_block_t
*
leP
,
mem_block_t
*
destP
);)
...
...
openair2/UTIL/MEM/mem_mngt.c
View file @
dabdf793
...
...
@@ -161,7 +161,7 @@ pool_buffer_clean (void *arg)
}
//-----------------------------------------------------------------------------
void
free_mem_block
(
mem_block_t
*
leP
)
free_mem_block
(
mem_block_t
*
leP
,
__func__
)
{
//-----------------------------------------------------------------------------
...
...
@@ -171,10 +171,10 @@ free_mem_block (mem_block_t * leP)
}
#ifdef DEBUG_MEM_MNGT_FREE
msg
(
"[MEM_MNGT][FREE] free_mem_block() %p pool: %d
\n
"
,
leP
,
leP
->
pool_id
);
msg
(
"[MEM_MNGT][FREE] free_mem_block() %p pool: %d
\n
"
,
leP
,
leP
->
pool_id
,
__func__
);
#endif
#ifdef DEBUG_MEM_MNGT_ALLOC
check_free_mem_block
(
leP
);
check_free_mem_block
(
leP
,
__func__
);
#endif
if
(
leP
->
pool_id
<=
MEM_MNGT_POOL_ID_COPY
)
{
...
...
@@ -184,14 +184,14 @@ free_mem_block (mem_block_t * leP)
#endif
leP
=
NULL
;
// this prevent from freeing the block twice
}
else
{
msg
(
"[MEM_MNGT][FREE] ERROR free_mem_block() unknown pool_id : %d
\n
"
,
leP
->
pool_id
);
msg
(
"[MEM_MNGT][FREE] ERROR free_mem_block() unknown pool_id : %d
\n
"
,
leP
->
pool_id
,
__func__
);
}
}
//-----------------------------------------------------------------------------
mem_block_t
*
get_free_mem_block
(
uint16_t
sizeP
)
get_free_mem_block
(
uint16_t
sizeP
,
__func__
)
{
//-----------------------------------------------------------------------------
mem_block_t
*
le
=
NULL
;
...
...
@@ -414,7 +414,7 @@ check_mem_area (void *arg)
//-----------------------------------------------------------------------------
void
check_free_mem_block
(
mem_block_t
*
leP
)
check_free_mem_block
(
mem_block_t
*
leP
,
__func__
)
{
//-----------------------------------------------------------------------------
int
block_index
;
...
...
openair2/UTIL/TIMER/umts_timer.c
View file @
dabdf793
...
...
@@ -54,7 +54,7 @@ umts_timer_check_time_out (list2_t * atimer_listP, uint32_t current_frame_tick_m
mem_unit
=
list2_remove_head
(
atimer_listP
);
(
*
(
timer
->
proc
))
(
timer
->
protocol
,
timer
->
timer_id
);
free_mem_block
(
mem_unit
);
free_mem_block
(
mem_unit
,
__func__
);
mem_unit
=
atimer_listP
->
head
;
}
else
{
...
...
@@ -74,7 +74,7 @@ umts_timer_delete_timer (list2_t * atimer_listP, void *timer_idP)
while
((
mem_unit
))
{
if
(((
struct
timer_unit
*
)
(
mem_unit
->
data
))
->
timer_id
==
timer_idP
)
{
list2_remove_element
(
mem_unit
,
atimer_listP
);
free_mem_block
(
mem_unit
);
free_mem_block
(
mem_unit
,
__func__
);
return
;
}
...
...
@@ -93,7 +93,7 @@ umts_add_timer_list_up (list2_t * atimer_listP, void (*procP) (void *, void *),
int32_t
remaining_time
;
uint8_t
inserted
=
0
;
mb
=
get_free_mem_block
(
sizeof
(
struct
timer_unit
));
mb
=
get_free_mem_block
(
sizeof
(
struct
timer_unit
)
,
__func__
);
((
struct
timer_unit
*
)
(
mb
->
data
))
->
proc
=
procP
;
((
struct
timer_unit
*
)
(
mb
->
data
))
->
protocol
=
protocolP
;
((
struct
timer_unit
*
)
(
mb
->
data
))
->
timer_id
=
timer_idP
;
...
...
@@ -166,7 +166,7 @@ umts_stop_all_timers_except (list2_t * atimer_listP, void (*procP) (void *, void
mem_unit_to_delete
=
mem_unit
;
mem_unit
=
mem_unit
->
next
;
list2_remove_element
(
mem_unit_to_delete
,
atimer_listP
);
free_mem_block
(
mem_unit_to_delete
);
free_mem_block
(
mem_unit_to_delete
,
__func__
);
}
else
{
mem_unit
=
mem_unit
->
next
;
}
...
...
targets/TEST/PDCP/with_rlc/test_pdcp_rlc.c
View file @
dabdf793
...
...
@@ -132,7 +132,7 @@ void pdcp_rlc_test_mac_rlc_loop (struct mac_data_ind *data_indP, struct mac_dat
*
tx_packetsP
=
*
tx_packetsP
+
1
;
if
(
*
drop_countP
==
0
)
{
tb_dst
=
get_free_mem_block
(
sizeof
(
mac_rlc_max_rx_header_size_t
)
+
tb_size
);
tb_dst
=
get_free_mem_block
(
sizeof
(
mac_rlc_max_rx_header_size_t
)
+
tb_size
,
__func__
);
if
(
tb_dst
!=
NULL
)
{
((
struct
mac_tb_ind
*
)
(
tb_dst
->
data
))
->
first_bit
=
0
;
...
...
@@ -156,7 +156,7 @@ void pdcp_rlc_test_mac_rlc_loop (struct mac_data_ind *data_indP, struct mac_dat
*
dropped_tx_packetsP
=
*
dropped_tx_packetsP
+
1
;
}
free_mem_block
(
tb_src
);
free_mem_block
(
tb_src
,
__func__
);
if
(
data_indP
->
no_tb
>
0
)
{
printf
(
"[RLC-LOOP] Exchange %d TBs
\n
"
,
data_indP
->
no_tb
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment