[OBSOLETE?] CONFIG_PREEMPT_RT_FULL config parameter in 4.19?!


Zoran
 

Hello Ben, Daniel,

I started my own investigation about RT kernels, namely 4.19. I
proceed very carefully over the kernel config parameters... BUt the
last one I inspected today got me nowhere!?

Seems, that the following config parameters are obsolete in 4.19:
CONFIG_PREEMPT_RT_FULL

This one (CONFIG_PREEMPT_RT_FULL) is still present in 4.4 .

[vuser@fedora30-ssd kernel-config]$ cat CONFIG-4.4.120-rt-bbb | grep PREEMPT
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RT_BASE=y
CONFIG_HAVE_PREEMPT_LAZY=y
CONFIG_PREEMPT_LAZY=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT__LL is not set
# CONFIG_PREEMPT_RTB is not set
CONFIG_PREEMPT_RT_FULL=y <<======= Obsolete in 4.19 ?
CONFIG_PREEMPT_COUNT=y
CONFIG_DEBUG_PREEMPT=y
[vuser@fedora30-ssd kernel-config]$

What I should do to maintain RT-kernel-4.19? It is obvious, I must/need to set:
CONFIG_PREEMPT=y

Anything else?

Any viable/reasonable explanation why CONFIG_PREEMPT_RT_FULL was
removed in 4.19?

Thank you,
Zoran Stojsavljevic
_______


Ben Hutchings <ben.hutchings@...>
 

On Fri, 2019-07-19 at 15:31 +0200, Zoran S wrote:
Hello Ben, Daniel,

I started my own investigation about RT kernels, namely 4.19. I
proceed very carefully over the kernel config parameters... BUt the
last one I inspected today got me nowhere!?

Seems, that the following config parameters are obsolete in 4.19:
CONFIG_PREEMPT_RT_FULL
[...]

This never existed in the upstream kernel, only in -rt branches. It
still exists in 4.19-rt.

Ben.

--
Ben Hutchings, Software Developer Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United Kingdom


Pavel Machek
 

Hi!

I started my own investigation about RT kernels, namely 4.19. I
proceed very carefully over the kernel config parameters... BUt the
last one I inspected today got me nowhere!?

Seems, that the following config parameters are obsolete in 4.19:
CONFIG_PREEMPT_RT_FULL

This one (CONFIG_PREEMPT_RT_FULL) is still present in 4.4 .

[vuser@fedora30-ssd kernel-config]$ cat CONFIG-4.4.120-rt-bbb | grep PREEMPT
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RT_BASE=y
CONFIG_HAVE_PREEMPT_LAZY=y
CONFIG_PREEMPT_LAZY=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT__LL is not set
# CONFIG_PREEMPT_RTB is not set
CONFIG_PREEMPT_RT_FULL=y <<======= Obsolete in 4.19 ?
CONFIG_PREEMPT_COUNT=y
CONFIG_DEBUG_PREEMPT=y
[vuser@fedora30-ssd kernel-config]$

What I should do to maintain RT-kernel-4.19? It is obvious, I must/need to set:
CONFIG_PREEMPT=y
Are you sure you have your kernel patched with -rt patches?
CONFIG_PREEMPT_RT_FULL=y was still needed in 4.19, AFAICT.

Note that not every piece of hardware has suitable characteristics for
realtime / low latencies.

Best regards,
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


Zoran
 

> This never existed in the upstream kernel, only in -rt branches.
> It still exists in 4.19-rt.

Sure. The following is done by me:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git

Isn't this CIP RT-kernel real-time tree?

cd linux-cip
git checkout -b cip_v4.19.58-cip6 v4.19.58-cip6

make -j4 -k -s ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- O=build-arm omap2plus_defconfig

Please, check the folllowing:

Linux stretch 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64

vagrant@stretch:~/git-repos/linux-cip/build-arm$ pwd
/home/vagrant/git-repos/linux-cip/build-arm
vagrant@stretch:~/git-repos/linux-cip/build-arm$ ls -al .config
-rw-r--r-- 1 vagrant vagrant 148183 Jul 18 04:25 .config
vagrant@stretch:~/git-repos/linux-cip/build-arm$ cat .config | grep PREEMPT
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_PREEMPTIRQ_TRACEPOINTS=y
# CONFIG_PREEMPTIRQ_EVENTS is not set
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
vagrant@stretch:~/git-repos/linux-cip/build-arm $

And, finally:

vagrant@stretch:~/git-repos/linux-cip$ pwd
/home/vagrant/git-repos/linux-cip
vagrant@stretch:~/git-repos/linux-cip$ ack CONFIG_PREEMPT_RT_FULL
vagrant@stretch:~/git-repos/linux-cip$

Hmmmmmm... Strange, isn't it??? Please, advise?

Thank you,
Zoran Stojsavljevic
_______


