Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
oai
openairinterface5G
Commits
dabdf793
Commit
dabdf793
authored
Dec 21, 2016
by
Wilson
Browse files
add more logs to debug memory leak problem
parent
afeb2566
Changes
30
Hide whitespace changes
Inline
Side-by-side
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
)
{