geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
Public Member Functions | Static Public Member Functions | List of all members
geopm::CpufreqSysfsDriver Class Reference

Class used to implement the CpufreqSysfsDriverGroup. More...

#include <CpufreqSysfsDriver.hpp>

Inheritance diagram for geopm::CpufreqSysfsDriver:
Inheritance graph
[legend]
Collaboration diagram for geopm::CpufreqSysfsDriver:
Collaboration graph
[legend]

Public Member Functions

 CpufreqSysfsDriver ()
 
 CpufreqSysfsDriver (const PlatformTopo &topo, const std::string &cpufreq_directory)
 
virtual ~CpufreqSysfsDriver ()=default
 
int domain_type (const std::string &name) const override
 Get the PlatformTopo domain type for an named attribute. More...
 
std::string attribute_path (const std::string &name, int domain_idx) override
 Get the path to the sysfs entry for signal. More...
 
std::function< double(const std::string &)> signal_parse (const std::string &signal_name) const override
 Get function to convert contents of sysfs file into signal. More...
 
std::function< std::string(double)> control_gen (const std::string &control_name) const override
 Get a function to convert a control into a sysfs string. More...
 
std::string driver (void) const override
 
std::map< std::string, SysfsDriver::properties_sproperties (void) const override
 Query the meta data about a signal or control. More...
 
- Public Member Functions inherited from geopm::SysfsDriver
 SysfsDriver ()=default
 
virtual ~SysfsDriver ()=default
 

Static Public Member Functions

static std::string plugin_name (void)
 
static std::unique_ptr< IOGroupmake_plugin (void)
 
- Static Public Member Functions inherited from geopm::SysfsDriver
static std::map< std::string, SysfsDriver::properties_sparse_properties_json (const std::string &iogroup_name, const std::string &properties_json)
 

Additional Inherited Members

- Static Public Attributes inherited from geopm::SysfsDriver
static constexpr size_t M_IO_BUFFER_SIZE = 128
 Arbitrary buffer size. More...
 

Detailed Description

Class used to implement the CpufreqSysfsDriverGroup.

Constructor & Destructor Documentation

◆ CpufreqSysfsDriver() [1/2]

geopm::CpufreqSysfsDriver::CpufreqSysfsDriver ( )

◆ CpufreqSysfsDriver() [2/2]

geopm::CpufreqSysfsDriver::CpufreqSysfsDriver ( const PlatformTopo topo,
const std::string &  cpufreq_directory 
)

◆ ~CpufreqSysfsDriver()

virtual geopm::CpufreqSysfsDriver::~CpufreqSysfsDriver ( )
virtualdefault

Member Function Documentation

◆ attribute_path()

std::string geopm::CpufreqSysfsDriver::attribute_path ( const std::string &  name,
int  domain_idx 
)
overridevirtual

Get the path to the sysfs entry for signal.

Parameters
[in]nameThe name of the signal or control
[in]domain_idxThe index of the domain within the set of domains of the same type on the platform.
Returns
File path to the sysfs entry to be read.

Implements geopm::SysfsDriver.

◆ control_gen()

std::function< std::string(double)> geopm::CpufreqSysfsDriver::control_gen ( const std::string &  control_name) const
overridevirtual

Get a function to convert a control into a sysfs string.

Converts from the SI unit control into the text representation required by the device driver.

Parameters
[in]signal_nameThe name of the signal.
Returns
Function returning string content to be written to sysfs file.

Implements geopm::SysfsDriver.

◆ domain_type()

int geopm::CpufreqSysfsDriver::domain_type ( const std::string &  name) const
overridevirtual

Get the PlatformTopo domain type for an named attribute.

Parameters
[in]nameThe name of the signal or control
Returns
geopm_domain_e domain type

Implements geopm::SysfsDriver.

◆ driver()

std::string geopm::CpufreqSysfsDriver::driver ( void  ) const
overridevirtual

Name of the Linux kernel device driver

Returns
Name of device driver

Implements geopm::SysfsDriver.

◆ make_plugin()

std::unique_ptr< IOGroup > geopm::CpufreqSysfsDriver::make_plugin ( void  )
static

◆ plugin_name()

std::string geopm::CpufreqSysfsDriver::plugin_name ( void  )
static

◆ properties()

std::map< std::string, SysfsDriver::properties_s > geopm::CpufreqSysfsDriver::properties ( void  ) const
overridevirtual

Query the meta data about a signal or control.

Implements geopm::SysfsDriver.

◆ signal_parse()

std::function< double(const std::string &)> geopm::CpufreqSysfsDriver::signal_parse ( const std::string &  signal_name) const
overridevirtual

Get function to convert contents of sysfs file into signal.

This parsing includes the conversion of the numerical data into SI units.

Parameters
[in]properties_idThe unique identifier of the signal.
[in]contentThe string content read from the sysfs file.
Returns
The parsed signal value in SI units.

Implements geopm::SysfsDriver.


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