Skip to contentSkip to conversation

Osstest: stop testing SEDF, start testing RTDS

PATCH Superseded Dario Faggioli 4 participants 10 messages May 22, 2015 – Jun 10, 2015

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Osstest: stop testing SEDF, start testing RTDS

the SEDF scheduler is about to be deprecated and go away (see [1]). OTOH, the RTDS scheduler is here to stay.

It therefore makes sense to stop smoke testing the former in favour of the latter. Note that the -sedf-pin jobs where only added in order to try to debug a long standing issue with SEDF; it is not necessary to have anything like that for RTDS.

For now, as RTDS is still marked as experimental, test failures are allowed, as it was for SEDF.

[1] http://lists.xen.org/archives/html/xen-devel/2015-05/msg02874.html

---
 allow.all   |    2 +-
 make-flight |   31 +++++++++----------------------
 2 files changed, 10 insertions(+), 23 deletions(-)
allow.all +1 -1
index 6715b2e..2897b2e 100644
@@ -1,4 +1,4 @@
-test-@@-sedf@@
+test-@@-rtds@@
 build-@@                        logs-capture@@
 test-@@-pcipt@@
 test-@@-qemuu-@@		guest-localmigrate
make-flight +9 -22
index 8a1fceb..837f372 100755
@@ -262,30 +262,16 @@ do_hvm_rhel6_tests () {
   done
 }
 
