6.0.15 64bit PREEMPT knl - superseded

Moderator: Forum moderators

Post Reply
ozsouth
Posts: 1569
Joined: Sun Jul 12, 2020 2:38 am
Location: S.E. Australia
Has thanked: 241 times
Been thanked: 704 times

6.0.15 64bit PREEMPT knl - superseded

Post by ozsouth »

Superseded.

If you still want to try it (with old puppies only), it is in Kernel archive:
https://archive.org/download/Puppy_Linux_Huge-Kernels

Last edited by ozsouth on Thu Jan 19, 2023 12:26 pm, edited 6 times in total.
User avatar
Jasper
Posts: 2067
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 854 times
Been thanked: 480 times

Re: 6.0.15 64bit PREEMPT kernel aufs/overlayfs

Post by Jasper »

@ozsouth

I had to do a quick read up on PREEMPT kernel and just wanted to know if in your opinion it is a better kernel to use?

The most labour intensive use of my PC is extracting files and compiling applications.

Would this be beneficial to me?

sonny
Posts: 725
Joined: Mon Feb 15, 2021 4:50 pm
Has thanked: 486 times
Been thanked: 173 times

Re: 6.0.15 64bit PREEMPT kernel aufs/overlayfs

Post by sonny »

KERNEL: Normal (throughput) vs Voluntary preemption vs Forced preemption (low latency)

PREEMPT_NONE
bool "No Forced Preemption (Server)"
This is the traditional Linux preemption model, geared towards
throughput. It will still provide good latencies most of the
time, but there are no guarantees and occasional longer delays
are possible.

Select this option if you are building a kernel for a server or
scientific/computation system, or if you want to maximize the
raw processing power of the kernel, irrespective of scheduling
latencies.

PREEMPT_VOLUNTARY
bool "Voluntary Kernel Preemption (Desktop)"
This option reduces the latency of the kernel by adding more
"explicit preemption points" to the kernel code. These new
preemption points have been selected to reduce the maximum
latency of rescheduling, providing faster application reactions,
at the cost of slightly lower throughput.

This allows reaction to interactive events by allowing a
low priority process to voluntarily preempt itself even if it
is in kernel mode executing a system call. This allows
applications to run more 'smoothly' even when the system is
under load.

Select this if you are building a kernel for a desktop system.

PREEMPT
bool "Preemptible Kernel (Low-Latency Desktop)"
This option reduces the latency of the kernel by making
all kernel code (that is not executing in a critical section)
preemptible. This allows reaction to interactive events by
permitting a low priority process to be preempted involuntarily
even if it is in kernel mode executing a system call and would
otherwise not be about to reach a natural preemption point.
This allows applications to run more 'smoothly' even when the
system is under load, at the cost of slightly lower throughput
and a slight runtime overhead to kernel code.

Select this if you are building a kernel for a desktop or
embedded system with latency requirements in the milliseconds
range.

https://forum.openwrt.org/t/kernel-norm ... cy/40241/1

User avatar
Jasper
Posts: 2067
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 854 times
Been thanked: 480 times

Re: 6.0.15 64bit PREEMPT kernel aufs/overlayfs

Post by Jasper »

@sonny

Thanks for sharing.

My understanding (2 minute read via Google :lol: ) is that a PREEMPT kernel is one that allows applications not to hog the system completely so additional/lower priority applications can run simultaneously and not have to wait for other processes to finish.

Is that it?

sonny
Posts: 725
Joined: Mon Feb 15, 2021 4:50 pm
Has thanked: 486 times
Been thanked: 173 times

Re: 6.0.15 64bit PREEMPT kernel aufs/overlayfs

Post by sonny »

User avatar
Jasper
Posts: 2067
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 854 times
Been thanked: 480 times

Re: 6.0.15 64bit PREEMPT kernel aufs/overlayfs

Post by Jasper »

For anyone who is not a programmer and does not understand the word "reentrant" (yeah that's me!!)

A reentrant function is one that can be used by more than one task concurrently without fear of data corruption.

Conversely, a non-reentrant function is one that cannot be shared by more than one task unless mutual exclusion to the function is ensured either by using a semaphore or by disabling interrupts during critical sections of code.

A reentrant function can be interrupted at any time and resumed at a later time without loss of data.

Reentrant functions either use local variables or protect their data when global variables are used.

Well, I learned something new today!!

User avatar
rockedge
Site Admin
Posts: 6551
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 2757 times
Been thanked: 2627 times
Contact:

Re: 6.0.15 64bit PREEMPT kernel aufs/overlayfs

Post by rockedge »

Full real time and low-latency kernels are needed for real time audio and or video recording/streaming. Also very important for ham radio applications or motion and object detection and recognition in real time. But #1 reason to use a RT kernel is for contolling 3D printers and CNC machinery using something like LinuxCNC. There is a forum member that has used one of my RT kernels successfully running CNC miller and lathe with Puppy Linux and the LinuxCNC package. @taersh is using one of the RT kernels with Puppy Linux and complete set of music production programs and software synthesizers.

I play around with LMMS with a 5.4.70-rt40 kernel in a Fossapup64 which is the one taersh is or was using. I think JackalPup which is a Puppy Linux remaster that is a complete music production studio that also uses the 5.4.70-rt40 kernel. This one is really packed full of top end packages for electronic music production.

@Jasper for your needs as a file server and code compiler it would be recommended not to use a full real time (RT kernel) or low latency PREEMPT kernel. The file server/compiler system should use PREEMPT_VOLUNTARY or PREEMPT_NONE, but in all reality your processing demands are well within a range that you could use any of the types and Puppy Linux and you won't notice a difference in performance.

If you want to try out a full real time huge kernel, I made several which are available here -> https://rockedge.org/kernels under Kernels. Full real time is designated by the "RT" or "rt" in the version name.

Jasper go with a general purpose kernel if your work is mostly file serving and compiling code into packages.

P.S. producing a working build of LinuxCNC for the latest Puppy Linux's would be something very interesting and would eliminate the "Puppy Linux is a toy" argument. I thought ZoneMinder on 4 different versions of Puppy might do it, but not many tried it out. Believe me when I say that ZM works as well or better on Puppy's as any OS out there

ozsouth
Posts: 1569
Joined: Sun Jul 12, 2020 2:38 am
Location: S.E. Australia
Has thanked: 241 times
Been thanked: 704 times

Re: 6.0.15 64bit PREEMPT kernel aufs/overlayfs

Post by ozsouth »

@Jasper - some very good info above. All I can add is that I recommend my standard kernels (which have Voluntary Preemption set), as a good 'all-rounder' for the desktops of those who don't have a specific need for low-latency apps.

User avatar
Jasper
Posts: 2067
Joined: Wed Sep 07, 2022 1:20 pm
Has thanked: 854 times
Been thanked: 480 times

Re: 6.0.15 64bit PREEMPT kernel aufs/overlayfs

Post by Jasper »

What can say but thank you so much for explaining this to me @rockedge .

In layman's terms and providing a day to day example.

You know your stuff :thumbup2:

I owe you a beer :thumbup:

Post Reply

Return to “Kernels”