From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6628 invoked by alias); 3 Jun 2006 16:26:55 -0000 Received: (qmail 6620 invoked by uid 22791); 3 Jun 2006 16:26:54 -0000 X-Spam-Check-By: sourceware.org Received: from smtp1.iitb.ac.in (HELO smtp1.iitb.ac.in) (59.163.25.49) by sourceware.org (qpsmtpd/0.31) with SMTP; Sat, 03 Jun 2006 16:26:51 +0000 Received: (qmail 31713 invoked from network); 3 Jun 2006 21:56:32 +0530 Received: from unknown (HELO ldns1.iitb.ac.in) (10.200.12.1) by smtp1.iitb.ac.in with SMTP; 3 Jun 2006 21:56:32 +0530 Received: (qmail 29820 invoked by uid 509); 3 Jun 2006 16:26:32 -0000 Received: from 10.105.1.1 by ldns1 (envelope-from , uid 501) with qmail-scanner-1.25 (clamdscan: 0.88/1508. spamassassin: 3.1.0. Clear:RC:1(10.105.1.1):. Processed in 0.025895 secs); 03 Jun 2006 16:26:32 -0000 Received: from unknown (HELO cse.iitb.ac.in) (10.105.1.1) by ldns1.iitb.ac.in with SMTP; 3 Jun 2006 16:26:32 -0000 Received: (qmail 7931 invoked by uid 11940); 3 Jun 2006 16:32:18 -0000 Received: from 10.105.1.11 by jeeves.cse.iitb.ac.in (envelope-from , uid 11926) with qmail-scanner-1.25 (clamdscan: 0.87/1507. spamassassin: 3.1.0. Clear:RC:1(10.105.1.11):. Processed in 0.031423 secs); 03 Jun 2006 16:32:18 -0000 Received: from mars.cse.iitb.ac.in ([10.105.1.11]) (envelope-sender ) by cse.iitb.ac.in (qmail-ldap-1.03) with SMTP for ; 3 Jun 2006 16:32:18 -0000 Date: Sat, 03 Jun 2006 16:26:00 -0000 From: R Vamshi Krishna To: Andrew Lunn cc: Fabian Scheler , ecos-discuss@ecos.sourceware.org In-Reply-To: <20060530111112.GK2876@lunn.ch> Message-ID: References: <20060530075335.GG2876@lunn.ch> <69dd805e0605300109k5dcf7986of596c0b5f796c6b4@mail.gmail.com> <20060530081637.GH2876@lunn.ch> <20060530111112.GK2876@lunn.ch> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] Hard-Realtime behaviour X-SW-Source: 2006-06/txt/msg00033.txt.bz2 Sorry for not replying for a few days. In my earlier query about pipeline I was not worried about that level of detail except that it might hinder the task of detecting if a particular task is deterministic. Now I am actually listing all the kernel primitives and the no. of clock-cycles it takes to execute the primitives. How can I do that. I am working on an i386 (Merlin - 25 MHz. Hence no rdtsc() ). Then based upon the latencies of the kernel primitives, we would select primitives and make them more deterministic. This I think would be the first step in making eCos "Hard Real-Time". Also please advise if integration of timing attributes of a process into the thread_creation API and implicit timers/alarms creation necessary. Because this is what RTAI does. Is this necessary. Functions necessary to make eCos "Hard" realtime: @Memory Management: -------------------- Recently read an O(1) implmentation for malloc and free. This was developed as part of OCERA project. Accoording to the authors of the paper, it performs just like Douglas Lea allocator but performance does not degrade with large blocks. Would be future work. @Turning Cache on/off : ----------------------- We can turn of caches when we want "hard" realtime. This option already exists in eCos. @DMA transfers: --------------- This is hardware dependent, although for my project we do not have a hard-disk. @Interrupt Handling : --------------------- I am not fully aware of interrupt handling in eCos. Can some-one explain eCos's interrupt handling w.r.t the mail from Mr. Wolfgang on 29th May. @Integrating timing attributes of a process with the scheduler : --------------------------------------------------------------- This is what I am asking for advise in this mail. @IPC with priority invesion and priority inheritance : ------------------------------------------------------ Already exists. @Realtime TCP/IP stack : ------------------------ To be done. But I am only interested in non-network related programs currently. Can others please reply if I am missing some area that might hinder in making eCos "hard" real-time OS. On Tue, 30 May 2006, Andrew Lunn wrote: > On Tue, May 30, 2006 at 02:36:05PM +0530, R Vamshi Krishna wrote: >> >> Continuing on the discussion, doesn't pipelining on modern processors add >> to our woes. Because then we cannot really determine if a particular >> instruction is going to 'x' cycles or 'y' cycles. > > Realy you need to talk to the silicon vendor, or at least read the > data sheet and see what it says. > > However I think pipelining in itself should not be a problem. It > should be deterministic under normal conditions. Only when things go > wrong will it be none deterministic, ie interrupts, exceptions, cache > misses is you have caches enabled. > > If you are on a processor with HT like technology then i expect the > pipeline becomes none deterministic unless you disable all other > "processors". > > Really, if you are worried about this level of detail, you probably > should be using a Z80, or some similar level of processor technology, > where you know what it is doing. > > Andrew > -- Regards, Vamshi ------------------------------------------------- R.Vamshi Krishna, M.Tech. CSE (II year), IIT Bombay Room no. 320, A-wing, Hostel-12 Mobile : +919869781633 ------------------------------------------------- Yesterday is a past, tomorrow is a future , today is a gift that's why it's called 'present' -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss