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

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.