summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNélio Laranjeiro2012-09-12 08:22:52 +0200
committerNélio Laranjeiro2012-12-12 12:59:22 +0100
commit28abc0d81140f3c3805472683e4cd3e7b175c5f8 (patch)
tree5ab693e68ff95a3cb1beb01f8dda0096e75498c2
parent571fe673949cb7a469135d9a9b9e58ae68f9f104 (diff)
cesar/mac/sar: add a config to allow MME when slack is low, refs #3344
-rw-r--r--cesar/mac/sar/Config1
-rw-r--r--cesar/mac/sar/src/rx.c3
-rw-r--r--cesar/mac/sar/src/tx.c4
3 files changed, 6 insertions, 2 deletions
diff --git a/cesar/mac/sar/Config b/cesar/mac/sar/Config
index e49fd29c87..5e8a984f51 100644
--- a/cesar/mac/sar/Config
+++ b/cesar/mac/sar/Config
@@ -5,3 +5,4 @@ CONFIG_SAR_MFS_RX_PERMANENT=n
CONFIG_SAR_MFS_TX_PERMANENT=n
CONFIG_SAR_PBPOOL_SIZE=500
CONFIG_SAR_PB_STATS=y
+CONFIG_SAR_SLACK_LOW_ALLOW_MME=n
diff --git a/cesar/mac/sar/src/rx.c b/cesar/mac/sar/src/rx.c
index 16792da37a..c4d1f9da97 100644
--- a/cesar/mac/sar/src/rx.c
+++ b/cesar/mac/sar/src/rx.c
@@ -817,7 +817,8 @@ sar_rx_mfs_detect_and_reconstitute_mf (sar_t *ctx, mfs_rx_t *mfs)
if (qte == 0)
{
/* Enough memory ? */
- if (blk_slack ())
+ if (blk_slack ()
+ || (CONFIG_SAR_SLACK_LOW_ALLOW_MME && mfs->common.mme))
{
job = sar_rx_mfs_detect_and_reconstitute_mf__create_job (
ctx, mfs, &sar_mf, pb_mf_ends);
diff --git a/cesar/mac/sar/src/tx.c b/cesar/mac/sar/src/tx.c
index 7570ef1db1..f4f8c25bfb 100644
--- a/cesar/mac/sar/src/tx.c
+++ b/cesar/mac/sar/src/tx.c
@@ -321,7 +321,9 @@ sar_msdu_process (sar_t *ctx, u8 *buffer, u16 length, mfs_tx_t *mfs,
* activated? */
if (ctx->activate
&& mfs->seg_nb < mfs_tx_max_seg_nb
- && (blk_slack () || mfs->seg_nb <= MAC_SAR_EM_MAX_PB_ALLOWED))
+ && (blk_slack ()
+ || mfs->seg_nb <= MAC_SAR_EM_MAX_PB_ALLOWED
+ || (CONFIG_SAR_SLACK_LOW_ALLOW_MME && mfs->common.mme)))
{
if (mfs->fsm_state == MFS_FSM_CMD_RELEASE)
{