Hi Hoang, This fix is a just rollback of problem introduced in change-set 7101 and will fixed in all 4.7.x to 5.0.x & default.
-AVM On 8/22/2016 8:18 AM, Vo Minh Hoang wrote: > Dear Mahesh, > > I would like to send my ideal about this. > Please consider it. > > - I'm agree this modification will enhance writing performance. > - I checked opensaf-4.7.x both newest changeset (7886) and tested changeset > (7640) and found the same source code. So I think that this fixing will not > solve the problem of performance degradation from 4.7.x to 5.0.x. > > Thank you and best regards, > Hoang > > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: Thursday, August 18, 2016 4:10 PM > To: [email protected]; [email protected] > Cc: [email protected] > Subject: [PATCH 1 of 1] cpa: remove multiple sync_send() calls in case of > multiple vector write [#1849] > > osaf/libs/agents/saf/cpa/cpa_api.c | 17 ++++++++--------- > 1 files changed, 8 insertions(+), 9 deletions(-) > > > Issue : > In current saCkptCheckpointWrite() , in case of multiple ioVector write > case ( > 1 ) multiple calls made for cpa_mds_msg_sync_send() , which is > cause performance issue . > > Fix : > It is not required to call cpa_mds_msg_sync_send() multiple time , so fixed > to call only once. > > diff --git a/osaf/libs/agents/saf/cpa/cpa_api.c > b/osaf/libs/agents/saf/cpa/cpa_api.c > --- a/osaf/libs/agents/saf/cpa/cpa_api.c > +++ b/osaf/libs/agents/saf/cpa/cpa_api.c > @@ -3523,17 +3523,16 @@ SaAisErrorT saCkptCheckpointWrite(SaCkpt > /* Unlock cpa_lock before calling mds api */ > m_NCS_UNLOCK(&cb->cb_lock, NCS_LOCK_WRITE); > > - for (iter = 0; iter < numberOfElements; iter++) { > + for (iter = 0; iter < numberOfElements; iter++) > all_ioVector_size += ioVector[iter].dataSize; > - time_out = CPA_WAIT_TIME(all_ioVector_size); > - > - if (time_out < CPSV_WAIT_TIME) { > - time_out = CPSV_WAIT_TIME; > - } > - proc_rc = cpa_mds_msg_sync_send(cb->cpa_mds_hdl, > &(gc_node->active_mds_dest), > + > + time_out = CPA_WAIT_TIME(all_ioVector_size); > + if (time_out < CPSV_WAIT_TIME) { > + time_out = CPSV_WAIT_TIME; > + } > + > + proc_rc = cpa_mds_msg_sync_send(cb->cpa_mds_hdl, > +&(gc_node->active_mds_dest), > &evt, &out_evt, time_out); > - > - } > /* Generate rc from proc_rc */ > switch (proc_rc) > { > ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
