WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Status of sedf?

At 03:11 PM 8/17/2005, I wrote:
At 07:38 PM 8/9/2005, Stephan wrote:
>
> > > >>I am running xen-2.0-testing and would like to use the sedf
> > > >> scheduler, which is only in unstable right now.  When will sedf
> > > >> appear in 2.0-testing?
> > >
> > >It was not planed to release the sedf scheduler for 2.0-testing. But as
> > >some people have been asking about that, I might see what I can do!
> >
> > Thank you!  If it's not too much work for you, that would be
> > fantastic!  Although 3.0 is just around the corner, I might hold off
> > upgrading until 3.0.1 due to my bias against initial releases.  :-)
>
> I'm quite busy fixing bugs for 3.0, so I just quickly tried some old diff
> and merged it with the current repository. Compiles, but not sure whether
> it works (esp. control tools).
> Please try it out!
>
> Cheers,
>   Stephan
>
> P.S.: The code contains the most serious bugfixes, but again, it might
> contain bugs!

Sorry to report that the patch didn't work. I applied the patch to my Xen-2.0-testing tree and copied xen/common/sched_sedf.c from Xen-unstable. When compiling xen, sched_sedf.c generated these types of errors:

(1) dereferencing pointer to incomplete type (a lot of these)
(2) `PRIu64' undeclared (first use in this function)

See attachment for the complete list. So Mark is right. The API differences between testing and unstable is significant enough that back porting sched_sedf will involve more work. But thank you for trying!

Oops, forgot the attachment.  Here it is. 
sched_sedf.c: In function `extraq_on':
sched_sedf.c:144: error: dereferencing pointer to incomplete type
sched_sedf.c:145: error: dereferencing pointer to incomplete type
sched_sedf.c:145: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `extraq_add_head':
sched_sedf.c:150: error: dereferencing pointer to incomplete type
sched_sedf.c:150: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `extraq_add_tail':
sched_sedf.c:156: error: dereferencing pointer to incomplete type
sched_sedf.c:156: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `extraq_del':
sched_sedf.c:162: error: dereferencing pointer to incomplete type
sched_sedf.c:164: error: dereferencing pointer to incomplete type
sched_sedf.c:164: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `extraq_add_sort_update':
sched_sedf.c:182: error: syntax error before "PRIi64"
sched_sedf.c:182: error: `PRIi64' undeclared (first use in this function)
sched_sedf.c:182: error: (Each undeclared identifier is reported only once
sched_sedf.c:182: error: for each function it appears in.)
sched_sedf.c:188: error: dereferencing pointer to incomplete type
sched_sedf.c:188: error: dereferencing pointer to incomplete type
sched_sedf.c:191: error: dereferencing pointer to incomplete type
sched_sedf.c:194: error: dereferencing pointer to incomplete type
sched_sedf.c:194: error: dereferencing pointer to incomplete type
sched_sedf.c:200: error: dereferencing pointer to incomplete type
sched_sedf.c:203: error: dereferencing pointer to incomplete type
sched_sedf.c:204: error: dereferencing pointer to incomplete type
sched_sedf.c:209: error: dereferencing pointer to incomplete type
sched_sedf.c:209: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `extraq_check':
sched_sedf.c:217: error: dereferencing pointer to incomplete type
sched_sedf.c:217: error: dereferencing pointer to incomplete type
sched_sedf.c:218: error: dereferencing pointer to incomplete type
sched_sedf.c:219: error: dereferencing pointer to incomplete type
sched_sedf.c:221: error: dereferencing pointer to incomplete type
sched_sedf.c:221: error: dereferencing pointer to incomplete type
sched_sedf.c:225: error: dereferencing pointer to incomplete type
sched_sedf.c:225: error: dereferencing pointer to incomplete type
sched_sedf.c:227: error: dereferencing pointer to incomplete type
sched_sedf.c:227: error: dereferencing pointer to incomplete type
sched_sedf.c:237: error: dereferencing pointer to incomplete type
sched_sedf.c:237: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `extraq_check_add_unblocked':
sched_sedf.c:245: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `__task_on_queue':
sched_sedf.c:263: error: dereferencing pointer to incomplete type
sched_sedf.c:263: error: dereferencing pointer to incomplete type
sched_sedf.c:263: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `__del_from_queue':
sched_sedf.c:267: error: dereferencing pointer to incomplete type
sched_sedf.c:269: error: syntax error before "PRIu64"
sched_sedf.c:269: error: `PRIu64' undeclared (first use in this function)
sched_sedf.c: In function `__add_to_waitqueue_sort':
sched_sedf.c:310: error: syntax error before "PRIu64"
sched_sedf.c:310: error: `PRIu64' undeclared (first use in this function)
sched_sedf.c:312: error: dereferencing pointer to incomplete type
sched_sedf.c:312: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `__add_to_runqueue_sort':
sched_sedf.c:323: error: syntax error before "PRIu64"
sched_sedf.c:323: error: `PRIu64' undeclared (first use in this function)
sched_sedf.c:325: error: dereferencing pointer to incomplete type
sched_sedf.c:325: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `sedf_alloc_task':
sched_sedf.c:330: error: dereferencing pointer to incomplete type
sched_sedf.c:330: error: dereferencing pointer to incomplete type
sched_sedf.c:332: error: dereferencing pointer to incomplete type
sched_sedf.c:333: error: dereferencing pointer to incomplete type
sched_sedf.c:334: error: syntax error before "struct"
sched_sedf.c:336: error: dereferencing pointer to incomplete type
sched_sedf.c:336: error: dereferencing pointer to incomplete type
sched_sedf.c:336: error: dereferencing pointer to incomplete type
sched_sedf.c:336: error: dereferencing pointer to incomplete type
sched_sedf.c:338: error: dereferencing pointer to incomplete type
sched_sedf.c:338: error: syntax error before "struct"
sched_sedf.c:340: error: dereferencing pointer to incomplete type
sched_sedf.c:340: error: dereferencing pointer to incomplete type
sched_sedf.c:340: error: dereferencing pointer to incomplete type
sched_sedf.c:340: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `sedf_add_task':
sched_sedf.c:347: error: dereferencing pointer to incomplete type
sched_sedf.c:350: error: dereferencing pointer to incomplete type
sched_sedf.c:350: error: dereferencing pointer to incomplete type
sched_sedf.c:354: error: dereferencing pointer to incomplete type
sched_sedf.c:356: error: dereferencing pointer to incomplete type
sched_sedf.c:357: error: syntax error before "struct"
sched_sedf.c:358: warning: implicit declaration of function `BUG_ON'
sched_sedf.c:358: error: dereferencing pointer to incomplete type
sched_sedf.c:359: error: dereferencing pointer to incomplete type
sched_sedf.c:359: error: dereferencing pointer to incomplete type
sched_sedf.c:359: error: dereferencing pointer to incomplete type
sched_sedf.c:359: error: dereferencing pointer to incomplete type
sched_sedf.c:359: error: dereferencing pointer to incomplete type
sched_sedf.c:359: error: dereferencing pointer to incomplete type
sched_sedf.c:359: error: dereferencing pointer to incomplete type
sched_sedf.c:359: error: dereferencing pointer to incomplete type
sched_sedf.c:359: error: dereferencing pointer to incomplete type
sched_sedf.c:359: error: dereferencing pointer to incomplete type
sched_sedf.c:360: error: dereferencing pointer to incomplete type
sched_sedf.c:360: error: dereferencing pointer to incomplete type
sched_sedf.c:360: error: dereferencing pointer to incomplete type
sched_sedf.c:360: error: dereferencing pointer to incomplete type
sched_sedf.c:361: error: dereferencing pointer to incomplete type
sched_sedf.c:361: error: dereferencing pointer to incomplete type
sched_sedf.c:361: error: dereferencing pointer to incomplete type
sched_sedf.c:361: error: dereferencing pointer to incomplete type
sched_sedf.c:362: error: dereferencing pointer to incomplete type
sched_sedf.c:362: error: dereferencing pointer to incomplete type
sched_sedf.c:362: error: dereferencing pointer to incomplete type
sched_sedf.c:362: error: dereferencing pointer to incomplete type
sched_sedf.c:363: error: dereferencing pointer to incomplete type
sched_sedf.c:363: error: dereferencing pointer to incomplete type
sched_sedf.c:363: error: dereferencing pointer to incomplete type
sched_sedf.c:363: error: dereferencing pointer to incomplete type
sched_sedf.c:366: error: dereferencing pointer to incomplete type
sched_sedf.c:387: error: dereferencing pointer to incomplete type
sched_sedf.c:387: error: dereferencing pointer to incomplete type
sched_sedf.c:390: error: dereferencing pointer to incomplete type
sched_sedf.c:391: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `sedf_free_task':
sched_sedf.c:399: error: structure has no member named `domain_id'
sched_sedf.c:404: error: structure has no member named `vcpu'
sched_sedf.c:406: error: structure has no member named `vcpu'
sched_sedf.c: In function `desched_edf_dom':
sched_sedf.c:412: error: dereferencing pointer to incomplete type
sched_sedf.c:421: error: dereferencing pointer to incomplete type
sched_sedf.c:453: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `update_queues':
sched_sedf.c:480: error: dereferencing pointer to incomplete type
sched_sedf.c:480: error: dereferencing pointer to incomplete type
sched_sedf.c:495: error: dereferencing pointer to incomplete type
sched_sedf.c:495: error: dereferencing pointer to incomplete type
sched_sedf.c:499: error: dereferencing pointer to incomplete type
sched_sedf.c:499: error: dereferencing pointer to incomplete type
sched_sedf.c:515: error: syntax error before "PRIu64"
sched_sedf.c:515: error: `PRIu64' undeclared (first use in this function)
sched_sedf.c: In function `desched_extra_dom':
sched_sedf.c:555: error: dereferencing pointer to incomplete type
sched_sedf.c:584: error: syntax error before "PRIi64"
sched_sedf.c:584: error: `PRIi64' undeclared (first use in this function)
sched_sedf.c:588: error: dereferencing pointer to incomplete type
sched_sedf.c:588: error: dereferencing pointer to incomplete type
sched_sedf.c:618: error: dereferencing pointer to incomplete type
sched_sedf.c: At top level:
sched_sedf.c:645: error: return type is an incomplete type
sched_sedf.c: In function `sedf_do_extra_schedule':
sched_sedf.c:646: error: storage size of `ret' isn't known
sched_sedf.c:680: warning: `return' with a value, in function returning void
sched_sedf.c:687: warning: `return' with a value, in function returning void
sched_sedf.c:646: warning: unused variable `ret'
sched_sedf.c: At top level:
sched_sedf.c:695: error: return type is an incomplete type
sched_sedf.c: In function `sedf_do_schedule':
sched_sedf.c:704: error: storage size of `ret' isn't known
sched_sedf.c:707: error: structure has no member named `domain'
sched_sedf.c:707: error: structure has no member named `domain'
sched_sedf.c:722: warning: passing arg 2 of `desched_extra_dom' from 
incompatible pointer type
sched_sedf.c:727: warning: passing arg 2 of `desched_edf_dom' from incompatible 
pointer type
sched_sedf.c:780: error: syntax error before "PRIi64"
sched_sedf.c:788: warning: `return' with a value, in function returning void
sched_sedf.c:704: warning: unused variable `ret'
sched_sedf.c: In function `sedf_sleep':
sched_sedf.c:792: error: dereferencing pointer to incomplete type
sched_sedf.c:792: error: dereferencing pointer to incomplete type
sched_sedf.c:794: error: dereferencing pointer to incomplete type
sched_sedf.c:794: error: dereferencing pointer to incomplete type
sched_sedf.c:797: error: dereferencing pointer to incomplete type
sched_sedf.c:799: error: `_VCPUF_running' undeclared (first use in this 
function)
sched_sedf.c:799: error: dereferencing pointer to incomplete type
sched_sedf.c:799: error: dereferencing pointer to incomplete type
sched_sedf.c:800: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `get_run_type':
sched_sedf.c:1064: error: dereferencing pointer to incomplete type
sched_sedf.c:1065: error: dereferencing pointer to incomplete type
sched_sedf.c:1065: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `should_switch':
sched_sedf.c:1085: error: dereferencing pointer to incomplete type
sched_sedf.c:1086: error: dereferencing pointer to incomplete type
sched_sedf.c:1090: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `sedf_wake':
sched_sedf.c:1118: error: dereferencing pointer to incomplete type
sched_sedf.c:1120: error: dereferencing pointer to incomplete type
sched_sedf.c:1120: error: dereferencing pointer to incomplete type
sched_sedf.c:1123: error: dereferencing pointer to incomplete type
sched_sedf.c:1123: error: dereferencing pointer to incomplete type
sched_sedf.c:1127: error: dereferencing pointer to incomplete type
sched_sedf.c:1127: error: dereferencing pointer to incomplete type
sched_sedf.c:1140: error: syntax error before "PRIu64"
sched_sedf.c:1140: error: `PRIu64' undeclared (first use in this function)
sched_sedf.c:1202: error: syntax error before "PRIu64"
sched_sedf.c:1231: error: dereferencing pointer to incomplete type
sched_sedf.c:1232: error: dereferencing pointer to incomplete type
sched_sedf.c: In function `sedf_dump_domain':
sched_sedf.c:1237: error: dereferencing pointer to incomplete type
sched_sedf.c:1237: error: dereferencing pointer to incomplete type
sched_sedf.c:1238: error: `_VCPUF_running' undeclared (first use in this 
function)
sched_sedf.c:1238: error: dereferencing pointer to incomplete type
sched_sedf.c:1238: error: dereferencing pointer to incomplete type
sched_sedf.c:1239: error: syntax error before "PRIu64"
sched_sedf.c:1244: error: dereferencing pointer to incomplete type
sched_sedf.c:1245: error: syntax error before "PRIu64"
sched_sedf.c:1245: error: `PRIu64' undeclared (first use in this function)
sched_sedf.c: In function `sedf_dump_cpu_state':
sched_sedf.c:1277: error: syntax error before "PRIu64"
sched_sedf.c:1321: warning: implicit declaration of function `for_each_vcpu'
sched_sedf.c:1322: error: syntax error before '{' token
sched_sedf.c: At top level:
sched_sedf.c:1327: error: syntax error before '}' token
sched_sedf.c: In function `sedf_adjust_weights':
sched_sedf.c:1343: error: syntax error before '{' token
sched_sedf.c:1354: error: dereferencing pointer to incomplete type
sched_sedf.c:1355: error: dereferencing pointer to incomplete type
sched_sedf.c:1356: error: dereferencing pointer to incomplete type
sched_sedf.c:1357: warning: no return statement in function returning non-void
sched_sedf.c: At top level:
sched_sedf.c:1358: error: syntax error before '}' token
sched_sedf.c:1360: error: syntax error before '!=' token
sched_sedf.c:1360: warning: type defaults to `int' in declaration of `d'
sched_sedf.c:1360: error: invalid type argument of `->'
sched_sedf.c:1360: error: syntax error before ')' token
sched_sedf.c:1365: error: syntax error before "struct"
sched_sedf.c: In function `sedf_adjdom':
sched_sedf.c:1379: error: syntax error before "PRIu64"
sched_sedf.c:1379: error: `PRIu64' undeclared (first use in this function)
sched_sedf.c:1392: error: syntax error before '{' token
sched_sedf.c:1394: error: dereferencing pointer to incomplete type
sched_sedf.c:1395: error: dereferencing pointer to incomplete type
sched_sedf.c:1396: error: dereferencing pointer to incomplete type
sched_sedf.c:1400: warning: redundant redeclaration of `for_each_vcpu' in same 
scope
sched_sedf.c:1392: warning: previous declaration of `for_each_vcpu'
sched_sedf.c:1401: error: dereferencing pointer to incomplete type
sched_sedf.c:1401: error: called object is not a function
sched_sedf.c:1406: warning: redundant redeclaration of `for_each_vcpu' in same 
scope
sched_sedf.c:1392: warning: previous declaration of `for_each_vcpu'
sched_sedf.c:1406: error: syntax error before '{' token
sched_sedf.c:1410: error: dereferencing pointer to incomplete type
sched_sedf.c:1411: error: dereferencing pointer to incomplete type
sched_sedf.c:1412: error: dereferencing pointer to incomplete type
sched_sedf.c:1413: error: dereferencing pointer to incomplete type
sched_sedf.c:1414: error: dereferencing pointer to incomplete type
sched_sedf.c:1415: error: dereferencing pointer to incomplete type
sched_sedf.c: At top level:
sched_sedf.c:1418: error: syntax error before "if"
sched_sedf.c:1421: warning: return type defaults to `int'
sched_sedf.c: In function `for_each_vcpu':
sched_sedf.c:1422: error: invalid type argument of `->'
sched_sedf.c:1423: error: invalid type argument of `->'
sched_sedf.c:1424: error: `cmd' undeclared (first use in this function)
sched_sedf.c:1425: error: invalid type argument of `->'
sched_sedf.c:1426: warning: passing arg 1 of `extraq_check' makes pointer from 
integer without a cast
sched_sedf.c: At top level:
sched_sedf.c:1428: error: syntax error before '}' token
sched_sedf.c:1447: warning: initialization from incompatible pointer type
sched_sedf.c:1448: warning: initialization from incompatible pointer type
sched_sedf.c:1450: warning: initialization from incompatible pointer type
sched_sedf.c:1452: warning: initialization from incompatible pointer type
sched_sedf.c:1453: warning: initialization from incompatible pointer type
make[2]: *** [sched_sedf.o] Error 1
make[2]: Leaving directory `/usr/local/src/xen-2.0-testing.hg/xen/common'
make[1]: *** [/usr/local/src/xen-2.0-testing.hg/xen/xen] Error 2
make[1]: Leaving directory `/usr/local/src/xen-2.0-testing.hg/xen'
make: *** [xen] Error 2
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel