mammut::topology::VirtualCore Class Referenceabstract
Inheritance diagram for mammut::topology::VirtualCore:
mammut::topology::Unit

Public Member Functions

VirtualCoreId getVirtualCoreId () const
 
PhysicalCoreId getPhysicalCoreId () const
 
CpuId getCpuId () const
 
virtual bool hasFlag (const std::string &flagName) const =0
 
virtual uint64_t getAbsoluteTicks () const =0
 
virtual bool areTicksConstant () const
 
virtual void maximizeUtilization () const =0
 
virtual void resetUtilization () const =0
 
virtual double getIdleTime () const =0
 
virtual void resetIdleTime ()=0
 
virtual bool isHotPluggable () const =0
 
virtual bool isHotPlugged () const =0
 
virtual void hotPlug () const =0
 
virtual void hotUnplug () const =0
 
virtual std::vector
< VirtualCoreIdleLevel * > 
getIdleLevels () const =0
 

Protected Member Functions

 VirtualCore (CpuId cpuId, PhysicalCoreId physicalCoreId, VirtualCoreId virtualCoreId)
 

Protected Attributes

const CpuId _cpuId
 
const PhysicalCoreId _physicalCoreId
 
const VirtualCoreId _virtualCoreId
 

Member Function Documentation

virtual bool mammut::topology::VirtualCore::areTicksConstant ( ) const
virtual

Check if the amount of ticks per second change with frequency.

Returns
True if ticks do not change with frequency, false otherwise.
virtual uint64_t mammut::topology::VirtualCore::getAbsoluteTicks ( ) const
pure virtual

Gets the clock ticks of this virtual core.

Returns
The clock ticks of this virtual core. If 0 is returned, ticks are not available. ATTENTION: In general, ticks may change with frequency, i.e. the amount of ticks per second at 1GHz may be different from the amount of ticks per second at 2GHz. To check if ticks do not change with the frequency, you should use 'areTicksConstant()' call.
CpuId mammut::topology::VirtualCore::getCpuId ( ) const

Returns the identifier of the CPU on which this virtual core is running.

Returns
The identifier of the CPU on which this virtual core is running.
virtual std::vector<VirtualCoreIdleLevel*> mammut::topology::VirtualCore::getIdleLevels ( ) const
pure virtual

Returns the idle levels (C-States) supported by this virtual core.

Returns
The idle levels supported by this virtual core. If the vector is empty, no idle levels are supported.
virtual double mammut::topology::VirtualCore::getIdleTime ( ) const
pure virtual

Returns the number of microseconds that this virtual core have been idle since the last call of resetIdleTime() (or since the creation of this virtual core handler).

Returns
The number of microseconds that this virtual core have been idle.
PhysicalCoreId mammut::topology::VirtualCore::getPhysicalCoreId ( ) const

Returns the identifier of the physical core on which this virtual core is running.

Returns
The identifier of the physical core on which this virtual core is running.
VirtualCoreId mammut::topology::VirtualCore::getVirtualCoreId ( ) const

Returns the identifier of this virtual core.

Returns
The identifier of this virtual core.
virtual bool mammut::topology::VirtualCore::hasFlag ( const std::string &  flagName) const
pure virtual

Checks if this virtual core has a specific flag

virtual void mammut::topology::VirtualCore::hotPlug ( ) const
pure virtual

Hotplugs this virtual core. If this core is not hot-pluggable, nothing is done.

virtual void mammut::topology::VirtualCore::hotUnplug ( ) const
pure virtual

Hotunplugs this virtual core. If this core is not hot-pluggable, nothing is done.

virtual bool mammut::topology::VirtualCore::isHotPluggable ( ) const
pure virtual

Returns true if this virtual core is hot-pluggable.

Returns
True if this virtual core is hot-pluggable, false otherwise.
virtual bool mammut::topology::VirtualCore::isHotPlugged ( ) const
pure virtual

Returns true if this virtual core is hot plugged.

Returns
True if this virtual core is hot plugged or if hotplug is not supported, false otherwise.
virtual void mammut::topology::VirtualCore::maximizeUtilization ( ) const
pure virtual

Bring the utilization of this virtual core to 100% until resetUtilization() is called.

Implements mammut::topology::Unit.

virtual void mammut::topology::VirtualCore::resetIdleTime ( )
pure virtual

Resets the number of microseconds that this virtual core have been idle

virtual void mammut::topology::VirtualCore::resetUtilization ( ) const
pure virtual

Resets the utilization of this virtual core.

Implements mammut::topology::Unit.


The documentation for this class was generated from the following file: