6.0.15 64bit PREEMPT knl - superseded
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
Discussion, talk and tips
https://forum.puppylinux.com/
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
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?
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.
Thanks for sharing.
My understanding (2 minute read via Google ) 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?
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!!
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
@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.
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
I owe you a beer