[Linux-hls-devel] Re: Scheduler Hierarchy - HLS
Status: Pre-Alpha
Brought to you by:
lucabe
|
From: Luca A. <luc...@em...> - 2003-08-07 07:09:58
|
Hi Christian, (I am also ccing the hls devel mailing list) > Taking part in a project group at the University of Dortmund (Germany) > I am very interested in John's HLS theory. Good!!! I am very happy to see people interested in HLS. > I am currently trying to get a hierarchy of schedulers running on my > own. The kernel compiled well, but the insertion of some modules failed > : > > [root@bockermann linux]# insmod hls_sched_res.o > hls_sched_res.o: unresolved symbol __divdi3 [...] Ok, I assume that you compiled the modular version, and you already inserted hls_module.o... Can you send me a full compilation log (including the commands that you used to compile the modules)? Also, It would be useful to have a cat /proc/ksyms before inserting hls_module.o and after inserting it... As a quick workaround, you can compile the schedulers inside hls_module.o, by typing make CLI=1 INT_SCHED=1 KERNEL_DIR=/home/luca/src/linux-rt or you can avoid using __divdi3 by adding MULDIV=1 to the compilation command. I suggest you to get the cvs version of hls from cvs.linux-hls.sf.net/cvsroot/linux-hls (cvs module name: hls) - See the sf project page (http://www.sf.net/projects/linux-hls) for more details - and to have a look at the "scripts" directory. > [root@bockermann linux]# insmod hls_sched_th.o > hls_sched_th.o: unresolved symbol HLSSetPri > hls_sched_th.o: unresolved symbol _hls_assertion_failed > hls_sched_th.o: unresolved symbol HLS_DBG_PRINT_LEVEL > hls_sched_th.o: unresolved symbol HLSScheduleThread > hls_sched_th.o: unresolved symbol ThreadStr > hls_sched_th.o: unresolved symbol HLSProc > hls_sched_th.o: unresolved symbol HLSFindThread > hls_sched_th.o: > Hint: You are trying to load a module without a GPL compatible license > and it has unresolved symbols. Contact the module supplier for > assistance, only they can help you. BTW, you should never insert hls_sched_th.o: it is a special scheduler (it is a pseudo-scheduler modelling a thread). Hence, it is always linked into hls_module.o (HLS cannot exist without hls_sched_th.o). > Did I do anything wrong ? Is there more documentation about the way to > specify the parameters of the schedulers ? Well, you are hitting the biggest problem of the hls-on-linux implementation: the lack of documentation. All the existing documentation is at http://linux-hls.sourceforge.net/compile.html and http://linux-hls.sourceforge.net/use.html Anyway, I am here to answer all the questions ;-) Let me know if using MULDIV=1 solved the problem... > Is there any way to set a > certain task to a certain scheduler from outside ? Like "echo PID > PARENT_SCHED > /proc/HLS/tasks" ? The only way to assign a task to a scheduler is to use the sched_setscheduler() system call, as shown in tests/schedtest.c. Of course, you can specify the pid of the task that you prefer, hence you can set schedulers "from outside". The proc interface can be used to construct scheduler hierarchies, as shown by the create_hierarchy script (in the scripts directory). I hope this helps to solve your problems... Tomorrow I will leave for vacations, and I'll be back on August 17. Hence, I'll be able to answer questions only until this evening. Luca -- _____________________________________________________________________________ Copy this in your signature, if you think it is important: N O W A R ! ! ! -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Samsonite ti presenta la nuova F'Lite Lite. E una sorpresa! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=1756&d=7-8 |