code drop for ffo support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@9960 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
		| @@ -22,6 +22,13 @@ use xCAT::DBobjUtils; | ||||
| 'CPUspeed' => 1, | ||||
| 'syssbpower' => 1, | ||||
| 'sysIPLtime' => 1, | ||||
| # for FFO, only supported when communicating to fsp directly | ||||
| 'ffoMin' => 1, | ||||
| 'ffoVmin' => 1, | ||||
| 'ffoTurbo' => 1, | ||||
| 'ffoNorm' => 1, | ||||
| 'fsavingstatus' => 1, | ||||
| 'ffovalue' => 1, | ||||
| ); | ||||
|  | ||||
| %::SET_ATTRS = ( | ||||
| @@ -30,6 +37,9 @@ use xCAT::DBobjUtils; | ||||
| 'cappingstatus' => 1, | ||||
| 'cappingwatt' => 1, | ||||
| 'cappingperc' => 1, | ||||
| # for FFO | ||||
| 'fsavingstatus' => 1, | ||||
| 'ffovalue' => 1, | ||||
| ); | ||||
|  | ||||
| $::CIM_CLIENT_PATH = "$::XCATROOT/sbin/xCAT_cim_client"; | ||||
| @@ -84,7 +94,7 @@ sub parse_args { | ||||
|                         return (&usage()); | ||||
|                     } | ||||
|      | ||||
|                     if ($set_attr eq "savingstatus"  | ||||
|                     if (($set_attr eq "savingstatus" || $set_attr eq "fsavingstatus")  | ||||
|                          && ($set_value ne "on" && $set_value ne "off")) { | ||||
|                         return (&usage()); | ||||
|                     } elsif ($set_attr eq "dsavingstatus" | ||||
| @@ -95,7 +105,7 @@ sub parse_args { | ||||
|                          && ($set_value ne "on" && $set_value ne "off")) { | ||||
|                         return (&usage()); | ||||
|                     } elsif ( ($set_attr eq "cappingwatt"   | ||||
|                          || $set_attr eq "cappingperc") | ||||
|                          || $set_attr eq "cappingperc" ||  $set_attr eq "ffovalue") | ||||
|                            && $set_value =~ /\D/) { | ||||
|                         return (&usage()); | ||||
|                     } | ||||
|   | ||||
| @@ -240,8 +240,8 @@ my %usage = ( | ||||
|     renergy noderange [-V] { {savingstatus}={on | off} | {cappingstatus}={on | off} | {cappingwatt}=watt | {cappingperc}=percentage }  | ||||
|  | ||||
|     Power 7 server specific : | ||||
|     renergy noderange [-V] { all | { [savingstatus] [dsavingstatus] [cappingstatus] [cappingmaxmin] [cappingvalue] [cappingsoftmin] [averageAC] [averageDC] [ambienttemp] [exhausttemp] [CPUspeed] [syssbpower] [sysIPLtime] } } | ||||
|     renergy noderange [-V] { {savingstatus}={on | off} | {dsavingstatus}={on-norm | on-maxp | off} | {cappingstatus}={on | off} | {cappingwatt}=watt | {cappingperc}=percentage } | ||||
|     renergy noderange [-V] { all | { [savingstatus] [dsavingstatus] [cappingstatus] [cappingmaxmin] [cappingvalue] [cappingsoftmin] [averageAC] [averageDC] [ambienttemp] [exhausttemp] [CPUspeed] [syssbpower] [sysIPLtime] [fsavingstatus] [ffoMin] [ffoVmin] [ffoTurbo] [ffoNorm] [ffovalue] } } | ||||
|     renergy noderange [-V] { {savingstatus}={on | off} | {dsavingstatus}={on-norm | on-maxp | off} | {fsavingstatus}={on | off} | {ffovalue}=MHZ | {cappingstatus}={on | off} | {cappingwatt}=watt | {cappingperc}=percentage } | ||||
|  | ||||
|     Blade specific : | ||||
|     renergy noderange [-V] { all | pd1all | pd2all | { [pd1status] [pd2status] [pd1policy] [pd2policy] [pd1powermodule1] [pd1powermodule2] [pd2powermodule1] [pd2powermodule2] [pd1avaiablepower] [pd2avaiablepower] [pd1reservedpower] [pd2reservedpower] [pd1remainpower] [pd2remainpower] [pd1inusedpower] [pd2inusedpower] [availableDC] [averageAC] [thermaloutput] [ambienttemp] [mmtemp] } } | ||||
|   | ||||
| @@ -29,10 +29,12 @@ B<Power 7 server specific :> | ||||
| B<renergy> I<noderange> [-V] { all | [savingstatus] [dsavingstatus]  | ||||
| [cappingstatus] [cappingmaxmin] [cappingvalue] [cappingsoftmin]  | ||||
| [averageAC] [averageDC] [ambienttemp] [exhausttemp] [CPUspeed]  | ||||
| [syssbpower] [sysIPLtime] } | ||||
| [syssbpower] [sysIPLtime] [fsavingstatus] [ffoMin] [ffoVmin]  | ||||
| [ffoTurbo] [ffoNorm] [ffovalue]} | ||||
|  | ||||
| B<renergy> I<noderange> [-V] { savingstatus={on | off}  | ||||
| | dsavingstatus={on-norm | on-maxp | off}  | ||||
| | dsavingstatus={on-norm | on-maxp | off} | ||||
| | fsavingstatus={on | off} | ffovalue=MHZ  | ||||
| | cappingstatus={on | off} | cappingwatt=watt  | ||||
| | cappingperc=percentage } | ||||
|  | ||||
| @@ -142,7 +144,7 @@ B<Set>:   savingstatus | ||||
|  | ||||
| =back | ||||
|  | ||||
| B<8233-E8B>, B<8236-E8C>, B<9125-F2C> | ||||
| B<8233-E8B>, B<8236-E8C> | ||||
|  | ||||
| =over 4 | ||||
|  | ||||
| @@ -157,6 +159,22 @@ cappingperc | ||||
|  | ||||
| =back | ||||
|  | ||||
| B<9125-F2C> | ||||
|  | ||||
| =over 4 | ||||
|  | ||||
| Supported attributes: | ||||
|  | ||||
| B<Query>: savingstatus,dsavingstatus,cappingstatus,cappingmin, | ||||
| cappingmax,cappingvalue,cappingsoftmin,averageAC,averageDC, | ||||
| ambienttemp,exhausttemp,CPUspeed,syssbpower,sysIPLtime, | ||||
| fsavingstatus,ffoMin,ffoVmin,ffoTurbo,ffoNorm,ffovalue | ||||
|  | ||||
| B<Set>:   savingstatus,dsavingstatus,cappingstatus,cappingwatt, | ||||
| cappingperc,fsavingstatus,ffovalue | ||||
|  | ||||
| =back | ||||
|  | ||||
| =back | ||||
|  | ||||
| Note: | ||||
| @@ -331,6 +349,51 @@ B<savingstatus> is in turn off status. | ||||
|  | ||||
| Query the current exhaust temperature. (Unit is centigrade) | ||||
|  | ||||
| =item B<ffoMin> | ||||
|  | ||||
| Query the minimum cpu frequency which can be set for FFO. (Fixed  | ||||
| Frequency Override) | ||||
|  | ||||
| =item B<ffoNorm> | ||||
|  | ||||
| Query the maximum cpu frequency which can be set for FFO.  | ||||
|  | ||||
| =item B<ffoTurbo> | ||||
|  | ||||
| Query the advertised maximum cpu frequency (selling point).  | ||||
|  | ||||
| =item B<ffoVmin> | ||||
|  | ||||
| Query the minimum cpu frequency which can be set for dropping down  | ||||
| the voltage to save power. That means when you drop the cpu  | ||||
| frequency from the ffoVmin to ffoVmin, the voltage won't change,  | ||||
| then there's no obvious power to be saved. | ||||
|  | ||||
| =item B<ffovalue> | ||||
|  | ||||
| Query the current value of FFO. | ||||
|  | ||||
| =item B<ffovalue>=B<MHZ> | ||||
|  | ||||
| Set the current value of FFO. The valid value of ffovalue should  | ||||
| be between the ffoMin and ffoNorm. | ||||
|  | ||||
| The ffovalue setting operation needs about 1 minute to take effect. | ||||
|  | ||||
| =item B<fsavingstatus> | ||||
|  | ||||
| Query the status of FFO. The result should be 'on' or 'off'.  | ||||
| 'on' - enable; 'off' - disable. | ||||
|  | ||||
| =item B<fsavingstatus>={B<on> │ B<off>} | ||||
|  | ||||
| Set the status of FFO. The value must be 'on' or 'off'. | ||||
|  | ||||
| 'on' - enable. It will take effect only when the B<ffovalue>  | ||||
| has been set to a valid value. | ||||
|  | ||||
| 'off' -disable. It will take effect immediately. | ||||
|  | ||||
| =item B<maxCPUspeed> | ||||
|  | ||||
| Query the maximum processor frequency. (Unit is MHz) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user