All of lore.kernel.org
 help / color / mirror / Atom feed
* rt for newbie
@ 2011-10-27 17:58 Sashka
  2011-10-27 19:01 ` jordan
  0 siblings, 1 reply; 10+ messages in thread
From: Sashka @ 2011-10-27 17:58 UTC (permalink / raw)
  To: linux-rt-users

HI,

 I'm new to rt-linux.Didn't know where to find answers for my
questions. Hope this is right place.
 When I started researching what are requirement for rt kernel, I
found couple guides which somehow  were telling to do completely
opposite things.  (for example: you need to disable acpi.. and another
you need acpi for high frequency timer). Guides I found were for
kernel 2.6.x and I see now there is 3.0 kernel and rt patch was
rewritten, if I understood correctly.

 Can you point me into right direction on how properly configure 3.0-rt.
 Is 3.0-rt considered stable?

Sashka

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

* Re: rt for newbie
  2011-10-27 17:58 rt for newbie Sashka
@ 2011-10-27 19:01 ` jordan
  2011-10-27 19:47   ` Sashka
  0 siblings, 1 reply; 10+ messages in thread
From: jordan @ 2011-10-27 19:01 UTC (permalink / raw)
  To: sashka; +Cc: linux-rt-users

>  I'm new to rt-linux.Didn't know where to find answers for my
> questions. Hope this is right place.
>  When I started researching what are requirement for rt kernel, I
> found couple guides which somehow  were telling to do completely
> opposite things.  (for example: you need to disable acpi.. and another
> you need acpi for high frequency timer). Guides I found were for
> kernel 2.6.x and I see now there is 3.0 kernel and rt patch was
> rewritten, if I understood correctly.

What Linux distribution are you using? - for example, if you are using
Ubuntu, you can probably get an rt-kernel either from a PPA, or the
Kxstudio repositories. Archlinux has packages available in AUR (Arch
User Repository). Fedora should also have rt-kernels available through
Planet CCRMA.

>  Can you point me into right direction on how properly configure 3.0-rt.
>  Is 3.0-rt considered stable?

It's pretty stable over here;

[ninez@ninez ~]$ uname -a
Linux ninez 3.0-rt #1 SMP PREEMPT RT Sat Oct 22 11:44:07 EDT 2011
x86_64 AMD Phenom(tm) II X4 965 Processor AuthenticAMD GNU/Linux

I am using the last official release, linux-rt 3.0.7-rt20. it works
very well, although i had to patch the kernel to allow the proprietary
Nvidia driver to build and install properly. (this isn't included in
the RT patch, as it violates the GPL, and thus the patch cannot be
distributed).

I'm using Archlinux, and to 'point you in the right direction' as to
what needs to be enabled/disabled in the kernel .config ... i will
point you to the AUR for linux-rt. From there just download the
tarball. after unzipping it, you will see the latest rt-patches,
configs for x86 (labeled config) and x86_64 ...

https://aur.archlinux.org/packages.php?ID=51360

That PKGBUILD also has links to the kernel sources, but doesn't
include them in the tarball or anything. Arch's PKGBUILDs are like
gentoo's ebuild's , you run the script and it downloads the sources,
patches them, compiles it and installs it. (it does all the work).

I myself, haven't seen any tutorials for linux-rt 3.0 , but i if
someone else knows, i am sure they will pass along a link.

I would be surprised though, if you couldn't find RT already built,
assuming you are using one of the major distros.

cheerz
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: rt for newbie
  2011-10-27 19:01 ` jordan