-do_sedf_tests () {
+do_nondef_sched_tests () {
   if [ $xenarch != $dom0arch ]; then
     return
   fi
 
-  for pin in '' -pin; do
-    job_create_test test-$xenarch$kern-$dom0arch-xl-sedf$pin  \
-       test-debian xl $xenarch $dom0arch                      \
-            guests_vcpus=4                                    \
-            xen_boot_append="sched=sedf loglvl=all ${pin:+dom0_vcpus_pin}" \
-            linux_boot_append='loglevel=9 debug'              \
-            $debian_runvars all_hostflags=$most_hostflags
-  done
-}
-
-do_credit2_tests () {
-  if [ $xenarch != $dom0arch ]; then
-    return
-  fi
-
-  job_create_test test-$xenarch$kern-$dom0arch-xl-credit2             \
-       test-debian xl $xenarch $dom0arch                              \
-            guests_vcpus=4 xen_boot_append='sched=credit2'            \
-            $debian_runvars all_hostflags=$most_hostflags
+  sched=$1
+  job_create_test test-$xenarch$kern-$dom0arch-xl-$sched \
+      test-debian xl $xenarch $dom0arch                  \
+          guests_vcpus=4 xen_boot_append="sched=$sched"  \
+          $debian_runvars all_hostflags=$most_hostflags
 }
 
 do_multivcpu_tests () {
@@ -350,8 +336,9 @@ test_matrix_do_one () {
   do_pv_debian_tests
 
   do_multivcpu_tests
-  do_sedf_tests
-  do_credit2_tests
+  for s in credit2 rtds; do
+    do_nondef_sched_tests $s
+  done
 
   # No further arm tests at the moment
   if [ $dom0arch = armhf ]; then
Signature · 4 lines
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel

#1 lore raw
Quoted 9 lines · Dario Faggioli

the SEDF scheduler is about to be deprecated and go away (see [1]). OTOH, the RTDS scheduler is here to stay.

It therefore makes sense to stop smoke testing the former in favour of the latter. Note that the -sedf-pin jobs where only added in order to try to debug a long standing issue with SEDF; it is not necessary to have anything like that for RTDS.

Does the RTDS scheduler work out of the box? I had a feeling that it required per domain config settings to be worked out?

Quoted 76 lines

For now, as RTDS is still marked as experimental, test failures are allowed, as it was for SEDF.

[1] http://lists.xen.org/archives/html/xen-devel/2015-05/msg02874.html

---
 allow.all   |    2 +-
 make-flight |   31 +++++++++----------------------
 2 files changed, 10 insertions(+), 23 deletions(-)
allow.all +1 -1
index 6715b2e..2897b2e 100644
@@ -1,4 +1,4 @@
-test-@@-sedf@@
+test-@@-rtds@@
 build-@@                        logs-capture@@
 test-@@-pcipt@@
 test-@@-qemuu-@@		guest-localmigrate
make-flight +9 -22
index 8a1fceb..837f372 100755
@@ -262,30 +262,16 @@ do_hvm_rhel6_tests () {
   done
 }
 
-do_sedf_tests () {
+do_nondef_sched_tests () {
   if [ $xenarch != $dom0arch ]; then
     return
   fi
 
-  for pin in '' -pin; do
-    job_create_test test-$xenarch$kern-$dom0arch-xl-sedf$pin  \
-       test-debian xl $xenarch $dom0arch                      \
-            guests_vcpus=4                                    \
-            xen_boot_append="sched=sedf loglvl=all ${pin:+dom0_vcpus_pin}" \
-            linux_boot_append='loglevel=9 debug'              \
-            $debian_runvars all_hostflags=$most_hostflags
-  done
-}
-
-do_credit2_tests () {
-  if [ $xenarch != $dom0arch ]; then
-    return
-  fi
-
-  job_create_test test-$xenarch$kern-$dom0arch-xl-credit2             \
-       test-debian xl $xenarch $dom0arch                              \
-            guests_vcpus=4 xen_boot_append='sched=credit2'            \
-            $debian_runvars all_hostflags=$most_hostflags
+  sched=$1
+  job_create_test test-$xenarch$kern-$dom0arch-xl-$sched \
+      test-debian xl $xenarch $dom0arch                  \
+          guests_vcpus=4 xen_boot_append="sched=$sched"  \
+          $debian_runvars all_hostflags=$most_hostflags
 }
 
 do_multivcpu_tests () {
@@ -350,8 +336,9 @@ test_matrix_do_one () {
   do_pv_debian_tests
 
   do_multivcpu_tests
-  do_sedf_tests
-  do_credit2_tests
+  for s in credit2 rtds; do
+    do_nondef_sched_tests $s
+  done
 
   # No further arm tests at the moment
   if [ $dom0arch = armhf ]; then
#2 lore raw
Quoted 5 lines · Ian Campbell
Quoted 4 lines · Dario Faggioli

the SEDF scheduler is about to be deprecated and go away (see [1]). OTOH, the RTDS scheduler is here to stay.

Quoted 9 lines
Quoted 5 lines

It therefore makes sense to stop smoke testing the former in favour of the latter. Note that the -sedf-pin jobs where only added in order to try to debug a long standing issue with SEDF; it is not necessary to have anything like that for RTDS.

Does the RTDS scheduler work out of the box? I had a feeling that it required per domain config settings to be worked out?

It does, your feeling is about ARINC653 :-)

Regards,
Dario

Signature · 4 lines
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel

#3 lore raw
Quoted 12 lines · Dario Faggioli
Quoted 11 lines · Ian Campbell
Quoted 9 lines · Dario Faggioli

the SEDF scheduler is about to be deprecated and go away (see [1]). OTOH, the RTDS scheduler is here to stay.

It therefore makes sense to stop smoke testing the former in favour of the latter. Note that the -sedf-pin jobs where only added in order to try to debug a long standing issue with SEDF; it is not necessary to have anything like that for RTDS.

Quoted 4 lines
Quoted 3 lines

Does the RTDS scheduler work out of the box? I had a feeling that it required per domain config settings to be worked out?

It does, your feeling is about ARINC653 :-)

Great, thanks!

Ian.

#4 lore raw
In reply to Dario Faggioli

[ Adding to Cc the people that I though I added when sending the patch,
but that apparently I haven't...sorry :-( ]

Quoted 10 lines · Dario Faggioli

the SEDF scheduler is about to be deprecated and go away (see [1]). OTOH, the RTDS scheduler is here to stay.

It therefore makes sense to stop smoke testing the former in favour of the latter. Note that the -sedf-pin jobs where only added in order to try to debug a long standing issue with SEDF; it is not necessary to have anything like that for RTDS.

Quoted 5 lines

For now, as RTDS is still marked as experimental, test failures are allowed, as it was for SEDF.

[1] http://lists.xen.org/archives/html/xen-devel/2015-05/msg02874.html

Oh, and here's the diff of the generated runvars that IanJ usually asks
about: :-)

dariof@drall:~/osstest.git$ diff -Nru runvar.prepatch runvar.patched 
--- runvar.prepatch	2015-05-21 17:13:51.328281000 +0100
+++ runvar.patched	2015-05-21 17:15:51.112202000 +0100
@@ -370,30 +370,17 @@
 test-amd64-amd64-xl-qemuu-winxpsp3            win_acpi_shutdown           true                                                                     
 test-amd64-amd64-xl-qemuu-winxpsp3            win_image                   winxpsp3.iso                                                             
 test-amd64-amd64-xl-qemuu-winxpsp3            xenbuildjob                 build-amd64                                                              
-test-amd64-amd64-xl-sedf                      all_hostflags               arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test                      
-test-amd64-amd64-xl-sedf                      arch                        amd64                                                                    
-test-amd64-amd64-xl-sedf                      buildjob                    build-amd64                                                              
-test-amd64-amd64-xl-sedf                      debian_arch                 amd64                                                                    
-test-amd64-amd64-xl-sedf                      debian_kernkind             pvops                                                                    
-test-amd64-amd64-xl-sedf                      guests_vcpus                4                                                                        
-test-amd64-amd64-xl-sedf                      kernbuildjob                build-amd64-pvops                                                        
-test-amd64-amd64-xl-sedf                      kernkind                    pvops                                                                    
-test-amd64-amd64-xl-sedf                      linux_boot_append           loglevel=9 debug                                                         
-test-amd64-amd64-xl-sedf-pin                  all_hostflags               arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test                      
-test-amd64-amd64-xl-sedf-pin                  arch                        amd64                                                                    
-test-amd64-amd64-xl-sedf-pin                  buildjob                    build-amd64                                                              
-test-amd64-amd64-xl-sedf-pin                  debian_arch                 amd64                                                                    
-test-amd64-amd64-xl-sedf-pin                  debian_kernkind             pvops                                                                    
-test-amd64-amd64-xl-sedf-pin                  guests_vcpus                4                                                                        
-test-amd64-amd64-xl-sedf-pin                  kernbuildjob                build-amd64-pvops                                                        
-test-amd64-amd64-xl-sedf-pin                  kernkind                    pvops                                                                    
-test-amd64-amd64-xl-sedf-pin                  linux_boot_append           loglevel=9 debug                                                         
-test-amd64-amd64-xl-sedf-pin                  toolstack                   xl                                                                       
-test-amd64-amd64-xl-sedf-pin                  xen_boot_append             sched=sedf loglvl=all dom0_vcpus_pin                                     
-test-amd64-amd64-xl-sedf-pin                  xenbuildjob                 build-amd64                                                              
-test-amd64-amd64-xl-sedf                      toolstack                   xl                                                                       
-test-amd64-amd64-xl-sedf                      xen_boot_append             sched=sedf loglvl=all                                                    
-test-amd64-amd64-xl-sedf                      xenbuildjob                 build-amd64                                                              
+test-amd64-amd64-xl-rtds                      all_hostflags               arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test                      
+test-amd64-amd64-xl-rtds                      arch                        amd64                                                                    
+test-amd64-amd64-xl-rtds                      buildjob                    build-amd64                                                              
+test-amd64-amd64-xl-rtds                      debian_arch                 amd64                                                                    
+test-amd64-amd64-xl-rtds                      debian_kernkind             pvops                                                                    
+test-amd64-amd64-xl-rtds                      guests_vcpus                4                                                                        
+test-amd64-amd64-xl-rtds                      kernbuildjob                build-amd64-pvops                                                        
+test-amd64-amd64-xl-rtds                      kernkind                    pvops                                                                    
+test-amd64-amd64-xl-rtds                      toolstack                   xl                                                                       
+test-amd64-amd64-xl-rtds                      xen_boot_append             sched=rtds                                                               
+test-amd64-amd64-xl-rtds                      xenbuildjob                 build-amd64                                                              
 test-amd64-amd64-xl                           toolstack                   xl                                                                       
 test-amd64-amd64-xl                           xenbuildjob                 build-amd64                                                              
 test-amd64-amd64-xl-xsm                       all_hostflags               arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test                      
@@ -691,30 +678,17 @@
 test-armhf-armhf-xl-multivcpu                 kernkind                    pvops                                                                    
 test-armhf-armhf-xl-multivcpu                 toolstack                   xl                                                                       
 test-armhf-armhf-xl-multivcpu                 xenbuildjob                 build-armhf                                                              
-test-armhf-armhf-xl-sedf                      all_hostflags               arch-armhf,arch-xen-armhf,suite-wheezy,purpose-test                      
-test-armhf-armhf-xl-sedf                      arch                        armhf                                                                    
-test-armhf-armhf-xl-sedf                      buildjob                    build-armhf                                                              
-test-armhf-armhf-xl-sedf                      debian_arch                 armhf                                                                    
-test-armhf-armhf-xl-sedf                      debian_kernkind             pvops                                                                    
-test-armhf-armhf-xl-sedf                      guests_vcpus                4                                                                        
-test-armhf-armhf-xl-sedf                      kernbuildjob                build-armhf-pvops                                                        
-test-armhf-armhf-xl-sedf                      kernkind                    pvops                                                                    
-test-armhf-armhf-xl-sedf                      linux_boot_append           loglevel=9 debug                                                         
-test-armhf-armhf-xl-sedf-pin                  all_hostflags               arch-armhf,arch-xen-armhf,suite-wheezy,purpose-test                      
-test-armhf-armhf-xl-sedf-pin                  arch                        armhf                                                                    
-test-armhf-armhf-xl-sedf-pin                  buildjob                    build-armhf                                                              
-test-armhf-armhf-xl-sedf-pin                  debian_arch                 armhf                                                                    
-test-armhf-armhf-xl-sedf-pin                  debian_kernkind             pvops                                                                    
-test-armhf-armhf-xl-sedf-pin                  guests_vcpus                4                                                                        
-test-armhf-armhf-xl-sedf-pin                  kernbuildjob                build-armhf-pvops                                                        
-test-armhf-armhf-xl-sedf-pin                  kernkind                    pvops                                                                    
-test-armhf-armhf-xl-sedf-pin                  linux_boot_append           loglevel=9 debug                                                         
-test-armhf-armhf-xl-sedf-pin                  toolstack                   xl                                                                       
-test-armhf-armhf-xl-sedf-pin                  xen_boot_append             sched=sedf loglvl=all dom0_vcpus_pin                                     
-test-armhf-armhf-xl-sedf-pin                  xenbuildjob                 build-armhf                                                              
-test-armhf-armhf-xl-sedf                      toolstack                   xl                                                                       
-test-armhf-armhf-xl-sedf                      xen_boot_append             sched=sedf loglvl=all                                                    
-test-armhf-armhf-xl-sedf                      xenbuildjob                 build-armhf                                                              
+test-armhf-armhf-xl-rtds                      all_hostflags               arch-armhf,arch-xen-armhf,suite-wheezy,purpose-test                      
+test-armhf-armhf-xl-rtds                      arch                        armhf                                                                    
+test-armhf-armhf-xl-rtds                      buildjob                    build-armhf                                                              
+test-armhf-armhf-xl-rtds                      debian_arch                 armhf                                                                    
+test-armhf-armhf-xl-rtds                      debian_kernkind             pvops                                                                    
+test-armhf-armhf-xl-rtds                      guests_vcpus                4                                                                        
+test-armhf-armhf-xl-rtds                      kernbuildjob                build-armhf-pvops                                                        
+test-armhf-armhf-xl-rtds                      kernkind                    pvops                                                                    
+test-armhf-armhf-xl-rtds                      toolstack                   xl                                                                       
+test-armhf-armhf-xl-rtds                      xen_boot_append             sched=rtds                                                               
+test-armhf-armhf-xl-rtds                      xenbuildjob                 build-armhf                                                              
 test-armhf-armhf-xl                           toolstack                   xl                                                                       
 test-armhf-armhf-xl                           xenbuildjob                 build-armhf                                                              
 test-armhf-armhf-xl-xsm                       all_hostflags               arch-armhf,arch-xen-armhf,suite-wheezy,purpose-test
Signature · 4 lines
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel

#5 lore raw

Hi Dario,

2015-05-22 3:19 GMT-07:00 Dario Faggioli <[email protected]>:

Quoted 3 lines

[ Adding to Cc the people that I though I added when sending the patch,
but that apparently I haven't...sorry :-( ]

Thanks for cc.ing us. :-)

Quoted 12 lines · Dario Faggioli
Quoted 10 lines

the SEDF scheduler is about to be deprecated and go away (see [1]). OTOH, the RTDS scheduler is here to stay.

It therefore makes sense to stop smoke testing the former in favour of the latter. Note that the -sedf-pin jobs where only added in order to try to debug a long standing issue with SEDF; it is not necessary to have anything like that for RTDS.

Quoted 7 lines
Quoted 5 lines

For now, as RTDS is still marked as experimental, test failures are allowed, as it was for SEDF.

[1] http://lists.xen.org/archives/html/xen-devel/2015-05/msg02874.html

Oh, and here's the diff of the generated runvars that IanJ usually asks
about: :-)

I'm not so familiar with osstest. (Maybe I should have a look at it so that we can know how to use it for some auto tests.)
I just have a quick (probably dummy) question:
Do we have any document that describes the coverage of the test?

The reason I asked this is:
1) The document could make it easier for users to know which functionalities of the feature (i.e., RTDS scheduler here) have been tested.
2) I didn't see the toolstack functionality of RTDS scheduler is called in the test. So I'm wondering about the first question. :-) (probably I missed something?)

