Lower srsENB priorities below UHD threads

master
Ismael Gomez 7 years ago
parent afaf6679ea
commit 9b6e18d84f

@ -79,7 +79,10 @@ public:
printf("%s\n", strlen(used[i]->debug_name)?used[i]->debug_name:"Undefined"); printf("%s\n", strlen(used[i]->debug_name)?used[i]->debug_name:"Undefined");
} }
} }
bool is_almost_empty() {
return available.size() < capacity/20;
}
buffer_t* allocate(const char *debug_name = NULL) buffer_t* allocate(const char *debug_name = NULL)
{ {
@ -92,8 +95,9 @@ public:
used.push_back(b); used.push_back(b);
available.pop(); available.pop();
if (available.size() < capacity/20) { if (is_almost_empty()) {
printf("Warning buffer pool capacity is %f %%\n", (float) 100*available.size()/capacity); printf("Warning buffer pool capacity is %f %%\n", (float) 100*available.size()/capacity);
print_all_buffers();
} }
#ifdef SRSLTE_BUFFER_POOL_LOG_ENABLED #ifdef SRSLTE_BUFFER_POOL_LOG_ENABLED
if (debug_name) { if (debug_name) {

@ -63,7 +63,7 @@
#define SRSLTE_MAX_BUFFER_SIZE_BYTES 12756 #define SRSLTE_MAX_BUFFER_SIZE_BYTES 12756
#define SRSLTE_BUFFER_HEADER_OFFSET 1024 #define SRSLTE_BUFFER_HEADER_OFFSET 1024
//#define SRSLTE_BUFFER_POOL_LOG_ENABLED #define SRSLTE_BUFFER_POOL_LOG_ENABLED
#ifdef SRSLTE_BUFFER_POOL_LOG_ENABLED #ifdef SRSLTE_BUFFER_POOL_LOG_ENABLED
#define pool_allocate (pool->allocate(__FUNCTION__)) #define pool_allocate (pool->allocate(__FUNCTION__))

@ -121,7 +121,7 @@ private:
static const uint32_t cfi = 3; static const uint32_t cfi = 3;
srslte_dci_location_t locations[MAX_LOCATIONS]; srslte_dci_location_t locations[MAX_LOCATIONS];
static const int MAC_PDU_THREAD_PRIO = 3; static const int MAC_PDU_THREAD_PRIO = 60;

@ -84,7 +84,7 @@ public:
private: private:
static const int THREAD_PRIO = 7; static const int THREAD_PRIO = 65;
static const int GTPU_PORT = 2152; static const int GTPU_PORT = 2152;
srslte::byte_buffer_pool *pool; srslte::byte_buffer_pool *pool;
bool running; bool running;

@ -321,7 +321,7 @@ private:
const static uint32_t LCID_REM_USER = 0xffff0001; const static uint32_t LCID_REM_USER = 0xffff0001;
bool running; bool running;
static const int RRC_THREAD_PRIO = 7; static const int RRC_THREAD_PRIO = 65;
srslte::block_queue<rrc_pdu> rx_pdu_queue; srslte::block_queue<rrc_pdu> rx_pdu_queue;
typedef struct { typedef struct {

@ -85,7 +85,7 @@ public:
//void ue_capabilities(uint16_t rnti, LIBLTE_RRC_UE_EUTRA_CAPABILITY_STRUCT *caps); //void ue_capabilities(uint16_t rnti, LIBLTE_RRC_UE_EUTRA_CAPABILITY_STRUCT *caps);
private: private:
static const int S1AP_THREAD_PRIO = 7; static const int S1AP_THREAD_PRIO = 65;
static const int MME_PORT = 36412; static const int MME_PORT = 36412;
static const int ADDR_FAMILY = AF_INET; static const int ADDR_FAMILY = AF_INET;
static const int SOCK_TYPE = SOCK_STREAM; static const int SOCK_TYPE = SOCK_STREAM;

Loading…
Cancel
Save