Ack

Thanks
Lennart

> -----Original Message-----
> From: reddy.neelaka...@oracle.com [mailto:reddy.neelaka...@oracle.com]
> Sent: den 2 december 2016 11:52
> To: Tai Chi Dinh <tai.d...@dektech.com.au>; Lennart Lund
> <lennart.l...@ericsson.com>; Rafael Odzakow
> <rafael.odza...@ericsson.com>
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] smf:Allow optimization at node level forAddRemove
> in mergeStepIntoSingle[#2214]
> 
>  osaf/services/saf/smfsv/smfd/SmfUpgradeProcedure.cc |  40
> ++++++++++++++++++++-
>  1 files changed, 39 insertions(+), 1 deletions(-)
> 
> 
> diff --git a/osaf/services/saf/smfsv/smfd/SmfUpgradeProcedure.cc
> b/osaf/services/saf/smfsv/smfd/SmfUpgradeProcedure.cc
> --- a/osaf/services/saf/smfsv/smfd/SmfUpgradeProcedure.cc
> +++ b/osaf/services/saf/smfsv/smfd/SmfUpgradeProcedure.cc
> @@ -1381,6 +1381,44 @@ SmfUpgradeProcedure::mergeStepIntoSingle
>               }
>       }
> 
> +     // For forAddRemove AU/DU the node level AU/DU will be
> optimized with other rolling/formodify proceduers.
> +     // Because node will never be optimized away.
> +     // But AU/DU at SU/Comp will not be optimized for AddRemove and
> will be as is, because there is a chance that
> +     // Su/comp can be removed if they are in the scope of the node/Su.
> +
> +     std::list < unitNameAndState >::iterator addRemoveUnit_iter,
> nodeLevel_iter;
> +     for (addRemoveUnit_iter = forAddRemoveAU.begin();
> addRemoveUnit_iter != forAddRemoveAU.end(); ) {
> +             for (nodeLevel_iter = nodeLevelDU.begin();
> nodeLevel_iter!= nodeLevelDU.end(); nodeLevel_iter++) {
> +                     if ((*addRemoveUnit_iter).name ==
> (*nodeLevel_iter).name){
> +                             //if item is already presented in
> nodeLevelDU, erase it from the forAddRemove list
> +                             LOG_NO("[%s] is already presented in the
> merged DU list, remove it from forAddRemoveAU list",
> +
>       (*addRemoveUnit_iter).name.c_str());
> +                             addRemoveUnit_iter =
> forAddRemoveAU.erase(addRemoveUnit_iter);
> +                             break;
> +                     }
> +             }
> +             if(nodeLevel_iter == nodeLevelDU.end()){
> +                     addRemoveUnit_iter++;
> +             }
> +     }
> +
> +
> +     for (addRemoveUnit_iter = forAddRemoveDU.begin();
> addRemoveUnit_iter != forAddRemoveDU.end(); ) {
> +             for (nodeLevel_iter = nodeLevelDU.begin(); nodeLevel_iter
> != nodeLevelDU.end(); nodeLevel_iter++) {
> +                     if ((*addRemoveUnit_iter).name ==
> (*nodeLevel_iter).name){
> +                             //if item is already presented in
> nodeLevelDU, erase it from the forAddRemove list
> +                             LOG_NO("[%s] is already presented in the
> merged DU list, remove it from forAddRemoveDU list",
> +
>       (*addRemoveUnit_iter).name.c_str());
> +                             addRemoveUnit_iter =
> forAddRemoveDU.erase(addRemoveUnit_iter);
> +                             break;
> +                     }
> +             }
> +             if(nodeLevel_iter == nodeLevelDU.end()){
> +                     addRemoveUnit_iter++;
> +             }
> +     }
> +
> +
>          newStep->addDeactivationUnits(nodeLevelDU);  //Add the node level
> DU
>       newStep->addDeactivationUnits(suLevelDU);    //Add the SU level
> DU
>       newStep->addDeactivationUnits(tmpDU);        //Add the comp level
> DU
> @@ -1388,7 +1426,7 @@ SmfUpgradeProcedure::mergeStepIntoSingle
>          newStep->addActivationUnits(suLevelDU);      //Rolling and forModify
> are symetric, Add the SU level DU
>          newStep->addActivationUnits(tmpDU);          //Rolling and forModify 
> are
> symetric, Add the comp level DU
> 
> -        //Copy the forAddRemove AU/DU into the lists as is. They must be run
> as specified in the campaign.
> +        //Copy the forAddRemove AU/DU(except the optimized nodes) into
> the lists as is. They must be run as specified in the campaign.
>          newStep->addDeactivationUnits(forAddRemoveDU);
>          newStep->addActivationUnits(forAddRemoveAU);
> 

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to