@ 2011-10-27 19:47   ` Sashka
  2011-10-27 20:47     ` jordan
  2011-10-27 22:21     ` Carsten Emde
  0 siblings, 2 replies; 10+ messages in thread
From: Sashka @ 2011-10-27 19:47 UTC (permalink / raw)
  To: linux-rt-users

Hi,

> What Linux distribution are you using?
I should have mentioned that. I've got Centos 6.

> I'm using Archlinux, and to 'point you in the right direction' as to
> what needs to be enabled/disabled in the kernel .config ... i will
> point you to the AUR for linux-rt. From there just download the
> tarball. after unzipping it, you will see the latest rt-patches,
> configs for x86 (labeled config) and x86_64 ...
>
> https://aur.archlinux.org/packages.php?ID=51360
thanks

> I would be surprised though, if you couldn't find RT already built,
> assuming you are using one of the major distros.
I've got it build several time. I'm confused with all those different
guides telling me what to enable and disable. Most of them are
outdated, as I can see.
rtwiki is down for some time, so I can't see if there is anything
updated to 3.0-rt.

Thanks.

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

* Re: rt for newbie
  2011-10-27 19:47   ` Sashka
@ 2011-10-27 20:47     ` jordan
  2011-10-27 22:21     ` Carsten Emde
  1 sibling, 0 replies; 10+ messages in thread
From: jordan @ 2011-10-27 20:47 UTC (permalink / raw)
  To: sashka; +Cc: linux-rt-users

On Thu, Oct 27, 2011 at 3:47 PM, Sashka <sashka@mail.ru> wrote:
> Hi,
>
>> What Linux distribution are you using?
> I should have mentioned that. I've got Centos 6.

Ah, now i see. You alsmot definitely have to compile it yourself. ;)

>> https://aur.archlinux.org/packages.php?ID=51360
> thanks

No, problem.

> I've got it build several time. I'm confused with all those different
> guides telling me what to enable and disable. Most of them are
> outdated, as I can see.
> rtwiki is down for some time, so I can't see if there is anything
> updated to 3.0-rt.

Yeah, that is the unfortunate way of the internet, and also the lack
of good documentation available in some situations relating to linux.

That being said, you could actually look inside the PKGBUILD for
linux-rt, and see from the commandline how various things were
applied. ie: the patching, etc. it's just that obviously, because Arch
isn't CentOS - not everything applies.

but it might be helpful anyways, you can check that, and consult
CentOS/RHEL documentation for the rest (which it sounds like you
already know anyway).

cheerz

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

* Re: rt for newbie
  2011-10-27 19:47   ` Sashka
  2011-10-27 20:47     ` jordan
@ 2011-10-27 22:21     ` Carsten Emde
  2011-10-28  7:37       ` Dennis Borgmann
  2011-10-28 13:29       ` Sashka
  1 sibling, 2 replies; 10+ messages in thread
From: Carsten Emde @ 2011-10-27 22:21 UTC (permalink / raw)
  To: sashka; +Cc: linux-rt-users

Sashka,

> [..]
> I've got it build several time. I'm confused with all those different
> guides telling me what to enable and disable. Most of them are
> outdated, as I can see.
The usual recommendation is:

1. Get the config of your distro
# cd /usr/src/kernels/linux-3.0.7-rt20
# cp /boot/config-`uname -r` .config

2. Configure the kernel for RT
# make menuconfig
Processor type and features  --->
       [ ] Tickless System (Dynamic Ticks)
       Preemption Model (Fully Preemptible Kernel (RT))  --->
Kernel hacking  --->
       [ ] Check for stack overflows

To check out the new kernel for its RT capabilities:
# cd /usr/src
# git clone https://github.com/clrkwllms/rt-tests
# cd rt-tests
# make rpm
# rpm -ivh RPMS/*/rt-tests*.rpm
# cyclictest -m -Sp99 -i100 -d0

Let us know what worst-case latency you got.

	-Carsten.

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

* Re: rt for newbie
  2011-10-27 22:21     ` Carsten Emde
