public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Priority Inheritance Test (Real-Time Preemption)
@ 2004-11-21 20:29 Esben Nielsen
  2004-11-22  0:27 ` Ingo Molnar
  2004-11-22  9:23 ` Bill Huey
  0 siblings, 2 replies; 43+ messages in thread
From: Esben Nielsen @ 2004-11-21 20:29 UTC (permalink / raw)
  To: linux-kernel

Hi,
 From realfeel I wrote a small, simple test to test how well priority
inheritance mechanism works. 

Basicly it samples how long a real-time task have to wait to get into a
protected region while non-real-time tasks also try to get into the
region (a character device). Their "job" in the region is to busy-loop for
1 ms. This ought to mimic how drivers and other parts of the kernel would
work in a real real-time application: Real time tasks using the driver
while non-real-time tasks also use the same driver.

With an ideal PI mutex the time the real-time task has to wait to get the
lock should be between 0 and 1 ms. 0 when the mutex is uncongested and 1
ms when one of the non-real-time tasks just got the mutex.

I tested it on V0.7.26-0 and my own U9.2-priom. Both implementations fails
when the mutex is congested by more than 1 non-real-time task. It works
well enough when there is only one non-real-time task trying to get the
mutex, but as soon as there are more it could look like the real-time task
not always is the first on the wait queue. I.e. sometimes it has to wait 2
ms! With 4 non-real-time tasks the most common is 1-2 ms!

Code, detailed description and data can be found at
 http://www.phys.au.dk/~simlo/Linux/pi_test.tgz

Esben




^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2004-11-30  8:50 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-21 20:29 Priority Inheritance Test (Real-Time Preemption) Esben Nielsen
2004-11-22  0:27 ` Ingo Molnar
2004-11-23 13:34   ` Ingo Molnar
2004-11-23 15:47     ` Esben Nielsen
2004-11-23 23:03     ` Esben Nielsen
2004-11-24  3:42       ` Ingo Molnar
2004-11-24  7:51         ` Ingo Molnar
2004-11-24  8:07       ` Ingo Molnar
2004-11-24  8:33         ` Esben Nielsen
2004-11-24  9:55           ` Ingo Molnar
2004-11-24 10:18       ` Ingo Molnar
2004-11-25 15:46         ` Esben Nielsen
2004-11-25 16:58           ` Ingo Molnar
2004-11-25 16:08             ` Esben Nielsen
2004-11-25 17:14               ` Ingo Molnar
2004-11-25 22:08             ` Esben Nielsen
2004-11-26  1:08               ` Ingo Molnar
2004-11-26  0:34                 ` Ingo Molnar
2004-11-26  0:37                   ` Ingo Molnar
2004-11-26  8:52                     ` Esben Nielsen
2004-11-26 16:26                 ` Esben Nielsen
2004-11-26 20:41                   ` Ingo Molnar
2004-11-26 21:05                     ` Ingo Molnar
2004-11-27 23:05                       ` Esben Nielsen
2004-11-28  8:42                         ` Ingo Molnar
2004-11-28 15:55                           ` Esben Nielsen
2004-11-29  9:59                             ` Ingo Molnar
2004-11-29 15:07                               ` Esben Nielsen
2004-11-29 15:56                                 ` Ingo Molnar
2004-11-29 15:57                                   ` Ingo Molnar
2004-11-29 16:50                                     ` Esben Nielsen
2004-11-30  8:49                                       ` Ingo Molnar
2004-11-22  9:23 ` Bill Huey
2004-11-22 12:37   ` Ingo Molnar
2004-11-22 21:25     ` Bill Huey
2004-11-22 14:16   ` john cooper
2004-11-22 15:24     ` Ingo Molnar
2004-11-23  1:19       ` john cooper
2004-11-23  8:13         ` Esben Nielsen
2004-11-23  9:21         ` Ingo Molnar
2004-11-22 21:30     ` Bill Huey
2004-11-23  1:34       ` john cooper
2004-11-22 16:12   ` Esben Nielsen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox