2009-03-10 06:29:37

by tip-bot for Wu Zhangjin

[permalink] [raw]
Subject: Re: the current status of RT_PREEMPT for mips

wuzj@xxxxxxxxxx wrote:
>> HI!
>>
>> I'm planning to port RE_PREEMPT to loongson2f(a mipsel compatible
>> processor), the "FAQ" web page of RTWiKi(rt.wiki.kernel.org) shows that
>> "There are systems representing the x86, x86_64, ARM, MIPS, and Power
>> architectures using the CONFIG_PREEMPT_RT patch.", does it means that
>> RT_PREEMPT support MIPS architecture? because i can not find any more
>> information about it, I tried to use the latest RT_PREEMPT on qemu
>> 0.9.1/mipssim, it can not boot, so I come to get your help, could you give
>> any current status of RT_PREEMPT for mips? such as:
>>
>> 1. does the latest RT_PREEMPT(for linux 2.6.26.8) support MIPS
>> architecture? or any older one support it?
>> 2. if Yes, which MIPS processors have been successfully running
RT_PREEMPT?
>>
>> looking forward to your reply, thanks!
>>
>> Best Regards,
>> falcon

> I do not have information for current versions of the kernel, but last year
> I was running 2.6.24-rt1 on a Toshiba tx4937 to do some experiments.

thanks very much, currently, there are two versions of rt-preempt working
on fuloong box(loongson2f based machine), one is linux-2.6.26.8, another
is the latest linux-2.6.29-rc6.

and i have tested them via rt-tests, the result is like this:

0% load: < 29us
100% load: < 130 us

> I have a few trivial patches for the latency tracer, but if you use a newer
> kernel they are not needed because ftrace replaced the latency tracer
> in 2.6.24-rt2.

now, ftrace have been migrated to mipsel(loongson2f), including the 32bit
and 64bit. but dyn-ftrace not work yet, which should be fixed later.

and about timestamp information in ftrace, the sched_clock(called by
ring_buffer_time_stamp) have not enough precision(only 1000us) on
mips(loongson2f), i have tried to fix it via adding it with the tsc
time(in kernel/trace/ring_buffer.c):

cyc2ns(clock, clock->read() - clock->cycle_last)

which seems works well(achieve 1us). and i have tried to call
getnstimeofday directly, but it will result in deadlock.

> -Frank Rowand
> Sony Corporation of America

the attachments include two files:

patch-2.6.29-rc6-fl-090305 linux patch for loongson2f
patch-2.6.29-rc6-fl-rt-ftrace-mips rt-preempt patch for mipsel(loongson2f)

usage:

1. download the following files

from http://www.kernel.org:

linux-2.6.28.tar.gz
patch-2.6.29-rc6

from http://www.kernel.org/pub/linux/kernel/projects/rt/:

patch-2.6.29-rc6-rt3

2. decompress linux kernel
3. patch the following patches one by one

patch-2.6.29-rc6
patch-2.6.29-rc6-fl-090305
patch-2.6.29-rc6-rt3
patch-2.6.29-rc6-fl-rt-ftrace-mips

4. configure, compile and use it.

PS: kft(Kernel function tracing) patch for linux-2.6.29-rc6 is also
running on loongson2f now.


Attachments:
patch-2.6.29-rc6-fl-090305.tar.gz (189.83 kB)
patch-2.6.29-rc6-fl-rt-ftrace-mips.tar.gz (14.53 kB)
Download all attachments