On Fri, Jul 19, 2019 at 3:58 PM Ben Hutchings <ben.hutchings@...> wrote:
On Fri, 2019-07-19 at 15:31 +0200, Zoran S wrote:
> Hello  Ben, Daniel,
>
> I started my own investigation about RT kernels, namely 4.19. I
> proceed very carefully over the kernel config parameters... BUt the
> last one I inspected today got me nowhere!?
>
> Seems, that the following config parameters are obsolete in 4.19:
> CONFIG_PREEMPT_RT_FULL
[...]

This never existed in the upstream kernel, only in -rt branches.  It
still exists in 4.19-rt.

Ben.

--
Ben Hutchings, Software Developer                         Codethink Ltd
https://www.codethink.co.uk/                 Dale House, 35 Dale Street
                                     Manchester, M1 2HF, United Kingdom


Zoran
 

Are you sure you have your kernel patched with -rt patches?
CONFIG_PREEMPT_RT_FULL=y was still needed in 4.19, AFAICT.
Please, could you refer to reply above (practical exercises using
lava_server_vm VM) to Ben and Daniel? You can also check and verify
it...

Maybe, after all, I am doing something very wrong. But I do not
see/not aware what?!

Zoran
_______


On Fri, Jul 19, 2019 at 3:59 PM Pavel Machek <pavel@ucw.cz> wrote:

Hi!

I started my own investigation about RT kernels, namely 4.19. I
proceed very carefully over the kernel config parameters... BUt the
last one I inspected today got me nowhere!?

Seems, that the following config parameters are obsolete in 4.19:
CONFIG_PREEMPT_RT_FULL

This one (CONFIG_PREEMPT_RT_FULL) is still present in 4.4 .

[vuser@fedora30-ssd kernel-config]$ cat CONFIG-4.4.120-rt-bbb | grep PREEMPT
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RT_BASE=y
CONFIG_HAVE_PREEMPT_LAZY=y
CONFIG_PREEMPT_LAZY=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT__LL is not set
# CONFIG_PREEMPT_RTB is not set
CONFIG_PREEMPT_RT_FULL=y <<======= Obsolete in 4.19 ?
CONFIG_PREEMPT_COUNT=y
CONFIG_DEBUG_PREEMPT=y
[vuser@fedora30-ssd kernel-config]$

What I should do to maintain RT-kernel-4.19? It is obvious, I must/need to set:
CONFIG_PREEMPT=y
Are you sure you have your kernel patched with -rt patches?
CONFIG_PREEMPT_RT_FULL=y was still needed in 4.19, AFAICT.

Note that not every piece of hardware has suitable characteristics for
realtime / low latencies.

Best regards,
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


Ben Hutchings <ben.hutchings@...>
 

On Fri, 2019-07-19 at 19:58 +0200, Zoran S wrote:
This never existed in the upstream kernel, only in -rt branches.
It still exists in 4.19-rt.
Sure. The following is done by me:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git

Isn't this CIP RT-kernel real-time tree?
[...]

It's the CIP kernel repository. Only the branches with "-rt" in the
name include the real-time patch set.

Ben.

--
Ben Hutchings, Software Developer Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United Kingdom


Zoran
 

OK, I see. Wrong check-out!

git checkout -b cip_v4.19.58-cip6 v4.19.58-cip6

Yup... This is the root cause of the problem!

v4.19.13-cip1
v4.19.13-cip1-rt1
v4.19.13-cip1-rt1-rebase

v4.19.13-cip2
v4.19.13-cip2-rebase
v4.19.50-cip3
v4.19.50-cip3-rebase
v4.19.52-cip4
v4.19.52-cip4-rebase
v4.19.56-cip5
v4.19.56-cip5-rebase
v4.19.58-cip6
v4.19.58-cip6-rebase

Psychological mislead! Well... Blind trust in what I see (and I do see NOT reality, just what I did expect! ;-)

Well, I need to fix this psychosocial problems with my brain! :-)

Case Closed!

Thank you,
Zoran
_______


On Fri, Jul 19, 2019 at 8:11 PM Ben Hutchings <ben.hutchings@...> wrote:
On Fri, 2019-07-19 at 19:58 +0200, Zoran S wrote:
> > This never existed in the upstream kernel, only in -rt branches.
> > It still exists in 4.19-rt.
>
> Sure. The following is done by me:
>
> git clone git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git
>
> Isn't this CIP RT-kernel real-time tree?
[...]

It's the CIP kernel repository.  Only the branches with "-rt" in the
name include the real-time patch set.

Ben.

--
Ben Hutchings, Software Developer                         Codethink Ltd
https://www.codethink.co.uk/                 Dale House, 35 Dale Street
                                     Manchester, M1 2HF, United Kingdom


Daniel Wagner <wagi@...>
 

On 7/19/19 9:03 PM, Zoran S wrote:
v4.19.58-cip6
v4.19.58-cip6-rebase
There is also a corresponding branch for those tags.

- linux-4.4.y-cip-rt:
contains the -rt patchses. no rebases, just merges.
- linux-4.4.y-cip-rt-rebase:
has the -rt patches on top of the last cip release.