Thanks,

Meng

-----------
Meng Xu
PhD Student in Computer and Information Science
University of Pennsylvania
http://www.cis.upenn.edu/~mengxu/

#6 lore raw
Quoted 2 lines · Meng Xu

Hi Dario,

Hi,

Quoted 9 lines

2015-05-22 3:19 GMT-07:00 Dario Faggioli <[email protected]>:

Quoted 6 lines · Dario Faggioli
Quoted 4 lines

the SEDF scheduler is about to be deprecated and go away (see [1]). OTOH, the RTDS scheduler is here to stay.

Quoted 5 lines

I'm not so familiar with osstest. (Maybe I should have a look at it so that we can know how to use it for some auto tests.)
I just have a quick (probably dummy) question:
Do we have any document that describes the coverage of the test?

If, by document, you mean the documentation one would need to used OSSTest, do development on it, and maybe setup and run an instance of, there is some docs --certainly much more than even a few weeks before now:

README files in the sources}
https://blog.xenproject.org/2013/02/02/xen-automatic-test-system-osstest/
http://www.xenproject.org/component/allvideoshare/video/xpds13-osstest.html
https://blog.xenproject.org/2013/09/30/osstest-standalone-mode-step-by-step/

Setting up your own instance would be rather tricky, though, at least untile you get used enough to it.