@ 2011-10-28  7:37       ` Dennis Borgmann
  2011-10-28 16:50         ` Carsten Emde
  2011-10-28 13:29       ` Sashka
  1 sibling, 1 reply; 10+ messages in thread
From: Dennis Borgmann @ 2011-10-28  7:37 UTC (permalink / raw)
  To: Carsten Emde; +Cc: sashka, linux-rt-users

Hi Carsten,

I think, your small "howto" is a little confusing. You are describing 
the kernel options needed for RT-capabilities, but there is no asterisk 
within the square brackets in order to show, that they should be 
enabled. The way it is written in your email, it seems like they should 
be disabled. Or did you really mean to disable the "Tickless System" 
option and the "Check for stack overflows" option?

Best regards,
Dennis


Am 28.10.2011 00:21, schrieb Carsten Emde:
> Sashka,
>
>> [..]
>> I've got it build several time. I'm confused with all those different
>> guides telling me what to enable and disable. Most of them are
>> outdated, as I can see.
> The usual recommendation is:
>
> 1. Get the config of your distro
> # cd /usr/src/kernels/linux-3.0.7-rt20
> # cp /boot/config-`uname -r` .config
>
> 2. Configure the kernel for RT
> # make menuconfig
> Processor type and features  --->
>       [ ] Tickless System (Dynamic Ticks)
>       Preemption Model (Fully Preemptible Kernel (RT))  --->
> Kernel hacking  --->
>       [ ] Check for stack overflows
>
> To check out the new kernel for its RT capabilities:
> # cd /usr/src
> # git clone https://github.com/clrkwllms/rt-tests
> # cd rt-tests
> # make rpm
> # rpm -ivh RPMS/*/rt-tests*.rpm
> # cyclictest -m -Sp99 -i100 -d0
>
> Let us know what worst-case latency you got.
>
>     -Carsten.
> -- 
> To unsubscribe from this list: send the line "unsubscribe 
> linux-rt-users" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

* Re: rt for newbie
  2011-10-27 22:21     ` Carsten Emde
  2011-10-28  7:37       ` Dennis Borgmann
@ 2011-10-28 13:29       ` Sashka
  2011-10-28 17:11         ` Carsten Emde
  1 sibling, 1 reply; 10+ messages in thread
From: Sashka @ 2011-10-28 13:29 UTC (permalink / raw)
  To: Carsten Emde; +Cc: linux-rt-users

Carsten,

 Thank you.
 Did I understand you correctly, I need to disable Dynamic Ticks and
Check for stack overflow?
 If yes, then here are my results

# cyclictest -m -Sp99 -i100 -d0
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.01 0.09 0.05 2/122 2187

T: 0 ( 2180) P:99 I:100 C:1969005 Min:      1 Act:    2 Avg:    1 Max:      10
T: 1 ( 2181) P:99 I:100 C:1968946 Min:      1 Act:    2 Avg:    2 Max:      69
T: 2 ( 2182) P:99 I:100 C:1968888 Min:      1 Act:    2 Avg:    2 Max:      12
T: 3 ( 2183) P:99 I:100 C:1968829 Min:      1 Act:    2 Avg:    2 Max:      52
T: 4 ( 2184) P:99 I:100 C:1968770 Min:      1 Act:    2 Avg:    1 Max:      10
T: 5 ( 2185) P:99 I:100 C:1968712 Min:      1 Act:    5 Avg:    2 Max:       9
T: 6 ( 2186) P:99 I:100 C:1968654 Min:      1 Act:    2 Avg:    2 Max:      55
T: 7 ( 2187) P:99 I:100 C:1968594 Min:      1 Act:    2 Avg:    1 Max:      17

CPU I've got is Xeon X5472  @ 3.00GHz

-Sashka


On Thu, Oct 27, 2011 at 6:21 PM, Carsten Emde <Carsten.Emde@osadl.org> wrote:
> Sashka,
>
>> [..]
>> I've got it build several time. I'm confused with all those different
>> guides telling me what to enable and disable. Most of them are
>> outdated, as I can see.
>
> The usual recommendation is:
>
> 1. Get the config of your distro
> # cd /usr/src/kernels/linux-3.0.7-rt20
> # cp /boot/config-`uname -r` .config
>
> 2. Configure the kernel for RT
> # make menuconfig
> Processor type and features  --->
>      [ ] Tickless System (Dynamic Ticks)
>      Preemption Model (Fully Preemptible Kernel (RT))  --->
> Kernel hacking  --->
>      [ ] Check for stack overflows
>
> To check out the new kernel for its RT capabilities:
> # cd /usr/src
> # git clone https://github.com/clrkwllms/rt-tests
> # cd rt-tests
> # make rpm
> # rpm -ivh RPMS/*/rt-tests*.rpm
> # cyclictest -m -Sp99 -i100 -d0
>
> Let us know what worst-case latency you got.
>
>        -Carsten.
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: rt for newbie
  2011-10-28  7:37       ` Dennis Borgmann
