[Hotplug_sig] Hotplug Testing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nice to hear from you again, too, Joel.  I'm copying Craig Thomas on
this mail.  He's the manager of our test development department.  He and
I talked briefly about your offer and he'll take the lead in working
with you.

Thanks,

-- Tom

On Wed, 2004-12-08 at 09:52, Joel Schopp wrote:
> > We're planning to test hotplug capability on PowerPC platforms we have
> > in house.  Following this text is a description of the systems. 
> > Basically we have two systems and an HMC.
> > 
> > Also following is a brief conversation I had with Dave Hansen about
> > possible testing we can do, but I'd like this discussion to move to a
> > wider forum.  What suggestions does this group have for our testing
> > hotplug given the equipment we have?
> > 
> 
> Tom, good to run into you again.
> 
> I suggest regression testing cpu hotplug/dlpar on regular builds.  I 
> would be happy to work with whoever is doing this on the osdl end to 
> explain how everything works and develop some tests.  I've attached some 
> tests I had handy.  Most of the other approx dozen I have are pretty 
> hardcoded to our test environment and need to be cleaned up to be useful 
> in other environments.  Not that these are cleaned up either, but they 
> should work.  The tests as written require 4 virtual cpus.  They are 
> also designed to be run in pairs.  They should run on other 
> architectures fine.
> 
> As for memory hotplug on ppc64 even compile and boot testing would be a 
> good start until things restabalize.  The current -mhp tree needs a hack 
> from Mike to even boot properly.  We can then add on incremental tests 
> as they would be useful.
> 
> ______________________________________________________________________
> #!/usr/bin/perl
> 
> # ignore the next two lines :)
> # to make this generic get values from /proc/device-tree/cpus/Power.../linux-logical-name
> # %logical_to_physical = ("0" => 0 , "1" => 3, "2" => 4, "3" => 5);
> 
> 
> 
> #bring the boot cpu back up
> for($i = 0; $i <= 0; $i++){
>     $file_path = "/sys/devices/system/cpu/cpu" . $i ."/online";
>     # check that the file is there
>     if(! -e $file_path){
> 	die "The file " . $file_path . " doesn't exist!\n";
>     }
>     
>     #check it has the correct value
>     open(CPU, "<" . $file_path);
>     while(<CPU>){
> 	if($_ != "0"){
> 	    die "Was looking for a 0 in " . $file_path . " got a " . $_ . "\n";
> 	}
>     }
>     close(CPU) or die "couldn't close the file " . $file_path . "\n";
> 
>     #put the new value in it
>     open(CPU, ">" . $file_path);
>     print CPU "1";
>     close(CPU) or die "couldn't close the file " . $file_path . "\n";
> 
> }
> 
> #check the value at least flipped
> for($i = 0; $i <= 0; $i++){
>     $file_path = "/sys/devices/system/cpu/cpu" . $i ."/online\n";
>     open(CPU, ">" . $file_path);
>     while(<CPU>){
> 	if($_ != "1"){
> 	    die "The cpu at " . $file_path . " should be 1 but instead is " . $_ . "\n";
> 	}
>     }
> 
>     close(CPU) or die "couldn't close the file\n" . $file_path;
> }
> 
> 
> print "Test Scenerio 3.4 for CPU DLPAR successful\n";
> 
> ______________________________________________________________________
> #!/usr/bin/perl
> 
> # ignore the next two lines :)
> # to make this generic get values from /proc/device-tree/cpus/Power.../linux-logical-name
> # %logical_to_physical = ("0" => 0 , "1" => 3, "2" => 4, "3" => 5);
> 
> 
> 
> #bring the cpus down, except the boot cpu
> for($i = 1; $i <= 3; $i++){
>     $file_path = "/sys/devices/system/cpu/cpu" . $i ."/online";
>     # check that the file is there
>     if(! -e $file_path){
> 	die "The file " . $file_path . " doesn't exist!\n";
>     }
>     
>     #check it has the correct value
>     open(CPU, "<" . $file_path);
>     while(<CPU>){
> 	if($_ != "1"){
> 	    die "Was looking for a 1 in " . $file_path . " got a " . $_ . "\n";
> 	}
>     }
>     close(CPU) or die "couldn't close the file " . $file_path . "\n";
> 
>     #put the new value in it
>     open(CPU, ">" . $file_path);
>     print CPU "0";
>     close(CPU) or die "couldn't close the file " . $file_path . "\n";
> 
> }
> 
> #check the value at least flipped
> for($i = 1; $i <= 3; $i++){
>     $file_path = "/sys/devices/system/cpu/cpu" . $i ."/online\n";
>     open(CPU, ">" . $file_path);
>     while(<CPU>){
> 	if($_ != "0"){
> 	    die "The cpu at " . $file_path . " should be 0 but instead is " . $_ . "\n";
> 	}
>     }
> 
>     close(CPU) or die "couldn't close the file\n" . $file_path;
> }
> 
> 
> print "Test Scenerio 3.1 for CPU DLPAR successful\n";
> 
> ______________________________________________________________________
> #!/usr/bin/perl
> 
> # ignore the next two lines :)
> # to make this generic get values from /proc/device-tree/cpus/Power.../linux-logical-name
> # %logical_to_physical = ("0" => 0 , "1" => 3, "2" => 4, "3" => 5);
> 
> 
> 
> #bring the cpus up, except the boot cpu which is already up
> for($i = 1; $i <= 3; $i++){
>     $file_path = "/sys/devices/system/cpu/cpu" . $i ."/online";
>     # check that the file is there
>     if(! -e $file_path){
> 	die "The file " . $file_path . " doesn't exist!\n";
>     }
>     
>     #check it has the correct value
>     open(CPU, "<" . $file_path);
>     while(<CPU>){
> 	if($_ != "0"){
> 	    die "Was looking for a 0 in " . $file_path . " got a " . $_ . "\n";
> 	}
>     }
>     close(CPU) or die "couldn't close the file " . $file_path . "\n";
> 
>     #put the new value in it
>     open(CPU, ">" . $file_path);
>     print CPU "1";
>     close(CPU) or die "couldn't close the file " . $file_path . "\n";
> 
> }
> 
> #check the value at least flipped
> for($i = 1; $i <= 3; $i++){
>     $file_path = "/sys/devices/system/cpu/cpu" . $i ."/online\n";
>     open(CPU, ">" . $file_path);
>     while(<CPU>){
> 	if($_ != "1"){
> 	    die "The cpu at " . $file_path . " should be 1 but instead is " . $_ . "\n";
> 	}
>     }
> 
>     close(CPU) or die "couldn't close the file\n" . $file_path;
> }
> 
> 
> print "Test Scenerio 3.2 for CPU DLPAR successful\n";
> 
> ______________________________________________________________________
> #!/usr/bin/perl
> 
> # ignore the next two lines :)
> # to make this generic get values from /proc/device-tree/cpus/Power.../linux-logical-name
> # %logical_to_physical = ("0" => 0 , "1" => 3, "2" => 4, "3" => 5);
> 
> 
> 
> #bring the boot cpu down
> for($i = 0; $i <= 0; $i++){
>     $file_path = "/sys/devices/system/cpu/cpu" . $i ."/online";
>     # check that the file is there
>     if(! -e $file_path){
> 	die "The file " . $file_path . " doesn't exist!\n";
>     }
>     
>     #check it has the correct value
>     open(CPU, "<" . $file_path);
>     while(<CPU>){
> 	if($_ != "1"){
> 	    die "Was looking for a 1 in " . $file_path . " got a " . $_ . "\n";
> 	}
>     }
>     close(CPU) or die "couldn't close the file " . $file_path . "\n";
> 
>     #put the new value in it
>     open(CPU, ">" . $file_path);
>     print CPU "0";
>     close(CPU) or die "couldn't close the file " . $file_path . "\n";
> 
> }
> 
> #check the value at least flipped
> for($i = 0; $i <= 0; $i++){
>     $file_path = "/sys/devices/system/cpu/cpu" . $i ."/online\n";
>     open(CPU, ">" . $file_path);
>     while(<CPU>){
> 	if($_ != "0"){
> 	    die "The cpu at " . $file_path . " should be 0 but instead is " . $_ . "\n";
> 	}
>     }
> 
>     close(CPU) or die "couldn't close the file\n" . $file_path;
> }
> 
> 
> print "Test Scenerio 3.3 for CPU DLPAR successful\n";



[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux