HI Nagu, One more comment below./Thanks HansN
-----Original Message----- From: Hans Nordebäck Sent: den 24 november 2015 15:21 To: [email protected]; [email protected] Cc: [email protected]; Hans Nordebäck Subject: Re: [PATCH 1 of 1] amfd: act amfd allows cold sync after it reads config [#1603] Hi Nagu, some questions below. /Thanks HansN On 11/23/2015 07:08 AM, [email protected] wrote: > osaf/services/saf/amf/amfd/chkop.cc | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > > When cold sync req reaches Act Amfd and when its state is in > AVD_CFG_DONE, it returns NCSCC_RC_FAILURE to Mbcsv. Mbcsv doesn't > respond back to its Standby peer that Cold sync has failed. Act Mbcsv > peer waits till Cold sync timer NCS_MBCSV_TMR_SEND_COLD_SYNC_PERIOD (9 Secs). [HansN] Isn't it Stby Mbcsv peer that waits 9 seconds? > After this timer expires, Standby Mbcsv peer resends the request, this > time Act Amfd is in AVD_INIT_DONE and hence Cold sync starts. > This is the reason for 9 Seconds delay reported in the ticket. > > Amfd can start Cold sync even it has read the configuration and it > need not wait the Act controller to come up fully. > That means, Amfd need not wait till m/w susi is assigned on Act > controller. Because, for Standby SUSI to get assigned, Amfd should be > in AVD_INIT_DONE, so this avoids, Standby Controller taking Act role > (2N M/w susi). > So, the fix paces up Cold sync to start. [HansN] AVD_CFG_DONE is set in avd_active_role_initialization, meaning cold sync can now start. Before it was set at avd_nd_ncs_su_assigned when all M/W su's has been assigned. Not sure but are all states from AVD_CFG_DONE to AVD_INIT_DONE the same? I did a quick test and run with a slightly changed timing, by adding some more logging, and the result differs, e.g. there seems to be no "Cold sync complete!" messages. Is it instead possible to delay the initialize mbscv at when AVD_INIT_DONE? [HansN] I agree with your comment that cold sync can start at AVD_CFG_DONE, if changed data are thereafter checkpointed after cold sync. > > diff --git a/osaf/services/saf/amf/amfd/chkop.cc > b/osaf/services/saf/amf/amfd/chkop.cc > --- a/osaf/services/saf/amf/amfd/chkop.cc > +++ b/osaf/services/saf/amf/amfd/chkop.cc > @@ -405,7 +405,7 @@ ignore_msg: > */ > TRACE("COLD_SYNC_REQ"); > > - if (cb->init_state < AVD_INIT_DONE) { > + if (cb->init_state < AVD_CFG_DONE) { > TRACE("invalid init state (%u) for cold sync > req", cb->init_state); > status = NCSCC_RC_FAILURE; > } ------------------------------------------------------------------------------ Go from Idea to Many App Stores Faster with Intel(R) XDK Give your users amazing mobile app experiences with Intel(R) XDK. Use one codebase in this all-in-one HTML5 development environment. Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140 _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