@ 2011-10-28 16:50         ` Carsten Emde
  0 siblings, 0 replies; 10+ messages in thread
From: Carsten Emde @ 2011-10-28 16:50 UTC (permalink / raw)
  To: Dennis Borgmann; +Cc: sashka, linux-rt-users

Hi Dennis,

>>  [..]
>> 2. Configure the kernel for RT
>> # make menuconfig
>> Processor type and features --->
>> [ ] Tickless System (Dynamic Ticks)
>> Preemption Model (Fully Preemptible Kernel (RT)) --->
>> Kernel hacking --->
>> [ ] Check for stack overflows
> I think, your small "howto" is a little confusing. You are describing
> the kernel options needed for RT-capabilities, but there is no asterisk
> within the square brackets in order to show, that they should be
> enabled. The way it is written in your email, it seems like they should
> be disabled. Or did you really mean to disable the "Tickless System"
> option and the "Check for stack overflows" option?
Thank you for pointing this out. My description may, indeed, be 
misleading. I simply wanted to show how the line of the configuration 
menu should look like, i.e. not crossed -> not enabled.

Checking for stack overflows almost certainly leads to a longer 
worst-case latency and, while tickless operating is good for the 
financial budget, it may be bad for the real-time behavior. The latter 
applies to a configuration that allows the processor to enter a sleep 
state when idle and to a situation when rarely occurring external events 
trigger a real-time process so the processor has time to go to sleep.

Thanks,
	-Carsten.

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

* Re: rt for newbie
  2011-10-28 13:29       ` Sashka
@ 2011-10-28 17:11         ` Carsten Emde
  2011-10-31  8:26           ` Dennis Borgmann
  0 siblings, 1 reply; 10+ messages in thread
From: Carsten Emde @ 2011-10-28 17:11 UTC (permalink / raw)
  To: sashka; +Cc: linux-rt-users

Sashka,

> Did I understand you correctly, I need to disable Dynamic Ticks and
> Check for stack overflow?
Yes.

> If yes, then here are my results
Thank you.

> # cyclictest -m -Sp99 -i100 -d0
> # /dev/cpu_dma_latency set to 0us
> policy: fifo: loadavg: 0.01 0.09 0.05 2/122 2187
>
> T: 0 ( 2180) P:99 I:100 C:1969005 Min:      1 Act:    2 Avg:    1 Max:      10
> T: 1 ( 2181) P:99 I:100 C:1968946 Min:      1 Act:    2 Avg:    2 Max:      69
> T: 2 ( 2182) P:99 I:100 C:1968888 Min:      1 Act:    2 Avg:    2 Max:      12
> T: 3 ( 2183) P:99 I:100 C:1968829 Min:      1 Act:    2 Avg:    2 Max:      52
> T: 4 ( 2184) P:99 I:100 C:1968770 Min:      1 Act:    2 Avg:    1 Max:      10
> T: 5 ( 2185) P:99 I:100 C:1968712 Min:      1 Act:    5 Avg:    2 Max:       9
> T: 6 ( 2186) P:99 I:100 C:1968654 Min:      1 Act:    2 Avg:    2 Max:      55
> T: 7 ( 2187) P:99 I:100 C:1968594 Min:      1 Act:    2 Avg:    1 Max:      17
>
> CPU I've got is Xeon X5472  @ 3.00GHz
These data look very promising.

