Hi Minh, Addressed your comments, please find the attached patch(this is on top of the original patch). If you are fine, I will push the patch
Thanks, Ravi ----- Original Message ----- From: [email protected] To: [email protected], [email protected], [email protected] Cc: [email protected] Sent: Wednesday, September 13, 2017 10:36:55 AM GMT +05:30 Chennai, Kolkata, Mumbai, New Delhi Subject: Re: [devel] [PATCH 1/1] amfd: choose unlocked instantiable SU for instantiation [#2462] Hi Ravi, Minor comments in line. Thanks, Minh On 08/09/17 17:03, Ravi Sekhar wrote: > --- > src/amf/amfd/sgproc.cc | 23 +++++++++++++++++++++-- > 1 file changed, 21 insertions(+), 2 deletions(-) > > diff --git a/src/amf/amfd/sgproc.cc b/src/amf/amfd/sgproc.cc > index 6ca4261..0dbaa59 100644 > --- a/src/amf/amfd/sgproc.cc > +++ b/src/amf/amfd/sgproc.cc > @@ -1924,7 +1924,20 @@ uint32_t in_serv_su(AVD_SG *sg) { > TRACE_LEAVE2("%u", in_serv); > return in_serv; > } > - > +/** > + * @brief This function checks if there is any same ranked SU > + * which is Unlocked and can be Instantiated > + * > + * @param pointer to su > + * > + */ > +uint32_t find_instantiable_same_rank_su(AVD_SU *su) { > + for (const auto &i_su : su->sg_of_su->list_of_su) { > + if (i_su->is_instantiable() && (i_su->saAmfSURank == su->saAmfSURank)) > + return true; > + } > + return false; > +} [Minh]: Returned value of function should be bool, if possible please consider the new find_instantantiable_same_rank_su() as a method of class. > > /***************************************************************************** > * Function: avd_sg_app_su_inst_func > * > @@ -2011,7 +2024,13 @@ uint32_t avd_sg_app_su_inst_func(AVD_CL_CB *cb, AVD_SG > *sg) { > TRACE("%u, %u", sg->pref_inservice_sus(), num_try_insvc_su); > if (sg->pref_inservice_sus() > > (sg_instantiated_su_count(i_su->sg_of_su) + num_try_insvc_su)) { > - /* Try to Instantiate this SU */ > + /* If SU is in Locked State, find if there is any other SU in the > same rank > + * which can provide Service(Unlocked SU) > + */ > + if(i_su->saAmfSUAdminState == SA_AMF_ADMIN_LOCKED) { > + if (find_instantiable_same_rank_su(i_su)) > + continue; > + } [Minh]: Patch works fine with reported scenario. However, if replace "lock SU1, lock SU2" in scenario of ticket by "lock SC1, lock SC2", we have the same problem - SI is still PARTIALLY_ASSIGNED. If I change the *if* as below, it works for me in both cases. if(i_su->is_instantiable() == false) { if (find_instantiable_same_rank_su(i_su)) continue; } > if (avd_snd_presence_msg(cb, i_su, false) == NCSCC_RC_SUCCESS) { > num_try_insvc_su++; > } ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! https://urldefense.proofpoint.com/v2/url?u=http-3A__sdm.link_slashdot&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=rFCQ76TW5HZUgA7b20ApVcXgXru6mvz4fvCm1_H6w1k&m=ICtz-8NcHlILP8LBUdTUuikcCD3s8_aYlcsx5gQ_MxI&s=Ex2RmugAaf80RUUKinucP8YznGguSqRGYzwecTZIdvI&e= _______________________________________________ Opensaf-devel mailing list [email protected] https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourceforge.net_lists_listinfo_opensaf-2Ddevel&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=rFCQ76TW5HZUgA7b20ApVcXgXru6mvz4fvCm1_H6w1k&m=ICtz-8NcHlILP8LBUdTUuikcCD3s8_aYlcsx5gQ_MxI&s=91ManmbaZoIBHsmXK3kReGUsb5EcSNIe3wYPHT8V_VA&e=
amfd_2462_2.patch
Description: Binary data
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
