From owner-freebsd-realtime@FreeBSD.ORG Sun Jul 30 21:11:41 2006 Return-Path: X-Original-To: freebsd-realtime@freebsd.org Delivered-To: freebsd-realtime@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5509216A4DD for ; Sun, 30 Jul 2006 21:11:41 +0000 (UTC) (envelope-from arne_woerner@yahoo.com) Received: from web30310.mail.mud.yahoo.com (web30310.mail.mud.yahoo.com [68.142.200.103]) by mx1.FreeBSD.org (Postfix) with SMTP id EEF7543D49 for ; Sun, 30 Jul 2006 21:11:40 +0000 (GMT) (envelope-from arne_woerner@yahoo.com) Received: (qmail 24076 invoked by uid 60001); 30 Jul 2006 21:11:40 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=zkEodGYZe0/Mu1h/Gd/bQ4/lnz9kZxKkW4SLMXiXfDXv/Bi/+9+RE0telE/i+AAgwywRvktwDh/b3UZ0XjgXJvRx5IrjryebkPigZfRJL4OM6DJYG3emoH0qwBxFvHZELycQjdAE9kKJsdYbYH/BGuTmGOOg0Da6q11mzkufivo= ; Message-ID: <20060730211140.24074.qmail@web30310.mail.mud.yahoo.com> Received: from [213.54.79.55] by web30310.mail.mud.yahoo.com via HTTP; Sun, 30 Jul 2006 14:11:40 PDT Date: Sun, 30 Jul 2006 14:11:40 -0700 (PDT) From: "R. B. Riddick" To: David Godsey , freebsd-realtime@freebsd.org In-Reply-To: <3945.71.213.169.51.1154290426.squirrel@godseyfamily.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Cc: Subject: Re: Information Sites X-BeenThere: freebsd-realtime@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Realtime extensions per POSIX 1003.4" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Jul 2006 21:11:41 -0000 --- David Godsey wrote: > So I have been combing the internet for information on realtime FreeBSD, > but the information is limited. So there must be some more information > out there, but I do not know where to look. Can someone direct me please? > Hmm... I do not have practical experience in real time operations (just my mostly theoretical studies of task scheduling and control engineering), so I can only hope my contribution is not too useless/stupid... :-) I say, have u read the man page rtprio(2) and polling(4)? I would guess, that u might want to set kern.clockrate to something high (1000..2000) (e. g. via /boot/loader.conf's kern.hz). Furthermore I would recommend, that u do some tests/research/experiments in ur specific environment (remember: real time constraints can be very different (e. g. a simple electronic calculator is ok, when u just want to compute the taxes in a shop or in a restaurant, but when u want to compute the course of Cpt. Picard's Enterprise (StarTrek) u would need something faster (or it might get struck by some kind of lightning or get stuck in a sun))). In this case here it is the question, if u can tolerate fluctuations in scheduling accuracy (response time) due to voluntary/unpredictable/dynamically-scheduled kernel activity (I think polling(4) could just help (a little) with network devices, so that hard disc activity can still hinder real time tasks). >From the point of view of digital control engineering operating systems like *BSD are no real real-time operating systems... Real real-time operating systems are obviously able to guarantee a very high scheduling accuracy... I just did this litte experiment with (avg. about 1.3Mbit/sec, peak about 16Mbit/sec) disc traffic at the same time and a clock rate of 1000Hz: > rtprio rtprio: normal priority > repeat 10 time sleep .2 0.007u 0.015s 0:00.22 4.5% 12+396k 0+0io 0pf+0w 0.000u 0.030s 0:00.23 13.0% 182+1332k 0+0io 0pf+0w 0.000u 0.032s 0:00.23 13.0% 181+1288k 0+0io 0pf+0w 0.010u 0.021s 0:00.23 13.0% 276+2064k 0+0io 0pf+0w 0.006u 0.026s 0:00.24 8.3% 144+1230k 0+0io 0pf+0w 0.000u 0.029s 0:00.23 8.6% 136+966k 0+0io 0pf+0w 0.000u 0.032s 0:00.24 12.5% 185+1420k 0+0io 0pf+0w 0.021u 0.010s 0:00.24 12.5% 182+1332k 0+0io 0pf+0w 0.006u 0.025s 0:00.28 7.1% 278+2130k 0+0io 0pf+0w 0.008u 0.026s 0:00.24 8.3% 276+2064k 0+0io 0pf+0w neo# rtprio 30 -$$ neo# rtprio rtprio: realtime priority 30 neo# repeat 10 time sleep .3 0.000u 0.025s 0:00.33 6.0% 138+1018k 0+0io 0pf+0w 0.000u 0.028s 0:00.33 6.0% 276+2036k 0+0io 0pf+0w 0.000u 0.027s 0:00.33 6.0% 140+1084k 0+0io 0pf+0w 0.000u 0.028s 0:00.33 6.0% 138+1018k 0+0io 0pf+0w 0.006u 0.024s 0:00.32 6.2% 412+2988k 0+0io 0pf+0w 0.000u 0.026s 0:00.32 6.2% 138+1018k 0+0io 0pf+0w 0.006u 0.020s 0:00.47 4.2% 274+1970k 0+0io 0pf+0w 0.006u 0.019s 0:00.32 3.1% 552+4072k 0+0io 0pf+0w 0.000u 0.013s 0:00.31 3.2% 276+2036k 0+0io 0pf+0w 0.000u 0.014s 0:00.31 3.2% 276+2036k 0+0io 0pf+0w -Arne __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com