In a next step, you may want run a billion cycles (-l1000000000) which 
takes a bit more than a day and apply a load scenario that reflects the 
load to be expected under production conditions. This will provide 
already a good estimate of the worst-case latency of the system.

The worst-case latency can be reduced further, if you disable throttling:
# cd /sys/devices/system/cpu
# for i in cpu*/cpufreq/scaling_governor
 > do
 > echo performance >$i
 > done

	-Carsten.

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

* Re: rt for newbie
  2011-10-28 17:11         ` Carsten Emde
@ 2011-10-31  8:26           ` Dennis Borgmann
  0 siblings, 0 replies; 10+ messages in thread
From: Dennis Borgmann @ 2011-10-31  8:26 UTC (permalink / raw)
  To: Carsten Emde; +Cc: sashka, linux-rt-users

Hi Carsten,

these are really good hints for working with the patches and getting the 
best out of it or to estimate, how good the performance will be.

Besides the fact, that it is good to know such things right now, I ask 
myself, where on the web to find such infos - and maybe even more? This 
is the first time, that I read about such things...

So, where to find more about this?

Best regards,
Dennis


Am 28.10.2011 19:11, schrieb Carsten Emde:
> Sashka,
>
>> Did I understand you correctly, I need to disable Dynamic Ticks and
>> Check for stack overflow?
> Yes.
>
>> If yes, then here are my results
> Thank you.
>
>> # cyclictest -m -Sp99 -i100 -d0
>> # /dev/cpu_dma_latency set to 0us
>> policy: fifo: loadavg: 0.01 0.09 0.05 2/122 2187
>>
>> T: 0 ( 2180) P:99 I:100 C:1969005 Min:      1 Act:    2 Avg:    1 
>> Max:      10
>> T: 1 ( 2181) P:99 I:100 C:1968946 Min:      1 Act:    2 Avg:    2 
>> Max:      69
>> T: 2 ( 2182) P:99 I:100 C:1968888 Min:      1 Act:    2 Avg:    2 
>> Max:      12
>> T: 3 ( 2183) P:99 I:100 C:1968829 Min:      1 Act:    2 Avg:    2 
>> Max:      52
>> T: 4 ( 2184) P:99 I:100 C:1968770 Min:      1 Act:    2 Avg:    1 
>> Max:      10
>> T: 5 ( 2185) P:99 I:100 C:1968712 Min:      1 Act:    5 Avg:    2 
>> Max:       9
>> T: 6 ( 2186) P:99 I:100 C:1968654 Min:      1 Act:    2 Avg:    2 
>> Max:      55
>> T: 7 ( 2187) P:99 I:100 C:1968594 Min:      1 Act:    2 Avg:    1 
>> Max:      17
>>
>> CPU I've got is Xeon X5472  @ 3.00GHz
> These data look very promising.
>
> In a next step, you may want run a billion cycles (-l1000000000) which 
> takes a bit more than a day and apply a load scenario that reflects 
> the load to be expected under production conditions. This will provide 
> already a good estimate of the worst-case latency of the system.
>
> The worst-case latency can be reduced further, if you disable throttling:
> # cd /sys/devices/system/cpu
> # for i in cpu*/cpufreq/scaling_governor
> > do
> > echo performance >$i
> > done
>
>     -Carsten.
> -- 
> To unsubscribe from this list: send the line "unsubscribe 
> linux-rt-users" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

end of thread, other threads:[~2011-10-31  8:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-27 17:58 rt for newbie Sashka
2011-10-27 19:01 ` jordan
2011-10-27 19:47   ` Sashka
2011-10-27 20:47     ` jordan
2011-10-27 22:21     ` Carsten Emde
2011-10-28  7:37       ` Dennis Borgmann
2011-10-28 16:50         ` Carsten Emde
2011-10-28 13:29       ` Sashka
2011-10-28 17:11         ` Carsten Emde
2011-10-31  8:26           ` Dennis Borgmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.