* action object does not have the information about the location where the
* action is being executed.
*/
-void CpuActionLmm::setAffinity(CpuLmmPtr cpu, unsigned long mask)
+void CpuActionLmm::setAffinity(CpuPtr _cpu, unsigned long mask)
{
lmm_variable_t var_obj = p_variable;
-
+ CpuLmmPtr cpu = reinterpret_cast<CpuLmmPtr>(_cpu);
XBT_IN("(%p,%lx)", this, mask);
{
CpuAction(){};
CpuAction(ModelPtr model, double cost, bool failed)
: Action(model, cost, failed) {};
+ virtual void setAffinity(CpuPtr cpu, unsigned long mask)=0;
+ virtual void setBound(double bound)=0;
};
class CpuActionLmm : public ActionLmm, public CpuAction {
: Action(model, cost, failed), ActionLmm(model, cost, failed), CpuAction(model, cost, failed) {};
void updateRemainingLazy(double now);
virtual void updateEnergy()=0;
- void setAffinity(CpuLmmPtr cpu, unsigned long mask);
+ void setAffinity(CpuPtr cpu, unsigned long mask);
void setBound(double bound);
double m_bound;
};
void setMaxDuration(double duration);
void setPriority(double priority);
double getRemains();
+ void setAffinity(CpuPtr cpu, unsigned long mask) {};
+ void setBound(double bound) {};
+
CpuTiPtr p_cpu;
int m_indexHeap;
s_xbt_swag_hookup_t p_cpuListHookup;
}
void surf_cpu_action_set_affinity(surf_action_t action, surf_resource_t cpu, unsigned long mask) {
- dynamic_cast<CpuActionLmmPtr>(action)->setAffinity( dynamic_cast<CpuLmmPtr>(get_casted_cpu(cpu)), mask);
+ dynamic_cast<CpuActionPtr>(action)->setAffinity(get_casted_cpu(cpu), mask);
}
void surf_cpu_action_set_bound(surf_action_t action, double bound) {
- dynamic_cast<CpuActionLmmPtr>(action)->setBound(bound);
+ dynamic_cast<CpuActionPtr>(action)->setBound(bound);
}
surf_file_t surf_storage_action_get_file(surf_action_t action){