Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux: Kernel

[patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01

 

 

Linux kernel RSS feed   Index | Next | Previous | View Threaded


mingo at elte

Apr 21, 2005, 11:27 PM

Post #1 of 17 (1274 views)
Permalink
[patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01

i have released the -V0.7.46-01 Real-Time Preemption patch, which can be
downloaded from the usual place:

http://redhat.com/~mingo/realtime-preempt/

this includes fixes from Daniel Walker, which could fix the plist
related slowdown bugs:

- fix plist_del_init() argument order bug

- fix plist related priority calculation bug in __up_mutex()

to build a -V0.7.46-01 tree, the following patches have to be applied:

http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.12-rc3.bz2
http://redhat.com/~mingo/realtime-preempt/realtime-preempt-2.6.12-rc3-V0.7.46-01

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


mingo at elte

Apr 22, 2005, 12:34 AM

Post #2 of 17 (1234 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

> this includes fixes from Daniel Walker, which could fix the plist
> related slowdown bugs:

there are still some problems remaining: i just ran Esben Nielsen's
priority-inheritance validation testsuite, and the plist code gives a
worst-case latency of 9.0 msecs.

I've reverted the plist changes for now and have uploaded -46-02 - this
gives the expected 1.0 msec worst-case latencies. Diffing -01 against
-02 should give you the latest plist snapshot.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


dwalker at mvista

Apr 22, 2005, 8:48 AM

Post #3 of 17 (1236 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

Is this the PriorityInversionTest (pi_test.tgz) or was there another one?


Daniel


On Fri, 22 Apr 2005, Ingo Molnar wrote:

>
> > this includes fixes from Daniel Walker, which could fix the plist
> > related slowdown bugs:
>
> there are still some problems remaining: i just ran Esben Nielsen's
> priority-inheritance validation testsuite, and the plist code gives a
> worst-case latency of 9.0 msecs.
>
> I've reverted the plist changes for now and have uploaded -46-02 - this
> gives the expected 1.0 msec worst-case latencies. Diffing -01 against
> -02 should give you the latest plist snapshot.
>
> Ingo
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


mingo at elte

Apr 22, 2005, 8:49 AM

Post #4 of 17 (1244 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

* Daniel Walker <dwalker [at] mvista> wrote:

> Is this the PriorityInversionTest (pi_test.tgz) or was there another one?

yes, it's pi_test.tgz.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


dwalker at mvista

Apr 22, 2005, 8:53 AM

Post #5 of 17 (1222 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

What command line did you use ?

./test --samples 10000 --hertz 128 --tasks 0


Daniel

On Fri, 22 Apr 2005, Ingo Molnar wrote:

>
> * Daniel Walker <dwalker [at] mvista> wrote:
>
> > Is this the PriorityInversionTest (pi_test.tgz) or was there another one?
>
> yes, it's pi_test.tgz.
>
> Ingo
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


mingo at elte

Apr 22, 2005, 8:55 AM

Post #6 of 17 (1223 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

* Daniel Walker <dwalker [at] mvista> wrote:

> What command line did you use ?
>
> ./test --samples 10000 --hertz 128 --tasks 0

i used:

./test --tasks 10 file.hist

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


mingo at elte

Apr 22, 2005, 8:56 AM

Post #7 of 17 (1231 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

* Ingo Molnar <mingo [at] elte> wrote:

>
> * Daniel Walker <dwalker [at] mvista> wrote:
>
> > What command line did you use ?
> >
> > ./test --samples 10000 --hertz 128 --tasks 0
>
> i used:
>
> ./test --tasks 10 file.hist

but first i did:

chrt -f 98 -p `pidof 'IRQ 8'`

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


inaky at linux

Apr 22, 2005, 2:06 PM

Post #8 of 17 (1241 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

>>>>> Ingo Molnar <mingo [at] elte> writes:

>> this includes fixes from Daniel Walker, which could fix the plist
>> related slowdown bugs:

> there are still some problems remaining: i just ran Esben Nielsen's
> priority-inheritance validation testsuite, and the plist code gives
> a worst-case latency of 9.0 msecs.

With which machine is this?

I tried to reproduce with V0.7.45-01 in my 2xPIII 0.9 Ghz I cannot get
more than 1.9ms when doing 2000 samples repeatedly (60 iterations and
counting).

Did you use other parameters to 'test'?

# cnt=0
# while true
> do echo -n "$cnt "
> ./test --samples 2000 file.hist 2>&1 | grep maximum; cnt=$(($cnt+1))
> done

With 2.6.12-rc3-V0.7.46-02 I get:

...
2 maximum cycle time: 0.003ms
3 maximum cycle time: 1.706ms
4 maximum cycle time: 1.538ms
5 maximum cycle time: 1.168ms
6 maximum cycle time: 0.003ms
7 maximum cycle time: 0.008ms
8 maximum cycle time: 1.821ms
9 maximum cycle time: 1.013ms
10 maximum cycle time: 1.043ms
11 maximum cycle time: 1.787ms
12 maximum cycle time: 1.519ms
13 ...

roughly the same as with 0.7.45-01:

0 maximum cycle time: 1.872ms
1 maximum cycle time: 0.008ms
2 maximum cycle time: 1.947ms
3 maximum cycle time: 1.902ms
4 maximum cycle time: 1.925ms
5 maximum cycle time: 0.002ms
6 maximum cycle time: 1.950ms
7 maximum cycle time: 0.008ms
8 maximum cycle time: 0.008ms
9 maximum cycle time: 0.008ms
10 maximum cycle time: 1.943ms
11 maximum cycle time: 1.173ms
12 maximum cycle time: 0.008ms
13 maximum cycle time: 0.008ms
...


--

Inaky

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


dwalker at mvista

Apr 22, 2005, 2:15 PM

Post #9 of 17 (1240 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

t
On Fri, 22 Apr 2005, Inaky Perez-Gonzalez wrote:

> >>>>> Ingo Molnar <mingo [at] elte> writes:
>
> >> this includes fixes from Daniel Walker, which could fix the plist
> >> related slowdown bugs:
>
> > there are still some problems remaining: i just ran Esben Nielsen's
> > priority-inheritance validation testsuite, and the plist code gives
> > a worst-case latency of 9.0 msecs.
>
> With which machine is this?
>
> I tried to reproduce with V0.7.45-01 in my 2xPIII 0.9 Ghz I cannot get
> more than 1.9ms when doing 2000 samples repeatedly (60 iterations and
> counting).
>
> Did you use other parameters to 'test'?
>
> # cnt=0
> # while true
> > do echo -n "$cnt "
> > ./test --samples 2000 file.hist 2>&1 | grep maximum; cnt=$(($cnt+1))
> > done
>
> With 2.6.12-rc3-V0.7.46-02 I get:

It's still to high , it should be under a millisecond ..


I'm still testing but the times get better with this patch . I was
initializing the lists to 0, instead of MAX_INT . Let me know if it
changes anything.


Daniel
Attachments: fix_pi_list_init.patch (0.93 KB)


dwalker at mvista

Apr 22, 2005, 2:17 PM

Post #10 of 17 (1240 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

Oops, I missed that you tested a non-plist kernel .. Maybe there are some
lingering problems in current stuff..

Daniel


On Fri, 22 Apr 2005, Inaky Perez-Gonzalez wrote:


> With 2.6.12-rc3-V0.7.46-02 I get:
>
> ...
> 2 maximum cycle time: 0.003ms
> 3 maximum cycle time: 1.706ms
> 4 maximum cycle time: 1.538ms
> 5 maximum cycle time: 1.168ms
> 6 maximum cycle time: 0.003ms
> 7 maximum cycle time: 0.008ms
> 8 maximum cycle time: 1.821ms
> 9 maximum cycle time: 1.013ms
> 10 maximum cycle time: 1.043ms
> 11 maximum cycle time: 1.787ms
> 12 maximum cycle time: 1.519ms
> 13 ...
>


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


dwalker at mvista

Apr 26, 2005, 10:49 AM

Post #11 of 17 (1225 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

On Fri, 2005-04-22 at 08:55, Ingo Molnar wrote:

> i used:
>
> ./test --tasks 10 file.hist


This patch cleanup the delays on increased numbers of tasks. It goes on
to of the current plist snapshot.

Daniel
Attachments: fix_pi_list_init.patch (1.73 KB)


rlrevell at joe-job

Apr 30, 2005, 4:28 PM

Post #12 of 17 (1256 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

On Fri, 2005-04-22 at 08:27 +0200, Ingo Molnar wrote:
> i have released the -V0.7.46-01 Real-Time Preemption patch, which can be
> downloaded from the usual place:
>
> http://redhat.com/~mingo/realtime-preempt/

Ingo,

With Mingming's patch to resolve the ext3 allocate-with-reservation
latency, it looks like we are finally getting close to the lower limit
that can be achieved with PREEMPT_DESKTOP. I've attached the trace of
the lowest latency over several days of testing with
2.6.12-rc3-RT-V0.7.46-02 + Mingming's patch. It's only 127 usecs, and
IIRC you mentioned previously that this code path can't be made
preemptible in !PREEMPT_RT.

Since Mingming's patch will have to live in -mm for a while, can it be
added to the RT patchset as well?

http://lkml.org/lkml/2005/4/22/127

Lee
Attachments: signal-delivery-trace.bz2 (1.91 KB)


mingo at elte

May 4, 2005, 1:22 AM

Post #13 of 17 (1220 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

* Lee Revell <rlrevell [at] joe-job> wrote:

> On Fri, 2005-04-22 at 08:27 +0200, Ingo Molnar wrote:
> > i have released the -V0.7.46-01 Real-Time Preemption patch, which can be
> > downloaded from the usual place:
> >
> > http://redhat.com/~mingo/realtime-preempt/
>
> Ingo,
>
> With Mingming's patch to resolve the ext3 allocate-with-reservation
> latency, it looks like we are finally getting close to the lower limit
> that can be achieved with PREEMPT_DESKTOP. I've attached the trace of
> the lowest latency over several days of testing with
> 2.6.12-rc3-RT-V0.7.46-02 + Mingming's patch. It's only 127 usecs, and
> IIRC you mentioned previously that this code path can't be made
> preemptible in !PREEMPT_RT.

yeah, signal delivery will have to stay atomic in !PREEMPT_RT kernels.

> Since Mingming's patch will have to live in -mm for a while, can it be
> added to the RT patchset as well?

i think so - i'll add it to the next patch.

Ingo

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


mingo at elte

May 4, 2005, 1:24 AM

Post #14 of 17 (1249 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

* Daniel Walker <dwalker [at] mvista> wrote:

> > With 2.6.12-rc3-V0.7.46-02 I get:
>
> It's still to high , it should be under a millisecond ..
>
> I'm still testing but the times get better with this patch . I was
> initializing the lists to 0, instead of MAX_INT . Let me know if it
> changes anything.

could you send me a single patch that adds the plist stuff to the
current tree? (that way i'll have your latest and i'll be able to
add/remove it quicker)

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


rlrevell at joe-job

May 4, 2005, 8:05 AM

Post #15 of 17 (1238 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

On Wed, 2005-05-04 at 10:22 +0200, Ingo Molnar wrote:
> * Lee Revell <rlrevell [at] joe-job> wrote:
> > it looks like we are finally getting close to the lower limit
> > that can be achieved with PREEMPT_DESKTOP ... It's only 127 usecs, and
> > IIRC you mentioned previously that this code path can't be made
> > preemptible in !PREEMPT_RT.
>
> yeah, signal delivery will have to stay atomic in !PREEMPT_RT kernels.
>

OK. I found a few more.

When umounting, shrink_dcache_sb() will produce a 3-4 ms. bump. However
it's not clear this can be made preemptible. AFAICT the whole thing
needs to be under the dcache_lock. This one is pretty obvious so I'm
not attaching a trace.

There's also still one path in the VM related to page freeing that can
produce ~500 usec latencies but I don't have a trace handy now.

> > Since Mingming's patch will have to live in -mm for a while, can it be
> > added to the RT patchset as well?
>
> i think so - i'll add it to the next patch.

OK, great.

Lee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


norv at longforest

May 7, 2005, 8:30 PM

Post #16 of 17 (1243 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

I have tried to build 2.6.12-rc3 kernel with Ingo's
realtime-preempt-2.6.12-rc3-V0.7.46-02 on amd64

When I enabled option 4, Complete Realtime, make bzImage failed as
described in Lee Revell's Apr 12 lkml post:
http://lkml.org/lkml/2005/4/12/523

"HOSTCC scripts/bin2c
CC arch/x86_64/kernel/asm-offsets.s
CHK include/asm-x86_64/offset.h
UPD include/asm-x86_64/offset.h
CC init/main.o
In file included from include/linux/rwsem.h:38,
from include/linux/kobject.h:24,
from include/linux/module.h:19,
from init/main.c:16:
include/asm/rwsem.h:55: error: redefinition of `struct rw_semaphore'
etc etc......"

When I started again with option 3, Low Latency Desktop, the build got a
bit further before hanging: (Full ouput:
http://www.longforest.com/index.php?option=com_content&task=view&id=133&Itemid=2 )

"
CC arch/x86_64/kernel/head64.o
CC arch/x86_64/kernel/init_task.o
arch/x86_64/kernel/init_task.c:17: warning: implicit declaration of
function `__RWSEM_INITIALIZER'
arch/x86_64/kernel/init_task.c:17: warning: missing braces around
initializer

...etc etc etc...

constant
arch/x86_64/kernel/init_task.c:17: error: (near initialization for
`init_mm.default_kioctx')
make[1]: *** [arch/x86_64/kernel/init_task.o] Error 1
make: *** [arch/x86_64/kernel] Error 2"

Please CC any advice (or abuse!),
I can supply further info if required
Cheers,
Norv

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/


mingo at elte

May 9, 2005, 12:23 AM

Post #17 of 17 (1222 views)
Permalink
Re: [patch] Real-Time Preemption, -RT-2.6.12-rc3-V0.7.46-01 [In reply to]

* Daniel Walker <dwalker [at] mvista> wrote:

> On Fri, 2005-04-22 at 08:55, Ingo Molnar wrote:
>
> > i used:
> >
> > ./test --tasks 10 file.hist
>
> This patch cleanup the delays on increased numbers of tasks. It goes
> on to of the current plist snapshot.

ok, these fixes for priority init appear to have solved the pi-test
latencies. I've uploaded the -rc4-RT-V0.7.47-00 patch with the plist
code re-added again. It's looking good so far on my testboxes.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo [at] vger
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Linux kernel RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.