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

Reply via email to