Quoted 6 lines

The reason I asked this
is:
1) The document could make it easier for users to know which functionalities of the feature (i.e., RTDS scheduler here) have been tested.

I don't think that's how OSSTest works or how it should be used. OSSTest is meant for us developers, in order to be sure that we do not cause regressions. That's why it gates commits.

Users, if we say (e.g., in some release notes), that a feature is 'ready'/\supported\/whatever should be able to use it fully, and complain if it doesn't work, regardless of what tests us developers or OSSTest have run!

Quoted 4 lines

2) I didn't see the toolstack functionality of RTDS scheduler is called in the test. So I'm wondering about the first question. :-) (probably I missed something?)

The test does what it's being done already for other schedulers: sets RTDS as the default scheduler, boots Xen with it, then it creates a domain, and it starts and stop it a few times.

If you want to have a look, check make-flight, sg-run-job, ts-guest-start and ts-guest-stop in OSSTest's codebase.

We do not do any testing of changing scheduling parameters of a guest, if that was what you were referring to, for any of the schedulers. We of course can introduce that (and do it for everyone), but that would be another patch series.

Regards,
Dario

Signature · 4 lines
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel

Acked-by on v1 1/1
#7 lore raw
In reply to Dario Faggioli
Quoted 10 lines · Dario Faggioli

