session: remove svm_segment_index from session struct 86/17986/3
authorFlorin Coras <fcoras@cisco.com>
Sun, 3 Mar 2019 22:56:05 +0000 (14:56 -0800)
committerDamjan Marion <dmarion@me.com>
Mon, 4 Mar 2019 11:16:09 +0000 (11:16 +0000)
Change-Id: I42ef9ee38f93600a0d6f2699b1b2a0a201fcec9c
Signed-off-by: Florin Coras <fcoras@cisco.com>
src/vnet/session/application.c
src/vnet/session/application_local.c
src/vnet/session/application_worker.c
src/vnet/session/segment_manager.c
src/vnet/session/segment_manager.h
src/vnet/session/session.c

index e575a3d..37eb1cb 100644 (file)
@@ -1122,8 +1122,7 @@ application_change_listener_owner (session_t * s, app_worker_t * app_wrk)
   hash_unset (old_wrk->listeners_table, listen_session_get_handle (s));
   if (session_transport_service_type (s) == TRANSPORT_SERVICE_CL
       && s->rx_fifo)
-    segment_manager_dealloc_fifos (s->rx_fifo->segment_index, s->rx_fifo,
-                                  s->tx_fifo);
+    segment_manager_dealloc_fifos (s->rx_fifo, s->tx_fifo);
 
   app = application_get (old_wrk->app_index);
   if (!app)
index b5cac56..9378e5e 100644 (file)
@@ -210,7 +210,6 @@ ct_init_local_session (app_worker_t * client_wrk, app_worker_t * server_wrk,
   ls->tx_fifo->segment_manager = sm_index;
   ls->rx_fifo->segment_index = seg_index;
   ls->tx_fifo->segment_index = seg_index;
-  ls->svm_segment_index = seg_index;
 
   segment_handle = segment_manager_segment_handle (sm, seg);
   if ((rv = app_worker_add_segment_notify (server_wrk, segment_handle)))
index 662c65b..9dfa3aa 100644 (file)
@@ -165,7 +165,6 @@ app_worker_alloc_session_fifos (segment_manager_t * sm, session_t * s)
 
   s->rx_fifo = rx_fifo;
   s->tx_fifo = tx_fifo;
-  s->svm_segment_index = fifo_segment_index;
   return 0;
 }
 
@@ -362,7 +361,7 @@ app_worker_own_session (app_worker_t * app_wrk, session_t * s)
       s->tx_fifo->cursize = txf->cursize;
     }
 
-  segment_manager_dealloc_fifos (rxf->segment_index, rxf, txf);
+  segment_manager_dealloc_fifos (rxf, txf);
 
   return 0;
 }
index 0ec14f7..b7467bb 100644 (file)
@@ -604,11 +604,11 @@ alloc_check:
 }
 
 void
-segment_manager_dealloc_fifos (u32 segment_index, svm_fifo_t * rx_fifo,
-                              svm_fifo_t * tx_fifo)
+segment_manager_dealloc_fifos (svm_fifo_t * rx_fifo, svm_fifo_t * tx_fifo)
 {
   svm_fifo_segment_private_t *fifo_segment;
   segment_manager_t *sm;
+  u32 segment_index;
 
   if (!rx_fifo || !tx_fifo)
     return;
@@ -618,6 +618,7 @@ segment_manager_dealloc_fifos (u32 segment_index, svm_fifo_t * rx_fifo,
   if (!(sm = segment_manager_get_if_valid (rx_fifo->segment_manager)))
     return;
 
+  segment_index = rx_fifo->segment_index;
   fifo_segment = segment_manager_get_segment_w_lock (sm, segment_index);
   svm_fifo_segment_free_fifo (fifo_segment, rx_fifo,
                              FIFO_SEGMENT_RX_FREELIST);
index 15fd067..dadbd57 100644 (file)
@@ -157,7 +157,7 @@ int segment_manager_try_alloc_fifos (svm_fifo_segment_private_t * fs,
                                     u32 rx_fifo_size, u32 tx_fifo_size,
                                     svm_fifo_t ** rx_fifo,
                                     svm_fifo_t ** tx_fifo);
-void segment_manager_dealloc_fifos (u32 segment_index, svm_fifo_t * rx_fifo,
+void segment_manager_dealloc_fifos (svm_fifo_t * rx_fifo,
                                    svm_fifo_t * tx_fifo);
 u32 segment_manager_evt_q_expected_size (u32 q_size);
 svm_msg_q_t *segment_manager_alloc_queue (svm_fifo_segment_private_t * fs,
index fced034..5756792 100644 (file)
@@ -181,8 +181,7 @@ session_free (session_t * s)
 void
 session_free_w_fifos (session_t * s)
 {
-  segment_manager_dealloc_fifos (s->svm_segment_index, s->rx_fifo,
-                                s->tx_fifo);
+  segment_manager_dealloc_fifos (s->rx_fifo, s->tx_fifo);
   session_free (s);
 }