Darryl L. Pierce
2010-Apr-19 19:03 UTC
[Ovirt-devel] [PATCH matahari] Removes all code for the previous CPUWrapper class.
This class has been replaced by the ProcessorsAgent. Signed-off-by: Darryl L. Pierce <dpierce at redhat.com> --- src/Makefile.am | 4 - src/cpu.cpp | 216 ------------------------------------------------------- src/cpu.h | 111 ---------------------------- src/host.cpp | 24 ------ src/host.h | 3 - src/schema.xml | 16 ---- 6 files changed, 0 insertions(+), 374 deletions(-) delete mode 100644 src/cpu.cpp delete mode 100644 src/cpu.h diff --git a/src/Makefile.am b/src/Makefile.am index b4668b9..7606e20 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,8 +6,6 @@ first = qmf/com/redhat/matahari/Host.cpp generated_file_list = \ qmf/com/redhat/matahari/ArgsNICIdentify_nic.h \ - qmf/com/redhat/matahari/CPU.cpp \ - qmf/com/redhat/matahari/CPU.h \ qmf/com/redhat/matahari/Host.h \ qmf/com/redhat/matahari/NIC.cpp \ qmf/com/redhat/matahari/NIC.h \ @@ -19,8 +17,6 @@ generated_file_list = \ nodist_matahari_SOURCES = $(generated_file_list) $(first) matahari_SOURCES = \ - cpu.cpp \ - cpu.h \ hal.cpp \ hal.h \ host.cpp \ diff --git a/src/cpu.cpp b/src/cpu.cpp deleted file mode 100644 index 453c571..0000000 --- a/src/cpu.cpp +++ /dev/null @@ -1,216 +0,0 @@ -/* cpu.cpp - Copyright (C) 2009 Red Hat, Inc. - * Written by Arjun Roy <arroy at redhat.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. A copy of the GNU General Public License is - * also available at http://www.gnu.org/copyleft/gpl.html. - */ - -#include <iostream> -#include <fstream> -#include <sstream> -#include <string> -#include <vector> -#include <stdexcept> - -#include <pcre.h> - -#include "cpu.h" -#include "qmf/com/redhat/matahari/CPU.h" - -using namespace std; -namespace _qmf = qmf::com::redhat::matahari; - -template<typename targetType> targetType convert(const std::string& str) -{ - istringstream i(str); - targetType t; - if (!(i >> t)) - throw invalid_argument("Conversion failure for " + str); - return t; -} - -ostream& operator<<(ostream& output, const CPUWrapper& cpu) -{ - output << "Processor" << endl; - output << "CPU #: " << cpu.cpunum << endl; - output << "Core #: " << cpu.corenum << endl; - output << "Num. Cores: " << cpu.numcores << endl; - output << "Model: " << cpu.model << endl; - output << "Family: " << cpu.family << endl; - output << "CPU ID Level: " << cpu.cpuid_lvl << endl; - output << "Speed (Mhz): " << cpu.speed << endl; - output << "Cache (kB): " << cpu.cache << endl; - output << "Vendor: " << cpu.vendor << endl; - output << "Flags: " << cpu.flags << endl; - return output; -} - -void CPUWrapper::setupQMFObject(ManagementAgent *agent, Manageable *parent) -{ - mgmt_object = new _qmf::CPU(agent, this, parent); - agent->addObject(mgmt_object); - syncQMFObject(); -} - -void CPUWrapper::cleanupQMFObject(void) -{ - mgmt_object->resourceDestroy(); -} - -void CPUWrapper::syncQMFObject(void) -{ - mgmt_object->set_cpunum(cpunum); - mgmt_object->set_corenum(corenum); - mgmt_object->set_numcores(numcores); - mgmt_object->set_model(model); - mgmt_object->set_family(family); - mgmt_object->set_cpuid_lvl(cpuid_lvl); - mgmt_object->set_speed(speed); - mgmt_object->set_cache(cache); - mgmt_object->set_vendor(vendor); - mgmt_object->set_flags(flags); -} - -/** - * void fillCPUInfo(vector <CPUWrapper*> &cpus, ManagementAgent *agent) - * - * Takes in a vector of CPUWrapper object pointers and populates it with - * CPUs found by querying /proc/cpuinfo. NOTE: This method is very sensitive - * to the output format of /proc/cpuinfo. - * - * Throws a runtime error if file io is unsuccessful. - */ -void CPUWrapper::fillCPUInfo(vector<CPUWrapper*> &cpus, ManagementAgent *agent) -{ - string line; - string regexstr = "(.*\\S)\\s*:\\s*(\\S.*)"; - int desiredmatches = 3; // Match string and two captured substrings - int matchArraySize = desiredmatches * 3; - int results[matchArraySize]; // pcre requires this much - const char *pcre_err; - int pcre_err_offset; - pcre *regex; - - regex = pcre_compile(regexstr.c_str(), // input - 0, // no options - &pcre_err, // where to place static error str - &pcre_err_offset, // index in regex string of error - NULL // use the default charset - ); - if (!regex) { - ostringstream err; - err << "Error: Bad regex: " << regexstr << endl; - err << "Error was: " << pcre_err << " at " << pcre_err_offset << endl; - throw runtime_error(err.str()); - } - - ifstream cpuinfo("/proc/cpuinfo", ios::in); - if (!cpuinfo.is_open() || cpuinfo.fail()) - throw runtime_error("Unable to open /proc/cpuinfo"); - - // Each line is a key:value pair. New processor - // delimiter is the "processor" key. - while (!cpuinfo.eof()) { - getline(cpuinfo, line); - int match = pcre_exec(regex, // Regex - NULL, // No extra optimizations - line.c_str(), // Input - line.length(), // Input length - 0, // Start offset - PCRE_NOTEMPTY, // options bitvector - results, // Results vector - matchArraySize // Vector size - ); - - if (match == desiredmatches) { - if (line.substr(results[2], results[3] - results[2]) == "processor") { - // Start pulling data for a new processor - int cpunum = -1; - int coreid = -1; - int cpucores = -1; - int model = -1; - int family = -1; - int cpuid_lvl = -1; - double speed = -1; - int cache = -1; - string vendor = "unknown"; - string flags = "unknown"; - - // Get the cpu # from this line - cpunum = convert<int>(line.substr(results[4], - results[5] - results[4])); - // And now grab the rest - do { - getline(cpuinfo, line); - match = pcre_exec(regex, // Regex - NULL, // No extra optimizations - line.c_str(), // Input - line.length(), // Input length - 0, // Start offset - PCRE_NOTEMPTY, // options bitvector - results, // Results vector - matchArraySize // Vector size - ); - - if (match == desiredmatches) { - string key = line.substr(results[2], - results[3] - results[2]); - - string value = line.substr(results[4], - results[5] - results[4]); - - if (key == "core id") { - coreid = convert<int>(value); - } else if (key == "cpu cores") { - cpucores = convert<int>(value); - } else if (key == "model") { - model = convert<int>(value); - } else if (key == "cpu family") { - family = convert<int>(value); - } else if (key == "cpuid level") { - cpuid_lvl = convert<int>(value); - } else if (key == "cpu MHz") { - speed = convert<int>(value); - } else if (key == "cache size") { - int space = value.find(' '); - cache = convert<int>(value.substr(0, space)); - } else if (key == "vendor_id") { - vendor = value; - } else if (key == "flags") { - flags = value; - } - } - } - while (line != ""); - - // Got all the data. Add the CPU to our list - CPUWrapper *cpu = new CPUWrapper(cpunum, - coreid, - cpucores, - model, - family, - cpuid_lvl, - speed, - cache, - vendor, - flags); - cpus.push_back(cpu); - } - } - else - continue; - } - cpuinfo.close(); -} diff --git a/src/cpu.h b/src/cpu.h deleted file mode 100644 index bb3a9b3..0000000 --- a/src/cpu.h +++ /dev/null @@ -1,111 +0,0 @@ -/* cpu.h - Copyright (C) 2009 Red Hat, Inc. - * Written by Arjun Roy <arroy at redhat.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. A copy of the GNU General Public License is - * also available at http://www.gnu.org/copyleft/gpl.html. - */ - -#include <qpid/management/Manageable.h> -#include <qpid/management/ManagementObject.h> -#include <qpid/agent/ManagementAgent.h> - -#include "qmf/com/redhat/matahari/CPU.h" - -using namespace qpid::management; -using namespace std; - -using qpid::management::Manageable; - -class CPUWrapper : public Manageable -{ - friend ostream& operator<<(ostream &output, const CPUWrapper& cpu); - friend class HostWrapper; - - // CPU Parameters - int cpunum; - int corenum; - int numcores; - - int model; - int family; - int cpuid_lvl; - double speed; - int cache; - - string vendor; - string flags; - - // QMF related fields - ManagementAgent *agent; - qmf::com::redhat::matahari::CPU *mgmt_object; - - // Methods to put up / take down QMF Objects - void setupQMFObject(ManagementAgent *agent, Manageable *parent); - void cleanupQMFObject(void); - void syncQMFObject(void); - - // Constructors and Destructor are private - CPUWrapper() {} - CPUWrapper(const CPUWrapper&) {} - ~CPUWrapper() {} - - CPUWrapper(int cpunum__, - int corenum__, - int numcores__, - int model__, - int family__, - int cpuid_lvl__, - double speed__, - int cache__, - const string &vendor__, - const string &flags__) { - cpunum = cpunum__; - corenum = corenum__; - numcores = numcores__; - model = model__; - family = family__; - cpuid_lvl = cpuid_lvl__; - speed = speed__; - cache = cache__; - vendor = vendor__; - flags = flags__; - } - -public: - - // Factory like method - static void fillCPUInfo(vector<CPUWrapper*> &cpus, ManagementAgent *agent); - - // QMF Methods - ManagementObject* GetManagementObject(void) const { return mgmt_object; } - - status_t ManagementMethod(uint32_t methodId, Args& args, string& text) { - return STATUS_NOT_IMPLEMENTED; - } - - // Field Accessors - int getCpunum(void) { return cpunum; } - int getCorenum(void) { return corenum; } - int getNumcores(void) { return numcores; } - - int getModel(void) { return model; } - int getFamily(void) { return family; } - int getCpuid_Lvl(void) { return cpuid_lvl; } - double getSpeed(void) { return speed; } - int getCache(void) { return cache; } - - const string &getVendor(void) { return vendor; } - const string &getFlags(void) { return flags; } -}; diff --git a/src/host.cpp b/src/host.cpp index ac04f47..b3ed51f 100644 --- a/src/host.cpp +++ b/src/host.cpp @@ -46,14 +46,8 @@ ostream& operator<<(ostream &output, const HostWrapper& host) output << "Hypervisor: " << host.hypervisor << endl; output << "Arch: " << host.arch << endl << endl; - vector<CPUWrapper*> cpus = host.cpus; vector<NICWrapper*> nics = host.nics; - for (vector<CPUWrapper*>::iterator iter = cpus.begin(); - iter!= cpus.end(); - iter++) { - output << **iter << endl; - } for (vector<NICWrapper*>::iterator iter = nics.begin(); iter!= nics.end(); iter++) { @@ -84,12 +78,6 @@ void HostWrapper::setupQMFObjects(ManagementAgent *agent) processors.setup(agent, this); - // Iterate over list and set up CPU objects - for (vector<CPUWrapper*>::iterator iter = cpus.begin(); - iter!= cpus.end(); - iter++) { - (*iter)->setupQMFObject(agent, this); - } // Iterate over list and set up NIC objects for (vector<NICWrapper*>::iterator iter = nics.begin(); iter!= nics.end(); @@ -113,12 +101,6 @@ void HostWrapper::cleanupQMFObjects(void) // Clean up Host object mgmt_object->resourceDestroy(); - // Iterate over list and clean up CPU objects - for (vector<CPUWrapper*>::iterator iter = cpus.begin(); - iter!= cpus.end(); - iter++) { - (*iter)->cleanupQMFObject(); - } // Iterate over list and clean up NIC objects for (vector<NICWrapper*>::iterator iter = nics.begin(); iter!= nics.end(); @@ -129,11 +111,6 @@ void HostWrapper::cleanupQMFObjects(void) void HostWrapper::cleanupMemberObjects(void) { - // Get rid of the CPUWrapper objects for this host - for (vector<CPUWrapper*>::iterator iter = cpus.begin(); iter != cpus.end();) { - delete (*iter); - iter = cpus.erase(iter); - } // Get rid of the NICWrapper objects for this host for (vector<NICWrapper*>::iterator iter = nics.begin(); iter != nics.end();) { delete (*iter); @@ -169,7 +146,6 @@ HostWrapper* HostWrapper::setupHostWrapper(ManagementAgent *agent) HostWrapper *host = new HostWrapper(); try { - CPUWrapper::fillCPUInfo(host->cpus, agent); NICWrapper::fillNICInfo(host->nics, agent, hal_ctx); // Host UUID diff --git a/src/host.h b/src/host.h index 148c91f..bdf43fa 100644 --- a/src/host.h +++ b/src/host.h @@ -23,7 +23,6 @@ #include "qmf/com/redhat/matahari/Host.h" -#include "cpu.h" #include "nic.h" #include "processors.h" @@ -47,7 +46,6 @@ class HostWrapper : public Manageable int memory; // Aggregated components - vector<CPUWrapper*> cpus; vector<NICWrapper*> nics; ProcessorsAgent processors; @@ -90,7 +88,6 @@ class HostWrapper : public Manageable bool isBeeping(void) { return beeping; } int getMemory(void) { return memory; } - const vector<CPUWrapper*> &getCPUList(void) { return cpus; } const vector<NICWrapper*> &getNICList(void) { return nics; } // Main Loop diff --git a/src/schema.xml b/src/schema.xml index f9c6f6b..e6b54db 100644 --- a/src/schema.xml +++ b/src/schema.xml @@ -23,22 +23,6 @@ <statistic name="load_average" type="float" desc="The processing load average." /> </class> - <class name="CPU"> - - <property name="host" type="objId" access="RO" desc="Host that this cpu belongs to" index="y" references="Host" parentRef="y"/> - <property name="cpunum" type="int32" access="RO" desc="CPU # for this host" index="y"/> - <property name="corenum" type="int32" access="RO" desc="Index of core within CPU"/> - <property name="numcores" type="int32" access="RO" desc="Total # of cores for CPU"/> - <property name="model" type="int32" access="RO" desc="Processor Model"/> - <property name="family" type="int32" access="RO" desc="Processor Family"/> - <property name="cpuid_lvl" type="int32" access="RO" desc="CPU ID Level"/> - <property name="speed" type="double" access="RO" desc="CPU Speed" unit="MHz"/> - <property name="cache" type="int32" access="RO" desc="CPU Cache Size" unit="kb"/> - <property name="vendor" type="sstr" access="RO" desc="CPU Vendor"/> - <property name="flags" type="lstr" access="RO" desc="CPU Flags"/> - - </class> - <class name="NIC"> <property name="host" type="objId" access="RO" desc="Host that this NIC belongs to" index="y" references="Host" parentRef="y"/> -- 1.6.6.1
Ian Main
2010-Apr-20 17:00 UTC
[Ovirt-devel] [Matahari] [PATCH matahari] Removes all code for the previous CPUWrapper class.
On Mon, 2010-04-19 at 15:03 -0400, Darryl L. Pierce wrote:> This class has been replaced by the ProcessorsAgent.ACK Ian> Signed-off-by: Darryl L. Pierce <dpierce at redhat.com> > --- > src/Makefile.am | 4 - > src/cpu.cpp | 216 ------------------------------------------------------- > src/cpu.h | 111 ---------------------------- > src/host.cpp | 24 ------ > src/host.h | 3 - > src/schema.xml | 16 ---- > 6 files changed, 0 insertions(+), 374 deletions(-) > delete mode 100644 src/cpu.cpp > delete mode 100644 src/cpu.h > > diff --git a/src/Makefile.am b/src/Makefile.am > index b4668b9..7606e20 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -6,8 +6,6 @@ first = qmf/com/redhat/matahari/Host.cpp > > generated_file_list = \ > qmf/com/redhat/matahari/ArgsNICIdentify_nic.h \ > - qmf/com/redhat/matahari/CPU.cpp \ > - qmf/com/redhat/matahari/CPU.h \ > qmf/com/redhat/matahari/Host.h \ > qmf/com/redhat/matahari/NIC.cpp \ > qmf/com/redhat/matahari/NIC.h \ > @@ -19,8 +17,6 @@ generated_file_list = \ > nodist_matahari_SOURCES = $(generated_file_list) $(first) > > matahari_SOURCES = \ > - cpu.cpp \ > - cpu.h \ > hal.cpp \ > hal.h \ > host.cpp \ > diff --git a/src/cpu.cpp b/src/cpu.cpp > deleted file mode 100644 > index 453c571..0000000 > --- a/src/cpu.cpp > +++ /dev/null > @@ -1,216 +0,0 @@ > -/* cpu.cpp - Copyright (C) 2009 Red Hat, Inc. > - * Written by Arjun Roy <arroy at redhat.com> > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published by > - * the Free Software Foundation; version 2 of the License. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program; if not, write to the Free Software > - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, > - * MA 02110-1301, USA. A copy of the GNU General Public License is > - * also available at http://www.gnu.org/copyleft/gpl.html. > - */ > - > -#include <iostream> > -#include <fstream> > -#include <sstream> > -#include <string> > -#include <vector> > -#include <stdexcept> > - > -#include <pcre.h> > - > -#include "cpu.h" > -#include "qmf/com/redhat/matahari/CPU.h" > - > -using namespace std; > -namespace _qmf = qmf::com::redhat::matahari; > - > -template<typename targetType> targetType convert(const std::string& str) > -{ > - istringstream i(str); > - targetType t; > - if (!(i >> t)) > - throw invalid_argument("Conversion failure for " + str); > - return t; > -} > - > -ostream& operator<<(ostream& output, const CPUWrapper& cpu) > -{ > - output << "Processor" << endl; > - output << "CPU #: " << cpu.cpunum << endl; > - output << "Core #: " << cpu.corenum << endl; > - output << "Num. Cores: " << cpu.numcores << endl; > - output << "Model: " << cpu.model << endl; > - output << "Family: " << cpu.family << endl; > - output << "CPU ID Level: " << cpu.cpuid_lvl << endl; > - output << "Speed (Mhz): " << cpu.speed << endl; > - output << "Cache (kB): " << cpu.cache << endl; > - output << "Vendor: " << cpu.vendor << endl; > - output << "Flags: " << cpu.flags << endl; > - return output; > -} > - > -void CPUWrapper::setupQMFObject(ManagementAgent *agent, Manageable *parent) > -{ > - mgmt_object = new _qmf::CPU(agent, this, parent); > - agent->addObject(mgmt_object); > - syncQMFObject(); > -} > - > -void CPUWrapper::cleanupQMFObject(void) > -{ > - mgmt_object->resourceDestroy(); > -} > - > -void CPUWrapper::syncQMFObject(void) > -{ > - mgmt_object->set_cpunum(cpunum); > - mgmt_object->set_corenum(corenum); > - mgmt_object->set_numcores(numcores); > - mgmt_object->set_model(model); > - mgmt_object->set_family(family); > - mgmt_object->set_cpuid_lvl(cpuid_lvl); > - mgmt_object->set_speed(speed); > - mgmt_object->set_cache(cache); > - mgmt_object->set_vendor(vendor); > - mgmt_object->set_flags(flags); > -} > - > -/** > - * void fillCPUInfo(vector <CPUWrapper*> &cpus, ManagementAgent *agent) > - * > - * Takes in a vector of CPUWrapper object pointers and populates it with > - * CPUs found by querying /proc/cpuinfo. NOTE: This method is very sensitive > - * to the output format of /proc/cpuinfo. > - * > - * Throws a runtime error if file io is unsuccessful. > - */ > -void CPUWrapper::fillCPUInfo(vector<CPUWrapper*> &cpus, ManagementAgent *agent) > -{ > - string line; > - string regexstr = "(.*\\S)\\s*:\\s*(\\S.*)"; > - int desiredmatches = 3; // Match string and two captured substrings > - int matchArraySize = desiredmatches * 3; > - int results[matchArraySize]; // pcre requires this much > - const char *pcre_err; > - int pcre_err_offset; > - pcre *regex; > - > - regex = pcre_compile(regexstr.c_str(), // input > - 0, // no options > - &pcre_err, // where to place static error str > - &pcre_err_offset, // index in regex string of error > - NULL // use the default charset > - ); > - if (!regex) { > - ostringstream err; > - err << "Error: Bad regex: " << regexstr << endl; > - err << "Error was: " << pcre_err << " at " << pcre_err_offset << endl; > - throw runtime_error(err.str()); > - } > - > - ifstream cpuinfo("/proc/cpuinfo", ios::in); > - if (!cpuinfo.is_open() || cpuinfo.fail()) > - throw runtime_error("Unable to open /proc/cpuinfo"); > - > - // Each line is a key:value pair. New processor > - // delimiter is the "processor" key. > - while (!cpuinfo.eof()) { > - getline(cpuinfo, line); > - int match = pcre_exec(regex, // Regex > - NULL, // No extra optimizations > - line.c_str(), // Input > - line.length(), // Input length > - 0, // Start offset > - PCRE_NOTEMPTY, // options bitvector > - results, // Results vector > - matchArraySize // Vector size > - ); > - > - if (match == desiredmatches) { > - if (line.substr(results[2], results[3] - results[2]) == "processor") { > - // Start pulling data for a new processor > - int cpunum = -1; > - int coreid = -1; > - int cpucores = -1; > - int model = -1; > - int family = -1; > - int cpuid_lvl = -1; > - double speed = -1; > - int cache = -1; > - string vendor = "unknown"; > - string flags = "unknown"; > - > - // Get the cpu # from this line > - cpunum = convert<int>(line.substr(results[4], > - results[5] - results[4])); > - // And now grab the rest > - do { > - getline(cpuinfo, line); > - match = pcre_exec(regex, // Regex > - NULL, // No extra optimizations > - line.c_str(), // Input > - line.length(), // Input length > - 0, // Start offset > - PCRE_NOTEMPTY, // options bitvector > - results, // Results vector > - matchArraySize // Vector size > - ); > - > - if (match == desiredmatches) { > - string key = line.substr(results[2], > - results[3] - results[2]); > - > - string value = line.substr(results[4], > - results[5] - results[4]); > - > - if (key == "core id") { > - coreid = convert<int>(value); > - } else if (key == "cpu cores") { > - cpucores = convert<int>(value); > - } else if (key == "model") { > - model = convert<int>(value); > - } else if (key == "cpu family") { > - family = convert<int>(value); > - } else if (key == "cpuid level") { > - cpuid_lvl = convert<int>(value); > - } else if (key == "cpu MHz") { > - speed = convert<int>(value); > - } else if (key == "cache size") { > - int space = value.find(' '); > - cache = convert<int>(value.substr(0, space)); > - } else if (key == "vendor_id") { > - vendor = value; > - } else if (key == "flags") { > - flags = value; > - } > - } > - } > - while (line != ""); > - > - // Got all the data. Add the CPU to our list > - CPUWrapper *cpu = new CPUWrapper(cpunum, > - coreid, > - cpucores, > - model, > - family, > - cpuid_lvl, > - speed, > - cache, > - vendor, > - flags); > - cpus.push_back(cpu); > - } > - } > - else > - continue; > - } > - cpuinfo.close(); > -} > diff --git a/src/cpu.h b/src/cpu.h > deleted file mode 100644 > index bb3a9b3..0000000 > --- a/src/cpu.h > +++ /dev/null > @@ -1,111 +0,0 @@ > -/* cpu.h - Copyright (C) 2009 Red Hat, Inc. > - * Written by Arjun Roy <arroy at redhat.com> > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published by > - * the Free Software Foundation; version 2 of the License. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program; if not, write to the Free Software > - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, > - * MA 02110-1301, USA. A copy of the GNU General Public License is > - * also available at http://www.gnu.org/copyleft/gpl.html. > - */ > - > -#include <qpid/management/Manageable.h> > -#include <qpid/management/ManagementObject.h> > -#include <qpid/agent/ManagementAgent.h> > - > -#include "qmf/com/redhat/matahari/CPU.h" > - > -using namespace qpid::management; > -using namespace std; > - > -using qpid::management::Manageable; > - > -class CPUWrapper : public Manageable > -{ > - friend ostream& operator<<(ostream &output, const CPUWrapper& cpu); > - friend class HostWrapper; > - > - // CPU Parameters > - int cpunum; > - int corenum; > - int numcores; > - > - int model; > - int family; > - int cpuid_lvl; > - double speed; > - int cache; > - > - string vendor; > - string flags; > - > - // QMF related fields > - ManagementAgent *agent; > - qmf::com::redhat::matahari::CPU *mgmt_object; > - > - // Methods to put up / take down QMF Objects > - void setupQMFObject(ManagementAgent *agent, Manageable *parent); > - void cleanupQMFObject(void); > - void syncQMFObject(void); > - > - // Constructors and Destructor are private > - CPUWrapper() {} > - CPUWrapper(const CPUWrapper&) {} > - ~CPUWrapper() {} > - > - CPUWrapper(int cpunum__, > - int corenum__, > - int numcores__, > - int model__, > - int family__, > - int cpuid_lvl__, > - double speed__, > - int cache__, > - const string &vendor__, > - const string &flags__) { > - cpunum = cpunum__; > - corenum = corenum__; > - numcores = numcores__; > - model = model__; > - family = family__; > - cpuid_lvl = cpuid_lvl__; > - speed = speed__; > - cache = cache__; > - vendor = vendor__; > - flags = flags__; > - } > - > -public: > - > - // Factory like method > - static void fillCPUInfo(vector<CPUWrapper*> &cpus, ManagementAgent *agent); > - > - // QMF Methods > - ManagementObject* GetManagementObject(void) const { return mgmt_object; } > - > - status_t ManagementMethod(uint32_t methodId, Args& args, string& text) { > - return STATUS_NOT_IMPLEMENTED; > - } > - > - // Field Accessors > - int getCpunum(void) { return cpunum; } > - int getCorenum(void) { return corenum; } > - int getNumcores(void) { return numcores; } > - > - int getModel(void) { return model; } > - int getFamily(void) { return family; } > - int getCpuid_Lvl(void) { return cpuid_lvl; } > - double getSpeed(void) { return speed; } > - int getCache(void) { return cache; } > - > - const string &getVendor(void) { return vendor; } > - const string &getFlags(void) { return flags; } > -}; > diff --git a/src/host.cpp b/src/host.cpp > index ac04f47..b3ed51f 100644 > --- a/src/host.cpp > +++ b/src/host.cpp > @@ -46,14 +46,8 @@ ostream& operator<<(ostream &output, const HostWrapper& host) > output << "Hypervisor: " << host.hypervisor << endl; > output << "Arch: " << host.arch << endl << endl; > > - vector<CPUWrapper*> cpus = host.cpus; > vector<NICWrapper*> nics = host.nics; > > - for (vector<CPUWrapper*>::iterator iter = cpus.begin(); > - iter!= cpus.end(); > - iter++) { > - output << **iter << endl; > - } > for (vector<NICWrapper*>::iterator iter = nics.begin(); > iter!= nics.end(); > iter++) { > @@ -84,12 +78,6 @@ void HostWrapper::setupQMFObjects(ManagementAgent *agent) > > processors.setup(agent, this); > > - // Iterate over list and set up CPU objects > - for (vector<CPUWrapper*>::iterator iter = cpus.begin(); > - iter!= cpus.end(); > - iter++) { > - (*iter)->setupQMFObject(agent, this); > - } > // Iterate over list and set up NIC objects > for (vector<NICWrapper*>::iterator iter = nics.begin(); > iter!= nics.end(); > @@ -113,12 +101,6 @@ void HostWrapper::cleanupQMFObjects(void) > // Clean up Host object > mgmt_object->resourceDestroy(); > > - // Iterate over list and clean up CPU objects > - for (vector<CPUWrapper*>::iterator iter = cpus.begin(); > - iter!= cpus.end(); > - iter++) { > - (*iter)->cleanupQMFObject(); > - } > // Iterate over list and clean up NIC objects > for (vector<NICWrapper*>::iterator iter = nics.begin(); > iter!= nics.end(); > @@ -129,11 +111,6 @@ void HostWrapper::cleanupQMFObjects(void) > > void HostWrapper::cleanupMemberObjects(void) > { > - // Get rid of the CPUWrapper objects for this host > - for (vector<CPUWrapper*>::iterator iter = cpus.begin(); iter != cpus.end();) { > - delete (*iter); > - iter = cpus.erase(iter); > - } > // Get rid of the NICWrapper objects for this host > for (vector<NICWrapper*>::iterator iter = nics.begin(); iter != nics.end();) { > delete (*iter); > @@ -169,7 +146,6 @@ HostWrapper* HostWrapper::setupHostWrapper(ManagementAgent *agent) > HostWrapper *host = new HostWrapper(); > > try { > - CPUWrapper::fillCPUInfo(host->cpus, agent); > NICWrapper::fillNICInfo(host->nics, agent, hal_ctx); > > // Host UUID > diff --git a/src/host.h b/src/host.h > index 148c91f..bdf43fa 100644 > --- a/src/host.h > +++ b/src/host.h > @@ -23,7 +23,6 @@ > > #include "qmf/com/redhat/matahari/Host.h" > > -#include "cpu.h" > #include "nic.h" > #include "processors.h" > > @@ -47,7 +46,6 @@ class HostWrapper : public Manageable > int memory; > > // Aggregated components > - vector<CPUWrapper*> cpus; > vector<NICWrapper*> nics; > > ProcessorsAgent processors; > @@ -90,7 +88,6 @@ class HostWrapper : public Manageable > bool isBeeping(void) { return beeping; } > int getMemory(void) { return memory; } > > - const vector<CPUWrapper*> &getCPUList(void) { return cpus; } > const vector<NICWrapper*> &getNICList(void) { return nics; } > > // Main Loop > diff --git a/src/schema.xml b/src/schema.xml > index f9c6f6b..e6b54db 100644 > --- a/src/schema.xml > +++ b/src/schema.xml > @@ -23,22 +23,6 @@ > <statistic name="load_average" type="float" desc="The processing load average." /> > </class> > > - <class name="CPU"> > - > - <property name="host" type="objId" access="RO" desc="Host that this cpu belongs to" index="y" references="Host" parentRef="y"/> > - <property name="cpunum" type="int32" access="RO" desc="CPU # for this host" index="y"/> > - <property name="corenum" type="int32" access="RO" desc="Index of core within CPU"/> > - <property name="numcores" type="int32" access="RO" desc="Total # of cores for CPU"/> > - <property name="model" type="int32" access="RO" desc="Processor Model"/> > - <property name="family" type="int32" access="RO" desc="Processor Family"/> > - <property name="cpuid_lvl" type="int32" access="RO" desc="CPU ID Level"/> > - <property name="speed" type="double" access="RO" desc="CPU Speed" unit="MHz"/> > - <property name="cache" type="int32" access="RO" desc="CPU Cache Size" unit="kb"/> > - <property name="vendor" type="sstr" access="RO" desc="CPU Vendor"/> > - <property name="flags" type="lstr" access="RO" desc="CPU Flags"/> > - > - </class> > - > <class name="NIC"> > > <property name="host" type="objId" access="RO" desc="Host that this NIC belongs to" index="y" references="Host" parentRef="y"/>