the SEDF scheduler is about to be deprecated and go away (see [1]). OTOH, the RTDS scheduler is here to stay.

It therefore makes sense to stop smoke testing the former in favour of the latter. Note that the -sedf-pin jobs where only added in order to try to debug a long standing issue with SEDF; it is not necessary to have anything like that for RTDS.

Quoted 6 lines

For now, as RTDS is still marked as experimental, test failures are allowed, as it was for SEDF.

[1] http://lists.xen.org/archives/html/xen-devel/2015-05/msg02874.html

#8 lore raw
In reply to Dario Faggioli

Dario Faggioli writes ("[PATCH] Osstest: stop testing SEDF, start testing RTDS"):

Quoted 3 lines

the SEDF scheduler is about to be deprecated and go away (see [1]). OTOH, the RTDS scheduler is here to stay.

The RTDS scheduler was introduced in 4.4, AFAICT.

osstest needs to test older versions of Xen too. So I think you need to gate this on the xen version.

Ian.

#9 lore raw
Quoted 10 lines · Ian Jackson

Dario Faggioli writes ("[PATCH] Osstest: stop testing SEDF, start testing RTDS"):

Quoted 3 lines

the SEDF scheduler is about to be deprecated and go away (see [1]). OTOH, the RTDS scheduler is here to stay.

The RTDS scheduler was introduced in 4.4, AFAICT.

osstest needs to test older versions of Xen too. So I think you need to gate this on the xen version.

Good point, and sorry for missing this! I will respin ASAP.

Dario

Signature · 4 lines
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel