[rtl] Suse 7.0 problem
Hi i have just installed suse 7.0 and had to learn that something in the default configuration prevents printk/rtl_printf to display some outputs on my console. i can see the printouts by using dmesg but not on the screen. is this something concerning syslogd/klogd or am i completely off the track? thanks alex mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
Re: [rtl] really stuck
Hi Jeff, Wednesday, January 24, 2001, 9:54:54 PM, you wrote: JK When I type a.out I get the following error: JK bash: a.out: command not found as long as your destination dir is not in the global PATH you have to call it like this: ./a.out should work ... alex mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
Re: [rtl] /dev/rtf?? via network connection ??
Hi Martin, Monday, January 22, 2001, 4:01:45 PM, you wrote: MS Hi there, MS I try to access the /def/rtf??'s via the network (wireless) using nfs MS (standart settings) this seems not to work. :(, means I can't open the MS device. MS Is this possible at all, and if so how??? since I need to write to the MS remote rtfs as well someting like netcat isn't enough it is not quite sophisticated, but you could create a small userspace programm which listens on a socket and writes that data in the rtf ... at least you will get some working solution ... alex mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
Re[2]: [rtl] Fast scheduling with LINUX
Hi David, Monday, January 15, 2001, 11:52:11 AM, you wrote: DY I am booting with RTLinux-2.0. The reason why I do this high frequency DY (1000 Hz) task in linux instead of RTLinux is because this task need to DY use lots of graphics, big memory (60M) for object modeling, etc which are DY cubersome to do in RTLinux. if you could do it, i will change my religion at once ;) DO I don't knaw about religion, but I've been running SCHED_FIFO threads at 1 kHz DO and beyond without problems on machines like Celeron 333 and P-II 400. (Any DO decent socket 7 generation Pentium system does rather well too.) i tried to express that running a rtlinux task with the above mentioned requirements (graphics, 60M+ memory usage) directly in the rtlinux kernel without any user-app would seem godlike to me ... for that i would change my religion ... ;) besides, thank you for your hint on the scheduling latency issue (i didn't expect such a response - more then 15 mails - wow ;*) ). if i have some time available i will do some stress tests and will inform you again. i am going to play around with some BIOS settings as well, as i assume that some hardware may cause those high latencies. does anybody has some hints regarding cache and harddisk configuration (i have to dig into hdparm and stuff right now)? cu alex mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
Re: [rtl] network resources not working under rtlinux
Hi Raul, Friday, January 12, 2001, 6:57:58 PM, you wrote: R Hi people R I cannot get to work Netscape nor any other network R program when my computer runs under rt linux. They R work fine under Linux, though. R On booting up the system fails on bringing up the R interface eth0. The linux configuration though is R correct. R I have tried "ifconfig eth0", and it says, "error R fetching interface, Device not found". R Do I have to set up something on the rtl kernel? R Raul did you enabled support for your special network device when you compiled the rtlinux kernel? or did you insert a module at run-time? mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
Re: [rtl] Fast scheduling with LINUX
Hi Dingrong, Wednesday, January 10, 2001, 7:34:39 PM, you wrote: DY Hello all RTLinux users and developers, DY I need to schdule a procedure by a timer at every (around) 1 ms. I DY set the time interval of the XtAppAddTimeOut to be 1ms. But I am DY uncertain is the resolution of linux timer is such fine or not? Tijs DY suggested to modify parameter HZ of DY /usr/src/linux/include/asm-i386/param.h to 1024 for a 2ms timing DY (attached at the end). Does it mean if modify HZ to 2048 may get a 1ms DY resolution timing? If so, what should I do after this modification so DY that this modification may be effective? i think you could do so, but that would let the system timer generate an interrupt every 1 ms. i think your machine will end up processing the interrupt handlers while giving less cpu time to your application (or worst case NO cpu time ...) DY I am booting with RTLinux-2.0. The reason why I do this high frequency DY (1000 Hz) task in linux instead of RTLinux is because this task need to DY use lots of graphics, big memory (60M) for object modeling, etc which are DY cubersome to do in RTLinux. if you could do it, i will change my religion at once ;) ... This works for x86 only: Try using #define HZ 1024 or some other high number in /usr/src/linux/include/asm-i386/param.h Usually it's 100 and that accounts for the (what I thought were 10) 20 ms. i thought it were 10 ms too ? mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
[rtl] a question on timing
Hi i tried to get some timing estimations for rtlinux by writing some simple testmodules for my special applications, using c++ in kernel space. the tests are similar to the "jitter" example in rtai and i think to the measurement example in rtlinux. i run the tests on different systems under several load environments, see the code snippet of the realtimetask for details. i wanted to see some trends in the duration of some operations and the scheduling accuracy by calculating the differences to the expected period. i found that that there is jitter on the scheduling, at least on one system, up to 60 us (before or after the set period), dependent on the system load. now i wonder how it could be possible to guarantee a worst-case-scenario deadline, independent of the system load. i assume that by increasing the system load, my period derivations get increased to. in the rtlinux papers, one can find rtlinux should have a maximum interrupt response time of under 25 us. is that contradictive to what i discovered? could someone point me to the erros in my thoughts or give some hints on how to get some reliable test results. one thing i should mention: it could be possible, that my disc was full at the time of writing the measured timestamps to a rt-fifo. could this have some negative influence on the timings? some timings in us, where i generate system load by: # top -q # ping -f localhost # while [ true ]; do ls -lR /; done Environment Derivation of period AverageMin Max - load, X started: 10.750 0.0 54.848 no load, X started: 1.169 0.0 21.152 load, no X: 10.508 0.0 56.544 no load, no X:1.020 0.0 13.984 the derivations are showing absolute values, meaning that the execution of the task might be done before the whole period or later. the timings are for the code below. thank you very much in case of help ;) alex --- CODE OF REALTIME TASK --- ... void * PeriodicComediParameter::printfThread(void *param) { hrtime_t timestamp; PeriodicTask* me = (PeriodicTask*) (param); __rtl_printf("** TASK: IN NOIO THREAD, PERIOD = %lu.\n", me); while (1) { if (_countn_periods) { me-wait(); timestamp=gethrtime(); data_out(timestamp, sizeof(timestamp)); _count++; __rtl_printf("%lu ", _count); timestamp=gethrtime(); data_out(timestamp, sizeof(timestamp)); } else { break; } } } ... --- END OF CODE SNIPPET --- CU mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
[rtl] templates in kernel space
Hi as i am playing around with c++ in kernel space, i arrived at using templates now. when i try to insmod my kernel module, linux complains about undefined references obviously regarding my template class. how can i explicitely make egcs insert all necessary template code into my object file? CU alex mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
Re[2]: [rtl] cond_signal / cond_timedwait in RTL3.0
Hi Michael, Tuesday, November 21, 2000, 3:50:42 PM, you wrote: The mutex and cond-variables are exchanged between the two modules as addresses. Example: in Module B: ... #include A.h pthread_mutex_t mutex; MB perhaps it should be MB extern pthread_mutex_t mutex; ??? if i got that kernel stuff right, i think that "mutex" should be exported as a symbol in your object files of the two modules. in one it should be exported as "defined" and in the other one as "undefined". you can check this by using nm on the object-files looking for the name or some wrangled forms of "mutext". there should be one tagged with "U" and one with "D". then you have to load the module which defines "mutex" before the one that needs to define. i don't know exactly but declaring mutex in the "undefined-module" as extern should work. but i don't know how to declare it in the other module. perhaps it is suffiecient to use extern. --- mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
[rtl] c++ and kernel modules
Hi after the short discussion about c++ in kernel modules i browsed the archive and tried again and managed to compile and insert a module coded in c++. but it was not that simple - at least on my box and i am not really pleased with that version. i had to patch at least one rtl header file and had to undefine several macros before including some of the c++ header files. thus i am _very_ unsure if my c++-modules will behave i would like them to do ... unfortunately i didn't know excatly what i undefined or commented out 8-. probably some of you can help on that: * i implemented new/delete as proposed in the list * i included all kernel/rtl headers in extern "C" { #incl.. } * i call the __do_glabal_Xtors_aux() funcs in init/cleanup module * i declared init/cleanup module as extern * i removed the -O2 flag from rtl.mk !! sigh (solved the "can't find version information ..." error on insertion) with that i got a "insertable" module but without any real c++ code and c++ includes inside. when i tried to include some c++ or even rtl headers i ran into several pages of compiler error/warnings: * in /usr/src/rtlinux/linux/include/linux/list.h there was a variable named "new" -- i used #define new _new just before the c-includes and "undefed" it again before my c++ includes. * in /usr/include/g++/std/stl_allocate.h there is a enum-hack: ... enum { __ALIGN=8; } -- first error enum { __something_i_dont_know=16; } ... got the compiler error: parse error before "." ... after searching the includes i found that __ALIGN is defined as [.align,7,0x90] or similar somewhere earlier. * in /usr/include/g++/std/stl_iterator.h there is a class member of some iterator type named "current". compiler error "no member named current: ..." -- i undefed __ALIGN and current just before the includes containing the errors - everything was good. * in /usr/src/rtlinux/include/rtl_time.h handling of the errno and __errno_location caused hard problems. there was some former declaration of those symbols in /usr/include/errno.h. dependent on __KERNEL__ there is some very strange (to me) declaration which i can't remember exactly right now. #ifdef __KERNEL__ extern int * (*__errno_location()); #define errno ... #else extern int errno ?? #endif -- i found no other way as patching the source file, including #ifdef __KERNEL__ #ifdef __DO_KERNELCPP__ ... #endif #else /* __KERNEL__ */ and defining it in my kernel++.h file. oh that is quite a lot ... can anybody tell me if i did some severe changes to my system sources with the above means or is it ok for me. besides that i don't like the fact that i patched a system file directly. as anybody experience in using the stl or similar classes in rt? CU mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
Re: [rtl] rtlinux and C++
Hi Jef, Thursday, November 16, 2000, 3:59:42 PM, you wrote: JDG Hello, JDG I'm not interested in which language you should use best with rtlinux. but i am ;-) ... i tried to use c++ because i wanted to estimate the performance of plain C code and some C++ "object oriented" code. but my humble trials were killed at compile time. i think the macros for using module parameters are not defined in the g++ standard include files and i didn't have the time to track down the definition in the C includes. so i didn't bother about C++ but wrote my tasks in C. did you or anybody else compiled some working C++ kernel modules? CU Alexandermailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
[rtl] Re: resource locking
Hi Dingrong, Tuesday, November 14, 2000, 6:35:55 AM, you wrote: DY I have some questions concerning the communications between user space DY program and the rtlinux program by fifo. DY Consider such a scenerio, one rtlinux's program and one normal linux DY program. The rtlinux program write to a fifo with DY very high rate a structure, and the fifo is created to be the same size DY as that of the structure. The user program read the same structure from DY that same fifo. DY What will happen that during the user program is reading from DY the fifo when rtlinux program come and take the resource over ? I can not DY imagine how this issue be dealt with rtlinux. i think, you have to be aware that it is not guarantied that you always get your data out of the fifo (uncrippled). IMHO the rtlinux task could preempt the userprocess while it is reading the fifo. DY Another issue, consider again a rtlinux process, and a normal process. DY This time the normal process write a structure to a fifo and the rtlinux DY read it. What will happen that when the linux process only write half of DY the fifo when the rtlinux come to read it? same as above ... DY Are such issues are considered already by rtlinux kernel or the user (like DY me) of rtlinux should take care of it ? i think you have to consider some kind of resource locking - or just increase the size of your fifo. thus it is not so important that the tasks read the data all at once. but you could run into the capacity of your fifo, depending on the period of your realtime task. * you might have a look at the rt_fifo package from zentropics. i think i saw some semaphore functions in it. * you could implement your own kind of locking (e.g. shared mem?) ... CU Alexandermailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
Re: [rtl] Async I/O on RT fifos
Hi Arnold, Thursday, November 09, 2000, 11:14:53 AM, you wrote: AR We need asynchronious I/O of RT fifos. The RT kernel task writes data to AR RT fifo and if data are available for Linux user mode process, we want AR to have a SIGIO. We open RT fifo device with O_ASYNC or do fcntl with AR O_ASYNC. I had a look to the source of rtl_fifo.c and I think this AR feature is not yet implemented. Is there a easy patch to change the code AR for async I/O ? or better it's possible to implement it generally? i thought of that too, but the only way i could imagine a scenario like this for the moment is to use the select-call on regular time intervalls. this means that you have to implement some kind of eventloop which calls a non-blocking select on the desired fifo. another alternative would be to create a new task/thread in userspace which does the needed select calls and throws a signal or interrupt if data is present. i don't know exactly if this is possible via a simple fork in your main application, but you could have a look at ACE (the adaptive communication environment) which offers "active objects". those active objects are methods running in independent threads. ACE and TAO webpage: http://www.cs.wustl.edu/~schmidt/TAO.html CU Alexandermailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
Re: [rtl] robust boot and shutdown
Hi Paolo, Friday, November 03, 2000, 12:27:40 PM, you wrote: PM Just a little newbie question: in order to achieve speed and a good robustness of an embedded system, in order to let user to switch off without a shutdown procedure and avoiding those bad PM filesystem checks ), should I load everything on a Ramdisk? Any hints about it ? when i was confronted with that problem, i decided to mount the filesystem read-only. all the parts of the filesystem which need to be writable at runtime are linked to ramdisk filesystems (like the /tmp, /var/... and the /dev directories). in a linux how-to or faq i found a hint by which means you can prevent the fcheck program of checking your disks. i don't remember at the moment but i will dig through my notes if you are interested in it ... CU Alexandermailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/
[rtl] off topic
Hi i have a question not really regarding rtlinux in special. we have to communicate with our a/d adaptor which is realtime capable on its own. the problem is that the task which is installed directly on the adaptors cpu was compiled under DOS/WINDOWS. The task running on the pc (now under linux) was compiled with egcs - which has a 4-byte alignment in contrast to the 1-byte alignment from DOS compilers. so all our structures are different in size and we only transfer bullshit to and from the a/d adaptor. does anybody know the command line switch or pragma to change the default alignment of gnu cc or egcs?? CU Alexander mailto:[EMAIL PROTECTED] -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl Your_email" | mail [EMAIL PROTECTED] --- For more information on Real-Time Linux see: http://www.rtlinux.org/rtlinux/