• The Stupidification of GNU/Linux Users

    From Leroy H@lh@somewhere.net to comp.os.linux.misc on Mon May 11 19:00:12 2026
    From Newsgroup: comp.os.linux.misc

    I have a motherboard that contains on onboard sound chip
    that the manual specifies as:

    Realtek ALC1220-VB

    The command "lspci -vv", using a live distro, also reports:

    Intel Comet Lake PCH cAVS Audio
    ...
    Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci_intel_cnl

    This device should function with Alsa but absolutely
    nowhere can I locate the kernel configuration parameters
    for this device. The latest kernels do not seem to possess
    the above modules.

    Internet forums report nothing but the mainstream distros
    which include every possible module in one giant, bloated mess.
    No remedy is to be found.

    Doesn't anyone build their own kernel anymore? Is the
    average GNU/Linux user just a distro slave with no
    technical competence or curiosity?

    Fortunately I have a PCIe soundcard (SB_Audigy_5RX) for which
    I was able to locate the exact kernel configuration parameters.
    But it was not an easy task. Such information is very sparse.

    GNU/Linux was begun as a project for the technical elite, but
    now it seems that is has devolved into a definite idiocracy.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From The Natural Philosopher@tnp@invalid.invalid to comp.os.linux.misc on Mon May 11 20:10:53 2026
    From Newsgroup: comp.os.linux.misc

    On 11/05/2026 20:00, Leroy H wrote:
    Doesn't anyone build their own kernel anymore?
    No.

    Is the average GNU/Linux user just a distro slave with no
    technical competence or curiosity?

    Hopefully, yes.

    You remind me of the society I once joined ...

    "We want to be much bigger"
    "Well go online, get lots more members and stop behaving like an elite
    little club"
    "But we want to stay an elite little club"

    ...I left...
    --
    Any fool can believe in principles - and most of them do!



    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Andy Burns@usenet@andyburns.uk to comp.os.linux.misc on Mon May 11 20:12:03 2026
    From Newsgroup: comp.os.linux.misc

    Leroy H wrote:

    Doesn't anyone build their own kernel anymore?

    I haven't built built one since I stopped needing to build one for Xen reasons, or Intel wifi driver reasons.

    No, wait I did a few times when I had an interest in testing Blackgold
    DVB drivers, still years ago.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Mon May 11 21:41:35 2026
    From Newsgroup: comp.os.linux.misc

    Leroy H <lh@somewhere.net> wrote:
    I have a motherboard that contains on onboard sound chip
    that the manual specifies as:

    Realtek ALC1220-VB

    The command "lspci -vv", using a live distro, also reports:

    Intel Comet Lake PCH cAVS Audio
    ...
    Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci_intel_cnl

    This device should function with Alsa but absolutely
    nowhere can I locate the kernel configuration parameters
    for this device. The latest kernels do not seem to possess
    the above modules.

    My Slackware 15.0 system has snd-hda-intel.ko, snd-soc-skl.ko and snd-sof-pci-intel-cnl.ko already prebuilt from Slackware. Perhaps you
    are not finding them due to the underscores vs. hyphens?

    Internet forums report nothing but the mainstream distros
    which include every possible module in one giant, bloated mess.

    Slackware gives you the option of a giant huge kernel with most things
    built in, or a kernel with most drivers built as modules. You get to
    pick which you want during install.

    No remedy is to be found.

    Since Slackware 15.0 has the three modules you mention, there is one
    remedy: install Slackware 15.0.

    Doesn't anyone build their own kernel anymore?

    I used to do so. It has been so long now since I last built a kernel
    I've forgotten how long ago that last build was.

    Is the average GNU/Linux user just a distro slave with no technical competence or curiosity?

    The average computer user (no matter the os) is a "distro slave with no technical competence or curiosity". The only difference between them
    is "which distro" (MS for winblows or one of the Linuxes).

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Bobbie Sellers@bliss-sf4ever@dslextreme.com to comp.os.linux.misc on Mon May 11 14:59:14 2026
    From Newsgroup: comp.os.linux.misc



    On 5/11/26 12:00, Leroy H wrote:
    I have a motherboard that contains on onboard sound chip
    that the manual specifies as:

    Realtek ALC1220-VB

    The command "lspci -vv", using a live distro, also reports:

    Intel Comet Lake PCH cAVS Audio
    ...
    Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci_intel_cnl

    This device should function with Alsa but absolutely
    nowhere can I locate the kernel configuration parameters
    for this device. The latest kernels do not seem to possess
    the above modules.

    Internet forums report nothing but the mainstream distros
    which include every possible module in one giant, bloated mess.
    No remedy is to be found.

    Doesn't anyone build their own kernel anymore? Is the
    average GNU/Linux user just a distro slave with no
    technical competence or curiosity?

    And what distribution of GNU/Linux are you using, Leroy?

    Limited technical competence and heaps of curiosity but at 88
    not terribly interested in studying for new career.
    My Distro not-Slave is a man in Texas who publishes the
    distro and compiles with assistance from testers and coders.
    He is presently working on 6.18.26 and other parts of the
    Distribution. What he provides us generally works smoothly.

    Some of the PCLinuxOS users do build their own kernels
    but I have limited time sitting at the computer and use it for
    communication. I read technical groups like col.misc for
    comprehensible tips not for slamming the other users.
    But you see, I will at times...>
    Fortunately I have a PCIe soundcard (SB_Audigy_5RX) for which
    I was able to locate the exact kernel configuration parameters.
    But it was not an easy task. Such information is very sparse.

    GNU/Linux was begun as a project for the technical elite, but
    now it seems that is has devolved into a definite idiocracy.

    Well aren't you proud of your own big brain.
    So is Donald Trump, a very stable genius, in his own estimation.

    bliss- Dell Precision 7730- PCLOS 2026.04- Linux 6.12.87 pclos1- KDE
    Plasma 6.6.4
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.os.linux.misc on Mon May 11 22:47:16 2026
    From Newsgroup: comp.os.linux.misc

    On Mon, 11 May 2026 20:12:03 +0100, Andy Burns wrote:

    Leroy H wrote:

    Doesn't anyone build their own kernel anymore?

    I haven't built built one since I stopped needing to build one for
    Xen reasons, or Intel wifi driver reasons.

    DoesnrCOt anybody order from a menu at a restaurant any more?

    Is that proof of some kind of techno-smarts? Because building a Linux
    kernel is just the same: making selections from a menu. Only the
    finished product arrives a bit faster.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From c186282@c186282@nnada.net to comp.os.linux.misc on Mon May 11 22:42:01 2026
    From Newsgroup: comp.os.linux.misc

    On 5/11/26 18:47, Lawrence DrCOOliveiro wrote:
    On Mon, 11 May 2026 20:12:03 +0100, Andy Burns wrote:

    Leroy H wrote:

    Doesn't anyone build their own kernel anymore?

    NO. It shouldn't BE like that anymore !!!

    I haven't built built one since I stopped needing to build one for
    Xen reasons, or Intel wifi driver reasons.

    DoesnrCOt anybody order from a menu at a restaurant any more?

    You might have to TALK to someone !!!

    Is that proof of some kind of techno-smarts? Because building a Linux
    kernel is just the same: making selections from a menu. Only the
    finished product arrives a bit faster.

    Linux kernels have become WAY too big broad and deep
    at this point. 99.999% are NOT gonna make custom-built
    versions.

    Look, great if you CAN or WANT TO ... but after so
    many years most of us simply want Something That Just
    Works. I don't buy a car as a pile of pistons and
    gears and crap - but a WHOLE car. Turn key, GO. If
    you want 'custom' THEN you can do that later.

    As for systemd ... it has it's uses. Just installed MX
    on two boxes - both the systemd version because I have
    uses for systemd which the Old Way doesn't do nearly
    as neat.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc on Tue May 12 03:53:13 2026
    From Newsgroup: comp.os.linux.misc

    On Mon, 11 May 2026 19:00:12 +0000, Leroy H wrote:

    This device should function with Alsa but absolutely nowhere can I
    locate the kernel configuration parameters for this device. The latest kernels do not seem to possess the above modules.

    Sounds like Pipewire got you by the balls.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From c186282@c186282@nnada.net to comp.os.linux.misc on Tue May 12 00:39:53 2026
    From Newsgroup: comp.os.linux.misc

    On 5/11/26 23:53, rbowman wrote:
    On Mon, 11 May 2026 19:00:12 +0000, Leroy H wrote:

    This device should function with Alsa but absolutely nowhere can I
    locate the kernel configuration parameters for this device. The latest
    kernels do not seem to possess the above modules.

    Sounds like Pipewire got you by the balls.

    Usually PiperWire "Just Works".

    But if you want some WEIRD connection to
    other audio apps then, well, good luck.

    There are multiple, independent, solutions
    to Linux audio. Expecting Mercedes parts
    to fit yer Chevy ... well ......

    Yet I keep hearing laments from people who
    discover they Can't Get There From Here.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From makendo@makendo@makendo.invalid to comp.os.linux.misc on Tue May 12 12:47:40 2026
    From Newsgroup: comp.os.linux.misc

    This device should function with Alsa but absolutely
    nowhere can I locate the kernel configuration parameters
    for this device. The latest kernels do not seem to possess
    the above modules.

    Some configuration entries are hidden beneath several levels of nested unchecked checkboxes, and the way to unlock them can be non-obvious at
    times (e.g. how will you know that you need I2C drivers to drive your computer's SMBus controller?).

    There is a search function in menuconfig/nconfig to help find exactly
    what you want and how to unlock it, but it isn't very easy to use.

    Though far easier said than done (I doubt if anyone will be even willing
    to do this), this could make life easier to make a kernel tailored to
    a specific computer:

    - A program that sets Kconfig options based on what PCI devices
    are on your computer;
    - An index mapping PCI IDs, USB IDs, etc. to Kconfig options;
    - Tools for compiling and maintaining said index.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From c186282@c186282@nnada.net to comp.os.linux.misc on Tue May 12 01:26:13 2026
    From Newsgroup: comp.os.linux.misc

    On 5/12/26 00:47, makendo wrote:
    This device should function with Alsa but absolutely
    nowhere can I locate the kernel configuration parameters
    for this device.-a The latest kernels do not seem to possess
    the above modules.

    Some configuration entries are hidden beneath several levels of nested unchecked checkboxes, and the way to unlock them can be non-obvious at
    times (e.g. how will you know that you need I2C drivers to drive your computer's SMBus controller?).

    Um ... VERY VERY "un-obvious" ........

    There is a search function in menuconfig/nconfig to help find exactly
    what you want and how to unlock it, but it isn't very easy to use.

    Though far easier said than done (I doubt if anyone will be even willing
    to do this), this could make life easier to make a kernel tailored to
    a specific computer:

    -a - A program that sets Kconfig options based on what PCI devices
    -a-a-a are on your computer;
    -a - An index mapping PCI IDs, USB IDs, etc. to Kconfig options;
    -a - Tools for compiling and maintaining said index.

    Look, audio/video, multiple solutions have evolved.
    They are NOT always compatible no matter WHAT you do.

    So - PICK one.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Tue May 12 13:52:51 2026
    From Newsgroup: comp.os.linux.misc

    c186282 <c186282@nnada.net> wrote:
    On 5/11/26 18:47, Lawrence DrCOOliveiro wrote:
    On Mon, 11 May 2026 20:12:03 +0100, Andy Burns wrote:

    Leroy H wrote:

    Doesn't anyone build their own kernel anymore?

    NO. It shouldn't BE like that anymore !!!

    I haven't built built one since I stopped needing to build one for
    Xen reasons, or Intel wifi driver reasons.

    DoesnrCOt anybody order from a menu at a restaurant any more?

    You might have to TALK to someone !!!

    Is that proof of some kind of techno-smarts? Because building a Linux
    kernel is just the same: making selections from a menu. Only the
    finished product arrives a bit faster.

    Linux kernels have become WAY too big broad and deep
    at this point. 99.999% are NOT gonna make custom-built
    versions.

    Look, great if you CAN or WANT TO ... but after so
    many years most of us simply want Something That Just
    Works.

    I used to build my own kernels, but this was back in the days of
    systems with 512MB of total RAM and i586 class CPU's running at
    150-200Mhz. Back in those days it /felt/ like there was a speedup by
    building the kernel against the specific CPU one had in one's box, and
    with the 512MB RAM days, there *was* a benefit of stripping out drivers
    that one did not use, as a smaller kernel left more RAM available for
    one's applications.

    But somewhere along the path from i586 class CPU's to i3/i5/i7 class
    CPU's, and 512MB ram to 24G RAM it became a case where the performance increase from "build with CPU optimizations for a speific CPU" and
    "Kernel is smaller" was no longer noticable. The standard kernel
    Slackware built felt just as fast as the custom built kernel, and the difference in memory usage was a tiny sliver of the total, so it wasn't
    worth it to continue. So somewhere around the "Pentium 3" to Core era
    I quit compiling custom kernels for myself as I no longer felt like I
    could detect the benefits from doing so.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From s|b@me@privacy.invalid to comp.os.linux.misc on Tue May 12 18:11:22 2026
    From Newsgroup: comp.os.linux.misc

    On Mon, 11 May 2026 20:10:53 +0100, The Natural Philosopher wrote:

    Hopefully, yes.

    You remind me of the society I once joined ...

    "We want to be much bigger"
    "Well go online, get lots more members and stop behaving like an elite little club"
    "But we want to stay an elite little club"

    ...I left...

    Did they feel threatened in their status as 1337 hax0r too?
    --
    s|b
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Tue May 12 17:49:25 2026
    From Newsgroup: comp.os.linux.misc

    Rich <rich@example.invalid> writes:
    I used to build my own kernels, but this was back in the days of
    systems with 512MB of total RAM and i586 class CPU's running at
    150-200Mhz. Back in those days it /felt/ like there was a speedup by building the kernel against the specific CPU one had in one's box, and
    with the 512MB RAM days, there *was* a benefit of stripping out drivers
    that one did not use, as a smaller kernel left more RAM available for
    one's applications.

    But somewhere along the path from i586 class CPU's to i3/i5/i7 class
    CPU's, and 512MB ram to 24G RAM it became a case where the performance increase from "build with CPU optimizations for a speific CPU" and
    "Kernel is smaller" was no longer noticable. The standard kernel
    Slackware built felt just as fast as the custom built kernel, and the difference in memory usage was a tiny sliver of the total, so it wasn't worth it to continue. So somewhere around the "Pentium 3" to Core era
    I quit compiling custom kernels for myself as I no longer felt like I
    could detect the benefits from doing so.

    ItrCOs fairly straightforward today to build performance critical code
    multiple times for different targets and select the best one at runtime.
    This includes using intrinsics, vector instructions or assembler
    selected for particular classes of CPU, as well as just giving the
    compiler a narrower target and letting it get on with it.

    I donrCOt know how much the Linux kernel does that, offhand, but as a
    general statement, there are better options today than expecting end
    users to rebuild from source for their specific CPU.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Carlos E.R.@robin_listas@es.invalid to comp.os.linux.misc on Tue May 12 18:55:48 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-12 15:52, Rich wrote:
    c186282 <c186282@nnada.net> wrote:
    On 5/11/26 18:47, Lawrence DrCOOliveiro wrote:
    On Mon, 11 May 2026 20:12:03 +0100, Andy Burns wrote:



    I used to build my own kernels, but this was back in the days of
    systems with 512MB of total RAM and i586 class CPU's running at
    150-200Mhz. Back in those days it /felt/ like there was a speedup by building the kernel against the specific CPU one had in one's box, and
    with the 512MB RAM days, there *was* a benefit of stripping out drivers
    that one did not use, as a smaller kernel left more RAM available for
    one's applications.

    Me too, but the distros making everything modules also saved the same
    RAM and was less work for users. Maybe the startup was a bit slower :-?


    But somewhere along the path from i586 class CPU's to i3/i5/i7 class
    CPU's, and 512MB ram to 24G RAM it became a case where the performance increase from "build with CPU optimizations for a speific CPU" and
    "Kernel is smaller" was no longer noticable. The standard kernel
    Slackware built felt just as fast as the custom built kernel, and the difference in memory usage was a tiny sliver of the total, so it wasn't
    worth it to continue. So somewhere around the "Pentium 3" to Core era
    I quit compiling custom kernels for myself as I no longer felt like I
    could detect the benefits from doing so.

    Right.
    --
    Cheers, Carlos.
    ESEfc-Efc+, EUEfc-Efc|;
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Tue May 12 22:00:26 2026
    From Newsgroup: comp.os.linux.misc

    Richard Kettlewell <invalid@invalid.invalid> wrote:
    Rich <rich@example.invalid> writes:
    I used to build my own kernels, but this was back in the days of
    systems with 512MB of total RAM and i586 class CPU's running at
    150-200Mhz. Back in those days it /felt/ like there was a speedup
    by building the kernel against the specific CPU one had in one's
    box, and with the 512MB RAM days, there *was* a benefit of stripping
    out drivers that one did not use, as a smaller kernel left more RAM
    available for one's applications.

    But somewhere along the path from i586 class CPU's to i3/i5/i7 class
    CPU's, and 512MB ram to 24G RAM it became a case where the
    performance increase from "build with CPU optimizations for a
    speific CPU" and "Kernel is smaller" was no longer noticable. The
    standard kernel Slackware built felt just as fast as the custom
    built kernel, and the difference in memory usage was a tiny sliver
    of the total, so it wasn't worth it to continue. So somewhere
    around the "Pentium 3" to Core era I quit compiling custom kernels
    for myself as I no longer felt like I could detect the benefits from
    doing so.

    ItrCOs fairly straightforward today to build performance critical code multiple times for different targets and select the best one at runtime.

    That it is.

    This includes using intrinsics, vector instructions or assembler
    selected for particular classes of CPU, as well as just giving the
    compiler a narrower target and letting it get on with it.

    I donrCOt know how much the Linux kernel does that, offhand, but as a general statement, there are better options today than expecting end
    users to rebuild from source for their specific CPU.

    Nor do I, but it is possible it does do some of this, which would
    further negate the prior "benefits" of doing a custom kernel build for
    one's self.

    But the reality is that the increase was, even back in the days of an
    i386 at 33Mhz, only a few percentage points anyway. And while 2%
    better performance at an i7's performance is more raw increase than 2%
    of an i386/33Mhz, it 'felt' like it was a bigger increase on the i386.
    The i7's are just so blindingly fast that the standard distro kernel
    and a custom built one just feel like they perform identically.

    And, in reality, for most of my system(s) uses, they sit waiting on me
    rather than the other way around. And for when I do run something that
    takes more time than I want to wait, I just toss it in the background
    and go on about my business, the only actual noticable event being the
    fact that the cooling fan in the tower speeds up a bit as the CPU warms
    up from the load.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc on Tue May 12 22:19:42 2026
    From Newsgroup: comp.os.linux.misc

    On Tue, 12 May 2026 13:52:51 -0000 (UTC), Rich wrote:

    I used to build my own kernels, but this was back in the days of systems
    with 512MB of total RAM and i586 class CPU's running at 150-200Mhz.
    Back in those days it /felt/ like there was a speedup by building the
    kernel against the specific CPU one had in one's box, and with the 512MB
    RAM days, there *was* a benefit of stripping out drivers that one did
    not use,
    as a smaller kernel left more RAM available for one's applications.

    It's been a long, long time but iirc you could also screw yourself royally
    if you said 'I don't need that' for some obscure feature that you
    definitely did need.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc on Tue May 12 23:02:25 2026
    From Newsgroup: comp.os.linux.misc

    On Tue, 12 May 2026 00:39:53 -0400, c186282 wrote:

    Usually PiperWire "Just Works".

    After one Ubuntu update the 3.5mm jack I was using for my speakers stoped working and I would only the the Default (non) Selection. I found out more about pipewire, pulseaudio, wireplumber, and friends then I ever wanted to know.

    Solution: my Bluetooth earbuds worked so I bought LogiTec Bluetooth
    speakers. Problem solved.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From c186282@c186282@nnada.net to comp.os.linux.misc on Tue May 12 20:49:42 2026
    From Newsgroup: comp.os.linux.misc

    On 5/12/26 19:02, rbowman wrote:
    On Tue, 12 May 2026 00:39:53 -0400, c186282 wrote:

    Usually PiperWire "Just Works".

    After one Ubuntu update the 3.5mm jack I was using for my speakers stoped working and I would only the the Default (non) Selection. I found out more about pipewire, pulseaudio, wireplumber, and friends then I ever wanted to know.

    Solution: my Bluetooth earbuds worked so I bought LogiTec Bluetooth
    speakers. Problem solved.


    Hey - if you can't get there by one road ... !

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc on Wed May 13 04:47:29 2026
    From Newsgroup: comp.os.linux.misc

    On Tue, 12 May 2026 22:00:26 -0000 (UTC), Rich wrote:

    And, in reality, for most of my system(s) uses, they sit waiting on me
    rather than the other way around. And for when I do run something that
    takes more time than I want to wait, I just toss it in the background
    and go on about my business, the only actual noticable event being the
    fact that the cooling fan in the tower speeds up a bit as the CPU warms
    up from the load.

    I don't know the exact point but a build of our source code was something
    that you fired off and went to lunch and hoped it was done and didn't
    error out by the time you got back. The machine wasn't good for anything
    else as it cranked away.

    Then it gt to a point where it took a few minutes and you could watch cat videos while you waited. It didn't improve too much after that. The
    company was frugal so we never got monster machines but I'm not sure that would have made a huge difference. It might have for reprojecting massive raster files. That still took hours.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Carlos E.R.@robin_listas@es.invalid to comp.os.linux.misc on Wed May 13 12:56:37 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-13 00:00, Rich wrote:
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    Rich <rich@example.invalid> writes:


    But the reality is that the increase was, even back in the days of an
    i386 at 33Mhz, only a few percentage points anyway. And while 2%
    better performance at an i7's performance is more raw increase than 2%
    of an i386/33Mhz, it 'felt' like it was a bigger increase on the i386.
    The i7's are just so blindingly fast that the standard distro kernel
    and a custom built one just feel like they perform identically.

    And, in reality, for most of my system(s) uses, they sit waiting on me
    rather than the other way around. And for when I do run something that
    takes more time than I want to wait, I just toss it in the background
    and go on about my business, the only actual noticable event being the
    fact that the cooling fan in the tower speeds up a bit as the CPU warms
    up from the load.

    If you do some task that is heavy on cpu, say, recoding a video with
    ffmpeg, then it would be ffmpeg that would need rebuilding, not the
    kernel. I can not think now of a task that puts the kernel CPU load at 100%.
    --
    Cheers, Carlos.
    ESEfc-Efc+, EUEfc-Efc|;
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From The Natural Philosopher@tnp@invalid.invalid to comp.os.linux.misc on Wed May 13 12:38:58 2026
    From Newsgroup: comp.os.linux.misc

    On 12/05/2026 17:11, s|b wrote:
    On Mon, 11 May 2026 20:10:53 +0100, The Natural Philosopher wrote:

    Hopefully, yes.

    You remind me of the society I once joined ...

    "We want to be much bigger"
    "Well go online, get lots more members and stop behaving like an elite
    little club"
    "But we want to stay an elite little club"

    ...I left...

    Did they feel threatened in their status as 1337 hax0r too?

    Very much so.

    The world is full of people who want something but are not prepared to
    pay the price for having it.

    E.g. Islamic immigrants who want to live in relative luxury, but not in
    a culture that renders it possible to be affluent in the first place.
    --
    Religion is regarded by the common people as true, by the wise as
    foolish, and by the rulers as useful.

    (Seneca the Younger, 65 AD)


    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From The Natural Philosopher@tnp@invalid.invalid to comp.os.linux.misc on Wed May 13 12:43:07 2026
    From Newsgroup: comp.os.linux.misc

    On 13/05/2026 05:47, rbowman wrote:
    I don't know the exact point but a build of our source code was something that you fired off and went to lunch and hoped it was done and didn't
    error out by the time you got back. The machine wasn't good for anything
    else as it cranked away.

    I remember that.

    Then it gt to a point where it took a few minutes and you could watch cat videos while you waited. It didn't improve too much after that. The
    company was frugal so we never got monster machines but I'm not sure that would have made a huge difference. It might have for reprojecting massive raster files. That still took hours.

    That is very much the case with me today. I don't do much video stuff
    any more, but graphics is a big thing. 3D graphics files take space and
    chew CPUs.

    But cross compiling for a Pi Pico apart from the very first build is
    fairly instant
    --
    To ban Christmas, simply give turkeys the vote.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From The Natural Philosopher@tnp@invalid.invalid to comp.os.linux.misc on Wed May 13 12:56:19 2026
    From Newsgroup: comp.os.linux.misc

    On 13/05/2026 11:56, Carlos E.R. wrote:
    I can not think now of a task that puts the kernel CPU load at 100%.

    I can. Locks the machine up every time.

    Of course is rogue code, but it exists
    --
    "What do you think about Gay Marriage?"
    "I don't."
    "Don't what?"
    "Think about Gay Marriage."


    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Wed May 13 14:41:47 2026
    From Newsgroup: comp.os.linux.misc

    rbowman <bowman@montana.com> wrote:
    On Tue, 12 May 2026 22:00:26 -0000 (UTC), Rich wrote:

    And, in reality, for most of my system(s) uses, they sit waiting on me
    rather than the other way around. And for when I do run something that
    takes more time than I want to wait, I just toss it in the background
    and go on about my business, the only actual noticable event being the
    fact that the cooling fan in the tower speeds up a bit as the CPU warms
    up from the load.

    I don't know the exact point but a build of our source code was something that you fired off and went to lunch and hoped it was done and didn't
    error out by the time you got back. The machine wasn't good for anything else as it cranked away.

    I very much remember those days from compiling my own Linux kernel's on
    an i386/33mhz with 4MB (later 16MB) of ram. During the compile (IIRC
    an hour or more, this was circa 1993-1995) the machine was not much
    useful for anything else besides watching the compile plod along.
    While one "could" go do something else with the machine (Linux let you
    do that) the reality was that the 'something else' would be slowed down
    by the compile load sufficiently that it wasn't worth even trying.

    Meanwhile, on the box I have now, I can start a video re-encode of a
    1080P video, that consumes 100% of all eight CPU's inside the processor
    chip, that will take several hours to actually complete, in the
    background, and go on and use the machine for most everything else
    while not ever noticing the load from the video encode.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Wed May 13 14:48:29 2026
    From Newsgroup: comp.os.linux.misc

    Carlos E.R. <robin_listas@es.invalid> wrote:
    On 2026-05-13 00:00, Rich wrote:
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    Rich <rich@example.invalid> writes:


    But the reality is that the increase was, even back in the days of an
    i386 at 33Mhz, only a few percentage points anyway. And while 2%
    better performance at an i7's performance is more raw increase than 2%
    of an i386/33Mhz, it 'felt' like it was a bigger increase on the i386.
    The i7's are just so blindingly fast that the standard distro kernel
    and a custom built one just feel like they perform identically.

    And, in reality, for most of my system(s) uses, they sit waiting on me
    rather than the other way around. And for when I do run something that
    takes more time than I want to wait, I just toss it in the background
    and go on about my business, the only actual noticable event being the
    fact that the cooling fan in the tower speeds up a bit as the CPU warms
    up from the load.

    If you do some task that is heavy on cpu, say, recoding a video with
    ffmpeg, then it would be ffmpeg that would need rebuilding, not the
    kernel. I can not think now of a task that puts the kernel CPU load at 100%.

    Yes, apply the "careful optimizing" to the programs that actually
    benefit. But, as pointed out by R.K., ffmpeg is one of the
    applications that compiles with the "include the various optimizations,
    select the appropriate code path at runtime based upon CPU executing
    the process" so it is already mostly ready to take advantage of what it
    finds in the CPU it is using at the time. Meaning I can just let
    Slackware install the standard package and not feel any great need to "recomple" it to gain a noticable speedup.

    The benefits of "custom optimized compiles for your specific setup",
    while still technically present, have narrowed vs. the "generic distro version" that there is often not enough actual gain to be had to
    justify the effort of "recompiling a specific version" anymore.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Wed May 13 14:52:59 2026
    From Newsgroup: comp.os.linux.misc

    The Natural Philosopher <tnp@invalid.invalid> wrote:
    On 13/05/2026 11:56, Carlos E.R. wrote:
    I can not think now of a task that puts the kernel CPU load at 100%.

    I can. Locks the machine up every time.

    Of course is rogue code, but it exists

    I have several I perform on a regular basis:

    video transcodes;

    compression of data files (jpegxl, if one turns up the compression
    efforts, will saturate the CPU at 100% (or 8x100% for the points where
    it parallizes the compression run)

    xz, bzip2, gzip, lrzip can also peg the CPU at 100% with enough input
    data to take a measurable time to compress.

    GIMP, for some of the more complex manipulations can also hit 100% for
    short periods.

    Rawtherapee will also hit 100% for brief periods once one starts turn
    on noise filtering algorithms and esp. if one cranks up the
    aggressiveness of said algorithms.

    Others I'm likely forgetting right now.

    But besides the 'video' and 'general compression' tasks, most of the
    rest of these are "100% for 10-20 seconds" rather than "100% for the
    next ten minutes or ten hours".

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Wed May 13 14:56:02 2026
    From Newsgroup: comp.os.linux.misc

    rbowman <bowman@montana.com> wrote:
    On Tue, 12 May 2026 13:52:51 -0000 (UTC), Rich wrote:

    I used to build my own kernels, but this was back in the days of systems
    with 512MB of total RAM and i586 class CPU's running at 150-200Mhz.
    Back in those days it /felt/ like there was a speedup by building the
    kernel against the specific CPU one had in one's box, and with the 512MB
    RAM days, there *was* a benefit of stripping out drivers that one did
    not use,
    as a smaller kernel left more RAM available for one's applications.

    It's been a long, long time but iirc you could also screw yourself royally if you said 'I don't need that' for some obscure feature that you
    definitely did need.

    Been there, done that....

    Was esp. troublesome when fixing the mistake involved waiting another
    hour plus for a kernel compile to complete.

    The first time I made this mistake it also taught me to *never*
    overwrite my existing, working, lilo boot entry for the current kernel
    and instead to install the new kernel as a second entry first. Then if
    the new kernel panicked because I forgot to turn something on, I had a
    way out other than "reinstall from 30+ floppy disks".

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc on Wed May 13 17:40:54 2026
    From Newsgroup: comp.os.linux.misc

    On Wed, 13 May 2026 12:43:07 +0100, The Natural Philosopher wrote:

    But cross compiling for a Pi Pico apart from the very first build is
    fairly instant

    The C/C++ SDK does take a little while in the first build to download
    stuff but it's fast after that. I also use the Arduino core and once
    you've downloaded Earl Philtower's RP2040 packages the compilation is very fast. I use arduino-cli and the 'arduino-cli upload ...' takes several seconds.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc on Wed May 13 17:45:14 2026
    From Newsgroup: comp.os.linux.misc

    On Wed, 13 May 2026 14:56:02 -0000 (UTC), Rich wrote:

    The first time I made this mistake it also taught me to *never*
    overwrite my existing, working, lilo boot entry for the current kernel
    and instead to install the new kernel as a second entry first. Then if
    the new kernel panicked because I forgot to turn something on, I had a
    way out other than "reinstall from 30+ floppy disks".

    That was my initial Linux experience. Download a few boxes worth of
    floppies with the Slackware stuff over dialup and carefully assemble the
    mess. iirc my first pass didn't have gcc; back to Slackware for more
    floppy images.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From The Natural Philosopher@tnp@invalid.invalid to comp.os.linux.misc on Wed May 13 18:50:18 2026
    From Newsgroup: comp.os.linux.misc

    On 13/05/2026 18:45, rbowman wrote:
    On Wed, 13 May 2026 14:56:02 -0000 (UTC), Rich wrote:

    The first time I made this mistake it also taught me to *never*
    overwrite my existing, working, lilo boot entry for the current kernel
    and instead to install the new kernel as a second entry first. Then if
    the new kernel panicked because I forgot to turn something on, I had a
    way out other than "reinstall from 30+ floppy disks".

    That was my initial Linux experience. Download a few boxes worth of
    floppies with the Slackware stuff over dialup and carefully assemble the mess. iirc my first pass didn't have gcc; back to Slackware for more
    floppy images.

    I THINK my first personal install was red hat from a CD...
    Later I mostly burned DVDs and then switched to a USB drive
    --
    For in reason, all government without the consent of the governed is the
    very definition of slavery.

    Jonathan Swift


    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Wed May 13 19:06:47 2026
    From Newsgroup: comp.os.linux.misc

    rbowman <bowman@montana.com> wrote:
    On Wed, 13 May 2026 14:56:02 -0000 (UTC), Rich wrote:

    The first time I made this mistake it also taught me to *never*
    overwrite my existing, working, lilo boot entry for the current
    kernel and instead to install the new kernel as a second entry
    first. Then if the new kernel panicked because I forgot to turn
    something on, I had a way out other than "reinstall from 30+ floppy
    disks".

    That was my initial Linux experience. Download a few boxes worth of floppies with the Slackware stuff over dialup and carefully assemble
    the mess. iirc my first pass didn't have gcc; back to Slackware for
    more floppy images.

    In my case the first was 30+ floppies with SLS (Slackware's precursor),
    but I also did the 30+ floppy shuffle for more than a few Slackware
    installs as well.

    For one of the variants (it might have been SLS) I had internet access
    via a shared unix workstation that $job provided and that had a T1
    connection. I also knew the sysadmin and so got a favor of "can you
    copy these files to these floppies for me" done. So I didn't have to
    suffer the 2400bps download speed for 30+ floppies that time.

    Later ones, yeah, several days worth of downloads at 2400bps to get
    everything down before being able to use the 30+ floppies to install
    anything.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Wed May 13 19:09:15 2026
    From Newsgroup: comp.os.linux.misc

    The Natural Philosopher <tnp@invalid.invalid> wrote:
    On 13/05/2026 18:45, rbowman wrote:
    On Wed, 13 May 2026 14:56:02 -0000 (UTC), Rich wrote:

    The first time I made this mistake it also taught me to *never*
    overwrite my existing, working, lilo boot entry for the current
    kernel and instead to install the new kernel as a second entry
    first. Then if the new kernel panicked because I forgot to turn
    something on, I had a way out other than "reinstall from 30+ floppy
    disks".

    That was my initial Linux experience. Download a few boxes worth of
    floppies with the Slackware stuff over dialup and carefully assemble
    the mess. iirc my first pass didn't have gcc; back to Slackware for
    more floppy images.

    I THINK my first personal install was red hat from a CD...
    Later I mostly burned DVDs and then switched to a USB drive

    You missed out on all the *fun* of downloading 30+ floppies, then
    writing to 30+ floppies, then booting and installing from 30+ floppies,
    only to find out something was wrong with the media on floppy # 29 (it
    was always the last, or one just a step or two before last that had a
    media issue) such that the install failed, and you had to start over
    again after writing #29 (or whichever) to a new disk (and hoping it or
    one of the others didn't now fail too).

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Carlos E.R.@robin_listas@es.invalid to comp.os.linux.misc on Wed May 13 22:24:36 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-13 16:52, Rich wrote:
    The Natural Philosopher <tnp@invalid.invalid> wrote:
    On 13/05/2026 11:56, Carlos E.R. wrote:
    I can not think now of a task that puts the kernel CPU load at 100%.

    I can. Locks the machine up every time.

    Of course is rogue code, but it exists

    Can you think of a proper task that loads the kernel to 100%? Something
    one can do once a month normally? Something that makes optimizing the
    kernel worthwhile?


    I have several I perform on a regular basis:

    video transcodes;

    compression of data files (jpegxl, if one turns up the compression
    efforts, will saturate the CPU at 100% (or 8x100% for the points where
    it parallizes the compression run)

    ...

    But none of those put the kernel at 100%. They are userland.
    --
    Cheers, Carlos.
    ESEfc-Efc+, EUEfc-Efc|;
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Carlos E.R.@robin_listas@es.invalid to comp.os.linux.misc on Wed May 13 22:25:36 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-13 16:48, Rich wrote:
    Carlos E.R. <robin_listas@es.invalid> wrote:
    On 2026-05-13 00:00, Rich wrote:
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    Rich <rich@example.invalid> writes:


    But the reality is that the increase was, even back in the days of an
    i386 at 33Mhz, only a few percentage points anyway. And while 2%
    better performance at an i7's performance is more raw increase than 2%
    of an i386/33Mhz, it 'felt' like it was a bigger increase on the i386.
    The i7's are just so blindingly fast that the standard distro kernel
    and a custom built one just feel like they perform identically.

    And, in reality, for most of my system(s) uses, they sit waiting on me
    rather than the other way around. And for when I do run something that
    takes more time than I want to wait, I just toss it in the background
    and go on about my business, the only actual noticable event being the
    fact that the cooling fan in the tower speeds up a bit as the CPU warms
    up from the load.

    If you do some task that is heavy on cpu, say, recoding a video with
    ffmpeg, then it would be ffmpeg that would need rebuilding, not the
    kernel. I can not think now of a task that puts the kernel CPU load at 100%.

    Yes, apply the "careful optimizing" to the programs that actually
    benefit. But, as pointed out by R.K., ffmpeg is one of the
    applications that compiles with the "include the various optimizations, select the appropriate code path at runtime based upon CPU executing
    the process" so it is already mostly ready to take advantage of what it
    finds in the CPU it is using at the time. Meaning I can just let
    Slackware install the standard package and not feel any great need to "recomple" it to gain a noticable speedup.

    Good to know.


    The benefits of "custom optimized compiles for your specific setup",
    while still technically present, have narrowed vs. the "generic distro version" that there is often not enough actual gain to be had to
    justify the effort of "recompiling a specific version" anymore.

    --
    Cheers, Carlos.
    ESEfc-Efc+, EUEfc-Efc|;
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Carlos E.R.@robin_listas@es.invalid to comp.os.linux.misc on Wed May 13 22:34:52 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-13 21:09, Rich wrote:
    The Natural Philosopher <tnp@invalid.invalid> wrote:
    On 13/05/2026 18:45, rbowman wrote:
    On Wed, 13 May 2026 14:56:02 -0000 (UTC), Rich wrote:

    The first time I made this mistake it also taught me to *never*
    overwrite my existing, working, lilo boot entry for the current
    kernel and instead to install the new kernel as a second entry
    first. Then if the new kernel panicked because I forgot to turn
    something on, I had a way out other than "reinstall from 30+ floppy
    disks".

    That was my initial Linux experience. Download a few boxes worth of
    floppies with the Slackware stuff over dialup and carefully assemble
    the mess. iirc my first pass didn't have gcc; back to Slackware for
    more floppy images.

    I THINK my first personal install was red hat from a CD...
    Later I mostly burned DVDs and then switched to a USB drive

    You missed out on all the *fun* of downloading 30+ floppies, then
    writing to 30+ floppies, then booting and installing from 30+ floppies,
    only to find out something was wrong with the media on floppy # 29 (it
    was always the last, or one just a step or two before last that had a
    media issue) such that the install failed, and you had to start over
    again after writing #29 (or whichever) to a new disk (and hoping it or
    one of the others didn't now fail too).


    I never did that.

    For one thing, in the 90's in Spain you paid local calls by the minute.
    I didn't have internet till 97 or 98. I had Fidonet. So even though I
    knew about Linux from comments I heard, I could not try it till it came
    in a summer magazine as CDs.

    I was working for a large serious company that had a Linux server doing
    things in the corner. I then realized it was a serious OS, not some
    amateur thing anymore. I wanted to try it, and learn some Unix, because
    Unix was used at my work site.

    I think I first installed Red Hat. After reading a lot about how to make
    room in the hard disk, I installed that, got to a prompt, and did not
    know what to do with it.

    Next I bumped into another magazine that did a piece analyzing several
    Linux distros. It said that SuSE was the easiest. And soon that summer
    came a magazine with a double CD with SuSE 5.3. Bingo! I installed that
    one instead.
    --
    Cheers, Carlos.
    ESEfc-Efc+, EUEfc-Efc|;
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Charlie Gibbs@cgibbs@kltpzyxm.invalid to comp.os.linux.misc on Wed May 13 21:34:49 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-13, Rich <rich@example.invalid> wrote:

    The Natural Philosopher <tnp@invalid.invalid> wrote:

    On 13/05/2026 18:45, rbowman wrote:

    On Wed, 13 May 2026 14:56:02 -0000 (UTC), Rich wrote:

    The first time I made this mistake it also taught me to *never*
    overwrite my existing, working, lilo boot entry for the current
    kernel and instead to install the new kernel as a second entry
    first. Then if the new kernel panicked because I forgot to turn
    something on, I had a way out other than "reinstall from 30+ floppy
    disks".

    That was my initial Linux experience. Download a few boxes worth of
    floppies with the Slackware stuff over dialup and carefully assemble
    the mess. iirc my first pass didn't have gcc; back to Slackware for
    more floppy images.

    I THINK my first personal install was red hat from a CD...
    Later I mostly burned DVDs and then switched to a USB drive

    You missed out on all the *fun* of downloading 30+ floppies, then
    writing to 30+ floppies, then booting and installing from 30+ floppies,
    only to find out something was wrong with the media on floppy # 29 (it
    was always the last, or one just a step or two before last that had a
    media issue) such that the install failed, and you had to start over
    again after writing #29 (or whichever) to a new disk (and hoping it or
    one of the others didn't now fail too).

    I had all that fun on mainframes using 8-inch floppies long before
    Linux existed. My first Linux installation was from a CD, thank God.
    --
    /~\ Charlie Gibbs | Growth for the sake of
    \ / <cgibbs@kltpzyxm.invalid> | growth is the ideology
    X I'm really at ac.dekanfrus | of the cancer cell.
    / \ if you read it the right way. | -- Edward Abbey
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From not@not@telling.you.invalid (Computer Nerd Kev) to comp.os.linux.misc on Thu May 14 10:00:54 2026
    From Newsgroup: comp.os.linux.misc

    Rich <rich@example.invalid> wrote:
    Carlos E.R. <robin_listas@es.invalid> wrote:
    On 2026-05-13 00:00, Rich wrote:
    If you do some task that is heavy on cpu, say, recoding a video with
    ffmpeg, then it would be ffmpeg that would need rebuilding, not the
    kernel. I can not think now of a task that puts the kernel CPU load at 100%.

    Yes, apply the "careful optimizing" to the programs that actually
    benefit. But, as pointed out by R.K., ffmpeg is one of the
    applications that compiles with the "include the various optimizations, select the appropriate code path at runtime based upon CPU executing
    the process" so it is already mostly ready to take advantage of what it finds in the CPU it is using at the time.

    Huh, I didn't know that. I couldn't find documentation about it,
    but indeed the assembly functions like in
    libavfilter/x86/af_anlmdn.asm are called conditional on a macro
    that seems to check CPU capabilities set by functions in
    libavutil/cpu.c at run-time.

    eg. libavfilter/x86/af_anlmdn_init.c
    30 int cpu_flags = av_get_cpu_flags();
    31
    32 if (EXTERNAL_SSE(cpu_flags)) {
    33 s->compute_distance_ssd = ff_compute_distance_ssd_sse;
    34 }

    With related files:
    libavutil/cpu.h
    libavutil/cpu.c
    libavutil/cpu_internal.h
    libavutil/x86/cpu.h
    libavutil/x86/cpu.c

    Most specifically ff_get_cpu_flags_x86() in libavutil/x86/cpu.c
    does the actual capabilities checking for that.

    Is that "fairly straightforward today" like RK said? I'd say
    writing optimised code in assembly and decoding CPU-specific
    capabilities identifiers to decide at run-time whether it can be
    used is really pretty full-on compared to just letting the compiler
    build pure C code optimised for one specific CPU. Also not much
    easier today than any time since the CPUID instruction was
    introduced for x86 with the Pentium 1. Did he mean some programming
    languages or libraries have a better way than that now?

    Heck it looks like it's actually got very complicated over the
    years, FFmpeg have had to deal with stuff like this:

    libavutil/x86/cpu.c
    186 if (!strncmp(vendor.c, "AuthenticAMD", 12)) {
    187 /* Allow for selectively disabling SSE2 functions on AMD processors
    188 with SSE2 support but not SSE4a. This includes Athlon64, some
    189 Opteron, and some Sempron processors. MMX, SSE, or 3DNow! are faster
    190 than SSE2 often enough to utilize this special-case flag.
    191 AV_CPU_FLAG_SSE2 and AV_CPU_FLAG_SSE2SLOW are both set in this case
    192 so that SSE2 is used unless explicitly disabled by checking
    193 AV_CPU_FLAG_SSE2SLOW. */
    194 if (rval & AV_CPU_FLAG_SSE2 && !(ecx & 0x00000040))
    195 rval |= AV_CPU_FLAG_SSE2SLOW;

    Eight confusing special-cases like that just for x86.

    But anyway, good to see someone bothered to do that work for
    FFmpeg. I'd have assumed I would benefit significantly from
    compiling FFmpeg myself if I had fancy hardware and needed the
    performance (shouldn't they mention this in INSTALL.md?). That
    might still depend on whether most of the possible manual
    optimisation work has indeed been done for the architecture you're
    using (impossible to tell without benchmarking?).

    The benefits of "custom optimized compiles for your specific setup",
    while still technically present, have narrowed vs. the "generic distro version" that there is often not enough actual gain to be had to
    justify the effort of "recompiling a specific version" anymore.

    Yet many distros themselves are choosing to drop support for eg.
    x86_64-v1 (and later) so they can compile software better optimised
    for newer CPUs.
    --
    __ __
    #_ < |\| |< _#
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.os.linux.misc on Thu May 14 01:12:30 2026
    From Newsgroup: comp.os.linux.misc

    On Wed, 13 May 2026 12:56:37 +0200, Carlos E.R. wrote:

    I can not think now of a task that puts the kernel CPU load at 100%.

    If you actually mean 100|u$(nproc)%, I can think of several ways to do
    it, video encoding and CG rendering being two obvious ones.

    Another one is doing some large build with rCLmake -jrCY, and forgetting
    to specify a process limit. ;)
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Thu May 14 10:00:26 2026
    From Newsgroup: comp.os.linux.misc

    not@telling.you.invalid (Computer Nerd Kev) writes:
    Rich <rich@example.invalid> wrote:
    Carlos E.R. <robin_listas@es.invalid> wrote:
    If you do some task that is heavy on cpu, say, recoding a video with
    ffmpeg, then it would be ffmpeg that would need rebuilding, not the
    kernel. I can not think now of a task that puts the kernel CPU load
    at 100%.

    Yes, apply the "careful optimizing" to the programs that actually
    benefit. But, as pointed out by R.K., ffmpeg is one of the
    applications that compiles with the "include the various optimizations,
    select the appropriate code path at runtime based upon CPU executing
    the process" so it is already mostly ready to take advantage of what it
    finds in the CPU it is using at the time.

    Huh, I didn't know that. I couldn't find documentation about it,
    but indeed the assembly functions like in
    libavfilter/x86/af_anlmdn.asm are called conditional on a macro
    that seems to check CPU capabilities set by functions in
    libavutil/cpu.c at run-time.

    eg. libavfilter/x86/af_anlmdn_init.c
    30 int cpu_flags = av_get_cpu_flags();
    31
    32 if (EXTERNAL_SSE(cpu_flags)) {
    33 s->compute_distance_ssd = ff_compute_distance_ssd_sse;
    34 }

    With related files:
    libavutil/cpu.h
    libavutil/cpu.c
    libavutil/cpu_internal.h
    libavutil/x86/cpu.h
    libavutil/x86/cpu.c

    Most specifically ff_get_cpu_flags_x86() in libavutil/x86/cpu.c
    does the actual capabilities checking for that.

    Is that "fairly straightforward today" like RK said? I'd say
    writing optimised code in assembly and decoding CPU-specific
    capabilities identifiers to decide at run-time whether it can be
    used is really pretty full-on compared to just letting the compiler
    build pure C code optimised for one specific CPU.

    The statement was:

    | ItrCOs fairly straightforward today to build performance critical code
    | multiple times for different targets and select the best one at
    | runtime. This includes using intrinsics, vector instructions or
    | assembler selected for particular classes of CPU, as well as just
    | giving the compiler a narrower target and letting it get on with it.

    For an example of getting the compiler to build something multiple times
    for different targets, so that an executable can select the best one at runtime, see https://godbolt.org/z/PP1Mc3hfj. Other strategies are
    possible, maybe better or worse depending on what yourCOre doing.

    Obviously the overall effort increases if you hand-optimize for specific targets, or add more architectures, but thatrCOs what you would expect;
    the complexity scales with your ambitions. The basic point here is that putting together a design which allows for multiple targets to be
    supported within a single executable or library is really quite easy
    with modern compilers.


    If you donrCOt have rCLmodern compilersrCY then the situation isnrCOt so
    good. Slightly tangentially, one of my current projects at work is
    inline assembler implementations of some performance-relevant code. On
    Linux I can write small fragments of inline assembler, unit test them in isolation, and inline them into larger functions, with the less
    performance critical bits (outer loops etc) in C. ItrCOll be easy to drop
    in implementations for our embedded targets once the AMD64 dust has
    settled.

    On our other target host platform however the vendorrCOs 64-bit compiler
    does not support inline assembler at all. If I want to do the same optimizations there then it will be necessary to either write whole
    functions in assembler, or persuade my colleagues that migrating to
    clang-cl is a fine plan.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Thu May 14 10:09:06 2026
    From Newsgroup: comp.os.linux.misc

    Lawrence DrCOOliveiro <ldo@nz.invalid> writes:
    Carlos E.R. wrote:
    I can not think now of a task that puts the kernel CPU load at 100%.

    Perhaps an IPSec VPN endpoint with a very fast network interface and
    lots of clients that (for some reason) use DES3-CBC as bulk cipher?

    (DES3 because itrCOs not accelerated and CBC mode because of its
    dependency speedbump.)

    IrCOm not going to do the experiment...

    If you actually mean 100|u$(nproc)%, I can think of several ways to do
    it, video encoding and CG rendering being two obvious ones.

    Another one is doing some large build with rCLmake -jrCY, and forgetting
    to specify a process limit. ;)

    Those are all user process load. The question was about kernel CPU load.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From The Natural Philosopher@tnp@invalid.invalid to comp.os.linux.misc on Thu May 14 10:34:19 2026
    From Newsgroup: comp.os.linux.misc

    On 13/05/2026 21:24, Carlos E.R. wrote:
    On 2026-05-13 16:52, Rich wrote:
    The Natural Philosopher <tnp@invalid.invalid> wrote:
    On 13/05/2026 11:56, Carlos E.R. wrote:
    I can not think now of a task that puts the kernel CPU load at 100%.

    I can. Locks the machine up every time.

    Of course is rogue code, but it exists

    Can you think of a proper task that loads the kernel to 100%? Something
    one can do once a month normally? Something that makes optimizing the
    kernel worthwhile?

    No. Anything that loads the kernel to 100% is what needs fixing, not the kernel.

    Like some JavaScript...


    I have several I perform on a regular basis:

    video transcodes;

    compression of data files (jpegxl, if one turns up the compression
    efforts, will saturate the CPU at 100% (or 8x100% for the points where
    it parallizes the compression run)

    ...

    But none of those put the kernel at 100%. They are userland.

    Userland is perfectly capable of using 100% CPU



    --
    A lie can travel halfway around the world while the truth is putting on
    its shoes.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From The Natural Philosopher@tnp@invalid.invalid to comp.os.linux.misc on Thu May 14 10:42:23 2026
    From Newsgroup: comp.os.linux.misc

    On 14/05/2026 01:00, Computer Nerd Kev wrote:
    Rich <rich@example.invalid> wrote:
    Carlos E.R. <robin_listas@es.invalid> wrote:
    On 2026-05-13 00:00, Rich wrote:
    If you do some task that is heavy on cpu, say, recoding a video with
    ffmpeg, then it would be ffmpeg that would need rebuilding, not the
    kernel. I can not think now of a task that puts the kernel CPU load at 100%.

    Yes, apply the "careful optimizing" to the programs that actually
    benefit. But, as pointed out by R.K., ffmpeg is one of the
    applications that compiles with the "include the various optimizations,
    select the appropriate code path at runtime based upon CPU executing
    the process" so it is already mostly ready to take advantage of what it
    finds in the CPU it is using at the time.

    Huh, I didn't know that. I couldn't find documentation about it,
    but indeed the assembly functions like in
    libavfilter/x86/af_anlmdn.asm are called conditional on a macro
    that seems to check CPU capabilities set by functions in
    libavutil/cpu.c at run-time.

    eg. libavfilter/x86/af_anlmdn_init.c
    30 int cpu_flags = av_get_cpu_flags();
    31
    32 if (EXTERNAL_SSE(cpu_flags)) {
    33 s->compute_distance_ssd = ff_compute_distance_ssd_sse;
    34 }

    With related files:
    libavutil/cpu.h
    libavutil/cpu.c
    libavutil/cpu_internal.h
    libavutil/x86/cpu.h
    libavutil/x86/cpu.c

    Most specifically ff_get_cpu_flags_x86() in libavutil/x86/cpu.c
    does the actual capabilities checking for that.

    Is that "fairly straightforward today" like RK said?

    What is fairly straightforward for RK may be advanced magic for the
    rest of us.
    Which is why I was privileged to work with him years ago.

    I'd say
    writing optimised code in assembly and decoding CPU-specific
    capabilities identifiers to decide at run-time whether it can be
    used is really pretty full-on compared to just letting the compiler
    build pure C code optimised for one specific CPU. Also not much
    easier today than any time since the CPUID instruction was
    introduced for x86 with the Pentium 1. Did he mean some programming
    languages or libraries have a better way than that now?


    I have a friend who moved on from writing ARM compilers and is now
    writing adavanced mathematical analysis programs that take weeks to run.
    They have specific sections to cater for processors with advanced vector
    maths inbuilt. He optimises to get the code to run in months rather than years.


    Heck it looks like it's actually got very complicated over the
    years, FFmpeg have had to deal with stuff like this:

    libavutil/x86/cpu.c
    186 if (!strncmp(vendor.c, "AuthenticAMD", 12)) {
    187 /* Allow for selectively disabling SSE2 functions on AMD processors
    188 with SSE2 support but not SSE4a. This includes Athlon64, some
    189 Opteron, and some Sempron processors. MMX, SSE, or 3DNow! are faster
    190 than SSE2 often enough to utilize this special-case flag.
    191 AV_CPU_FLAG_SSE2 and AV_CPU_FLAG_SSE2SLOW are both set in this case
    192 so that SSE2 is used unless explicitly disabled by checking
    193 AV_CPU_FLAG_SSE2SLOW. */
    194 if (rval & AV_CPU_FLAG_SSE2 && !(ecx & 0x00000040))
    195 rval |= AV_CPU_FLAG_SSE2SLOW;

    Eight confusing special-cases like that just for x86.

    Yup. If you want the very best out of a processor you had better know
    what you are running on.



    But anyway, good to see someone bothered to do that work for
    FFmpeg. I'd have assumed I would benefit significantly from
    compiling FFmpeg myself if I had fancy hardware and needed the
    performance (shouldn't they mention this in INSTALL.md?). That
    might still depend on whether most of the possible manual
    optimisation work has indeed been done for the architecture you're
    using (impossible to tell without benchmarking?).

    The benefits of "custom optimized compiles for your specific setup",
    while still technically present, have narrowed vs. the "generic distro
    version" that there is often not enough actual gain to be had to
    justify the effort of "recompiling a specific version" anymore.

    Yet many distros themselves are choosing to drop support for eg.
    x86_64-v1 (and later) so they can compile software better optimised
    for newer CPUs.

    Everything is a compromise.

    Some folks would bitch and moan that their kernel no longer supports a Z80
    --
    Civilization exists by geological consent, subject to change without notice.
    rCo Will Durant

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From The Natural Philosopher@tnp@invalid.invalid to comp.os.linux.misc on Thu May 14 10:45:50 2026
    From Newsgroup: comp.os.linux.misc

    On 14/05/2026 10:00, Richard Kettlewell wrote:
    On our other target host platform however the vendorrCOs 64-bit compiler
    does not support inline assembler at all. If I want to do the same optimizations there then it will be necessary to either write whole
    functions in assembler, or persuade my colleagues that migrating to
    clang-cl is a fine plan.

    Ah. I see what you mean.

    Back in the day I would in that case write some assembler as a C
    function and link that in...

    Inline code was pretty much not possible unless you replaced large
    chunks of C with assembler
    --
    "I guess a rattlesnake ain't risponsible fer bein' a rattlesnake, but ah
    puts mah heel on um jess the same if'n I catches him around mah chillun".


    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Thu May 14 11:16:00 2026
    From Newsgroup: comp.os.linux.misc

    Richard Kettlewell <invalid@invalid.invalid> writes:
    For an example of getting the compiler to build something multiple times
    for different targets, so that an executable can select the best one at runtime, see https://godbolt.org/z/PP1Mc3hfj. Other strategies are
    possible, maybe better or worse depending on what yourCOre doing.

    (The naming in the example is wrong; itrCOs not a dot product. Sorry about that. But hopefully that wonrCOt distract from the point at hand.)
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Thu May 14 11:25:53 2026
    From Newsgroup: comp.os.linux.misc

    The Natural Philosopher <tnp@invalid.invalid> writes:
    On 14/05/2026 10:00, Richard Kettlewell wrote:

    On our other target host platform however the vendorrCOs 64-bit
    compiler does not support inline assembler at all. If I want to do
    the same optimizations there then it will be necessary to either
    write whole functions in assembler, or persuade my colleagues that
    migrating to clang-cl is a fine plan.

    Ah. I see what you mean.

    Back in the day I would in that case write some assembler as a C
    function and link that in...

    Writing whole functions is still a good strategy for some use cases.
    ItrCOd probably work well for the toy example from above, if you thought
    you could do a better job than the compiler.

    Inline code was pretty much not possible unless you replaced large
    chunks of C with assembler

    ThatrCOs basically the issue IrCOm faced with - if I canrCOt have inline assembler in the innermost loop of a nontrivial function then I either
    have to write the whole function in assembler (at least three times - we
    care about performance on AMD64, Power and Aarch64) or pay a call/return
    cost every time I call it, sacrificing much of the improvement.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From The Natural Philosopher@tnp@invalid.invalid to comp.os.linux.misc on Thu May 14 11:38:41 2026
    From Newsgroup: comp.os.linux.misc

    On 14/05/2026 11:25, Richard Kettlewell wrote:
    The Natural Philosopher <tnp@invalid.invalid> writes:
    On 14/05/2026 10:00, Richard Kettlewell wrote:

    On our other target host platform however the vendorrCOs 64-bit
    compiler does not support inline assembler at all. If I want to do
    the same optimizations there then it will be necessary to either
    write whole functions in assembler, or persuade my colleagues that
    migrating to clang-cl is a fine plan.

    Ah. I see what you mean.

    Back in the day I would in that case write some assembler as a C
    function and link that in...

    Writing whole functions is still a good strategy for some use cases.
    ItrCOd probably work well for the toy example from above, if you thought
    you could do a better job than the compiler.

    Inline code was pretty much not possible unless you replaced large
    chunks of C with assembler

    ThatrCOs basically the issue IrCOm faced with - if I canrCOt have inline assembler in the innermost loop of a nontrivial function then I either
    have to write the whole function in assembler (at least three times - we
    care about performance on AMD64, Power and Aarch64) or pay a call/return
    cost every time I call it, sacrificing much of the improvement.

    Exactly.

    Or write the loop in assembler itself

    I agree nothing is as easy as a #asm or whatever.

    I am surprised you aren't using Gnu C?
    --
    "Women actually are capable of being far more than the feminists will
    let them."



    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Carlos E.R.@robin_listas@es.invalid to comp.os.linux.misc on Thu May 14 12:54:48 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-14 11:09, Richard Kettlewell wrote:
    Lawrence DrCOOliveiro <ldo@nz.invalid> writes:
    Carlos E.R. wrote:
    I can not think now of a task that puts the kernel CPU load at 100%.

    Perhaps an IPSec VPN endpoint with a very fast network interface and
    lots of clients that (for some reason) use DES3-CBC as bulk cipher?

    (DES3 because itrCOs not accelerated and CBC mode because of its
    dependency speedbump.)

    IrCOm not going to do the experiment...

    I am thinking now of an applet in XFCE 4 called "multiload ng". I think
    it comes from an old gnome one. Well, the thing is it can graph
    processor load as "User, System, Nice, or I/O wait". Kernel load would
    be "System". But maybe other things are also "System". Maybe libc?



    If you actually mean 100|u$(nproc)%, I can think of several ways to do
    it, video encoding and CG rendering being two obvious ones.

    Another one is doing some large build with rCLmake -jrCY, and forgetting
    to specify a process limit. ;)

    Those are all user process load. The question was about kernel CPU load.


    Yep.
    --
    Cheers, Carlos.
    ESEfc-Efc+, EUEfc-Efc|;
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Thu May 14 12:28:53 2026
    From Newsgroup: comp.os.linux.misc

    The Natural Philosopher <tnp@invalid.invalid> writes:
    On 14/05/2026 11:25, Richard Kettlewell wrote:
    The Natural Philosopher <tnp@invalid.invalid> writes:
    Inline code was pretty much not possible unless you replaced large
    chunks of C with assembler
    ThatrCOs basically the issue IrCOm faced with - if I canrCOt have inline
    assembler in the innermost loop of a nontrivial function then I either
    have to write the whole function in assembler (at least three times - we
    care about performance on AMD64, Power and Aarch64) or pay a call/return
    cost every time I call it, sacrificing much of the improvement.

    Exactly.

    Or write the loop in assembler itself

    I agree nothing is as easy as a #asm or whatever.

    I am surprised you aren't using Gnu C?

    GCC and Clang for Linux, macOS and embedded targets, and MicrosoftrCOs
    compiler for Windows, and itrCOs only the latter that doesnrCOt support
    inline assembler.

    For the most part, the embedded targets is where performance matters,
    but thererCOs a few places where itrCOs relevant on the host platforms too,
    and the code IrCOm working on currently is one of those places.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From The Natural Philosopher@tnp@invalid.invalid to comp.os.linux.misc on Thu May 14 12:40:33 2026
    From Newsgroup: comp.os.linux.misc

    On 14/05/2026 12:28, Richard Kettlewell wrote:
    The Natural Philosopher <tnp@invalid.invalid> writes:
    On 14/05/2026 11:25, Richard Kettlewell wrote:
    The Natural Philosopher <tnp@invalid.invalid> writes:
    Inline code was pretty much not possible unless you replaced large
    chunks of C with assembler
    ThatrCOs basically the issue IrCOm faced with - if I canrCOt have inline >>> assembler in the innermost loop of a nontrivial function then I either
    have to write the whole function in assembler (at least three times - we >>> care about performance on AMD64, Power and Aarch64) or pay a call/return >>> cost every time I call it, sacrificing much of the improvement.

    Exactly.

    Or write the loop in assembler itself

    I agree nothing is as easy as a #asm or whatever.

    I am surprised you aren't using Gnu C?

    GCC and Clang for Linux, macOS and embedded targets, and MicrosoftrCOs compiler for Windows, and itrCOs only the latter that doesnrCOt support inline assembler.

    Do you mean the targets are windows, or the dev platform?

    For the most part, the embedded targets is where performance matters,
    but thererCOs a few places where itrCOs relevant on the host platforms too, and the code IrCOm working on currently is one of those places.

    I cant quite picture an arrangement that fits that description, but if
    its proprietary, its not that important to me either :-)

    Oh. wait. You have host user platforms running custom code over e,g.
    windows that need to talk to networked embedded stuff?

    And gcc cant compile for/on a windows target...??
    --
    "The great thing about Glasgow is that if there's a nuclear attack it'll
    look exactly the same afterwards."

    Billy Connolly

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Thu May 14 18:06:17 2026
    From Newsgroup: comp.os.linux.misc

    The Natural Philosopher <tnp@invalid.invalid> writes:
    On 14/05/2026 12:28, Richard Kettlewell wrote:
    The Natural Philosopher <tnp@invalid.invalid> writes:
    On 14/05/2026 11:25, Richard Kettlewell wrote:
    The Natural Philosopher <tnp@invalid.invalid> writes:
    Inline code was pretty much not possible unless you replaced large
    chunks of C with assembler
    ThatrCOs basically the issue IrCOm faced with - if I canrCOt have inline >>>> assembler in the innermost loop of a nontrivial function then I either >>>> have to write the whole function in assembler (at least three times - we >>>> care about performance on AMD64, Power and Aarch64) or pay a call/return >>>> cost every time I call it, sacrificing much of the improvement.

    Exactly.

    Or write the loop in assembler itself

    I agree nothing is as easy as a #asm or whatever.

    I am surprised you aren't using Gnu C?

    GCC and Clang for Linux, macOS and embedded targets, and MicrosoftrCOs
    compiler for Windows, and itrCOs only the latter that doesnrCOt support
    inline assembler.

    Do you mean the targets are windows, or the dev platform?

    Code for Linux targets get build under Linux (with GCC), code for
    Windows targets get built under Windows (with MicrosoftrCOs compiler). The source code is shared between them, of course with portions that are
    specific to one platform or another.

    For the most part, the embedded targets is where performance matters,
    but thererCOs a few places where itrCOs relevant on the host platforms
    too, and the code IrCOm working on currently is one of those places.

    I cant quite picture an arrangement that fits that description, but if
    its proprietary, its not that important to me either :-)

    The product and associated software is proprietary, yes.

    Oh. wait. You have host user platforms running custom code over
    e,g. windows that need to talk to networked embedded stuff?

    Yes.

    And gcc cant compile for/on a windows target...??

    It absolutely can[1]. Historically werCOve generally used rCynativerCO compilers (e.g. IBMrCOs compiler when we still supported AIX, etc), and
    any change would need to look beyond the question of whether it can
    compile the code: whether it meets customer expectations concerning
    exploit mitigations, debug symbols, etc etc etc., and IrCOve no idea if
    the free compilers would fit the bill in this case. But thatrCOs what I
    was referring to when I mentioned clang-cl earlier, which is Clang
    dressed up to look more like MicrosoftrCOs compiler.

    ThererCOs an advantage to running different compilers too: the warnings
    they generate highlight different issues with the code. So more
    different compilers = more warnings = more opportunities to spot bugs
    before they reach the customers.

    [1] e.g. https://packages.debian.org/trixie/gcc-mingw-w64-x86-64-win32
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc on Thu May 14 17:52:38 2026
    From Newsgroup: comp.os.linux.misc

    On Thu, 14 May 2026 12:54:48 +0200, Carlos E.R. wrote:


    I am thinking now of an applet in XFCE 4 called "multiload ng". I think
    it comes from an old gnome one. Well, the thing is it can graph
    processor load as "User, System, Nice, or I/O wait". Kernel load would
    be "System". But maybe other things are also "System". Maybe libc?

    I had to install it on openSUSE with

    sudo zypper install sysstat
    sudo systemctl enable sysstat
    sudo systemctl enable sysstat

    There are a bunch of flags described in the man page but

    sar
    Linux 6.17.0-23-generic (kropotkin) 05/14/2026 _x86_64_ (8 CPU)

    12:00:15 AM CPU %user %nice %system %iowait %steal %idle 12:10:18 AM all 0.48 0.00 0.48 0.04 0.00 99.00 12:20:05 AM all 0.50 0.08 0.51 0.07 0.00 98.84 12:30:03 AM all 0.48 0.00 0.47 0.05 0.00 99.00 12:40:01 AM all 0.49 0.00 0.49 0.06 0.00 98.96 12:50:01 AM all 0.47 0.00 0.47 0.05 0.00 99.00 01:00:14 AM all 0.49 0.00 0.48 0.06 0.00 98.98

    That's cumulative but 'sar -u 2 10' will report every 2 seconds for 10 times.

    The docs say 'system' means kernel. you also get iostat and pidstat. pidstat is useful to see who is dipping into the kernel.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Carlos E.R.@robin_listas@es.invalid to comp.os.linux.misc on Thu May 14 22:50:18 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-14 19:52, rbowman wrote:
    On Thu, 14 May 2026 12:54:48 +0200, Carlos E.R. wrote:


    I am thinking now of an applet in XFCE 4 called "multiload ng". I think
    it comes from an old gnome one. Well, the thing is it can graph
    processor load as "User, System, Nice, or I/O wait". Kernel load would
    be "System". But maybe other things are also "System". Maybe libc?

    I had to install it on openSUSE with

    sudo zypper install sysstat
    sudo systemctl enable sysstat
    sudo systemctl enable sysstat

    There are a bunch of flags described in the man page but

    sar
    Linux 6.17.0-23-generic (kropotkin) 05/14/2026 _x86_64_ (8 CPU)

    12:00:15 AM CPU %user %nice %system %iowait %steal %idle
    12:10:18 AM all 0.48 0.00 0.48 0.04 0.00 99.00
    12:20:05 AM all 0.50 0.08 0.51 0.07 0.00 98.84
    12:30:03 AM all 0.48 0.00 0.47 0.05 0.00 99.00
    12:40:01 AM all 0.49 0.00 0.49 0.06 0.00 98.96
    12:50:01 AM all 0.47 0.00 0.47 0.05 0.00 99.00
    01:00:14 AM all 0.49 0.00 0.48 0.06 0.00 98.98

    That's cumulative but 'sar -u 2 10' will report every 2 seconds for 10 times.

    The docs say 'system' means kernel. you also get iostat and pidstat. pidstat is useful to see who is dipping into the kernel.

    "multiload ng" is a GUI tool, but considering that all apps drink from
    the same sources for their data, %system must be kernel on all tools.
    Then libc must be userland.
    --
    Cheers, Carlos.
    ESEfc-Efc+, EUEfc-Efc|;
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From not@not@telling.you.invalid (Computer Nerd Kev) to comp.os.linux.misc on Fri May 15 09:19:57 2026
    From Newsgroup: comp.os.linux.misc

    Richard Kettlewell <invalid@invalid.invalid> wrote:
    not@telling.you.invalid (Computer Nerd Kev) writes:
    Is that "fairly straightforward today" like RK said? I'd say
    writing optimised code in assembly and decoding CPU-specific
    capabilities identifiers to decide at run-time whether it can be
    used is really pretty full-on compared to just letting the compiler
    build pure C code optimised for one specific CPU.

    The statement was:

    | It's fairly straightforward today to build performance critical code
    | multiple times for different targets and select the best one at
    | runtime. This includes using intrinsics, vector instructions or
    | assembler selected for particular classes of CPU, as well as just
    | giving the compiler a narrower target and letting it get on with it.

    For an example of getting the compiler to build something multiple times
    for different targets, so that an executable can select the best one at runtime, see https://godbolt.org/z/PP1Mc3hfj.

    Thanks, yes that is a more approachable method of doing the
    selection at run-time compared to that FFmpeg code. For those
    playing along at home, I see the "target" attribute feature of GCC
    is documented here (with an example that seems to avoid needing the
    separate function to select for the CPU in use):

    https://gcc.gnu.org/onlinedocs/gcc/Function-Multiversioning.html

    Obviously the overall effort increases if you hand-optimize for specific targets, or add more architectures, but that's what you would expect;
    the complexity scales with your ambitions. The basic point here is that putting together a design which allows for multiple targets to be
    supported within a single executable or library is really quite easy
    with modern compilers.

    It looks like GCC is working on an even easier method using the
    "clone" attribute, and eventually a way to apply it automatically
    to only the functions where the speed-up is worth the size
    increase:

    https://gcc.gnu.org/wiki/FunctionSpecificOpt#Stage3:_Details_of_compiling_a_single_function_multiple_times_manually

    Oh, "last edited 2011-03-16", so maybe not...
    --
    __ __
    #_ < |\| |< _#
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc on Thu May 14 23:46:03 2026
    From Newsgroup: comp.os.linux.misc

    On Thu, 14 May 2026 18:06:17 +0100, Richard Kettlewell wrote:

    ThererCOs an advantage to running different compilers too: the warnings
    they generate highlight different issues with the code. So more
    different compilers = more warnings = more opportunities to spot bugs
    before they reach the customers.

    Until the early 2000s most sites were AIX and they then switched to
    Windows. We used the MKS NutCracker software to run what essentially was
    Linux software, including an X server and Motif GUIs on Windows. We
    dropped the AIX build but continued to build with gcc on Linux and cl on Microsoft. Indeed there were differences,

    One of the major problems with the AIX to Linux move was AIX was very forgiving of NULL references and Linux has no sense of humor.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Fri May 15 12:23:18 2026
    From Newsgroup: comp.os.linux.misc

    not@telling.you.invalid (Computer Nerd Kev) writes:
    Richard Kettlewell <invalid@invalid.invalid> wrote:
    The statement was:

    | It's fairly straightforward today to build performance critical code
    | multiple times for different targets and select the best one at
    | runtime. This includes using intrinsics, vector instructions or
    | assembler selected for particular classes of CPU, as well as just
    | giving the compiler a narrower target and letting it get on with it.

    For an example of getting the compiler to build something multiple times
    for different targets, so that an executable can select the best one at
    runtime, see https://godbolt.org/z/PP1Mc3hfj.

    Thanks, yes that is a more approachable method of doing the
    selection at run-time compared to that FFmpeg code. For those
    playing along at home, I see the "target" attribute feature of GCC
    is documented here (with an example that seems to avoid needing the
    separate function to select for the CPU in use):

    https://gcc.gnu.org/onlinedocs/gcc/Function-Multiversioning.html

    The disadvantage of the automatic selection approach in that page is
    that you only to run the version for the current hardware, which is fine
    in production use but makes testing a lot more inconvenient.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From =?UTF-8?Q?St=C3=A9phane?= CARPENTIER@sc@fiat-linux.fr to comp.os.linux.misc on Fri May 15 20:41:55 2026
    From Newsgroup: comp.os.linux.misc

    Le 14-05-2026, Richard Kettlewell <invalid@invalid.invalid> a |-crit-a:
    ItrCOd probably work well for the toy example from above, if you thought
    you could do a better job than the compiler.

    In the late 90's I new some people who could improve the binary code
    generated by the compiler. Not anymore. The compilers improved a lot,
    the hardware is way more complex and the system is way more complex. So,
    I don't believe anyone can do a better job than a compiler.

    Well, maybe if FF/NV/LP/DL/whatever choses the options passed to the
    compiler it could be so messy that some good programmer could improve
    its result. But I'm speaking about a normal usage of the compiler, not
    a compiler managed by a brain dead moron waiting to win a Darwin award.
    --
    Si vous avez du temps |a perdre :
    https://scarpet42.gitlab.io
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From =?UTF-8?Q?St=C3=A9phane?= CARPENTIER@sc@fiat-linux.fr to comp.os.linux.misc on Fri May 15 20:51:53 2026
    From Newsgroup: comp.os.linux.misc

    Le 13-05-2026, Carlos E.R. <robin_listas@es.invalid> a |-crit-a:
    On 2026-05-13 16:48, Rich wrote:

    Yes, apply the "careful optimizing" to the programs that actually
    benefit. But, as pointed out by R.K., ffmpeg is one of the
    applications that compiles with the "include the various optimizations,
    select the appropriate code path at runtime based upon CPU executing
    the process" so it is already mostly ready to take advantage of what it
    finds in the CPU it is using at the time. Meaning I can just let
    Slackware install the standard package and not feel any great need to
    "recomple" it to gain a noticable speedup.

    Good to know.

    I agree with him. Even if LP/FF/NV/DL/whatever claims he is improving
    his kernel by compiling it, he can't be trusted. He proved himself to
    lack the minimum knowledge to be able to do it. In a video on which he
    show how he compiled his kernel, he show he has no clue about more than
    half of the options.

    The benefits of "custom optimized compiles for your specific setup",
    while still technically present, have narrowed vs. the "generic distro
    version" that there is often not enough actual gain to be had to
    justify the effort of "recompiling a specific version" anymore.

    Agreed. Some use cases can benefit of some personalized setup, but only
    for very rare configurations and for a few options, the others could be
    let by default. Thirty years ago I had no choice and I had to recompile
    my kernel. But I'd say I didn't need to compile it since at least twenty
    years.
    --
    Si vous avez du temps |a perdre :
    https://scarpet42.gitlab.io
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From =?UTF-8?Q?St=C3=A9phane?= CARPENTIER@sc@fiat-linux.fr to comp.os.linux.misc on Fri May 15 21:04:20 2026
    From Newsgroup: comp.os.linux.misc

    Le 11-05-2026, Leroy H <lh@somewhere.net> a |-crit-a:

    Internet forums report nothing but the mainstream distros
    which include every possible module in one giant, bloated mess.

    You just proved, once again that you know nothing about kernel. The
    purpose of a module is to be loaded only if needed. So if you don't need
    it, it's not loaded and no ressource is wasted. And if you need it, it's
    loaded because it's available. So it's the perfect world: everything
    available without the bloat part.

    It's not the kernel 1.x anymore. You don't have to chose if you will
    need to use it or not at compile time to avoid having a huge kernel.
    Everything is modular, so you don't have to worry.

    No remedy is to be found.

    Agreed. You would need to learn the basics to be able to find the
    remedy. But you lack the brain to do that.

    Doesn't anyone build their own kernel anymore?

    I won't spend half of my time to compile my kernel. I know how it's
    done, that's enough. I don't have to learn the same thing every week.

    Is the
    average GNU/Linux user just a distro slave with no
    technical competence or curiosity?

    You don't have the technical competence because you wouldn't fail each
    week a new kernel is out. You don't have the curiosity because ou would
    learn new things instead of failing endlessly to learn how to compile
    your kernel.

    GNU/Linux was begun as a project for the technical elite,

    No.
    --
    Si vous avez du temps |a perdre :
    https://scarpet42.gitlab.io
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Leroy H@lh@somewhere.net to comp.os.linux.misc on Sat May 16 00:37:25 2026
    From Newsgroup: comp.os.linux.misc

    On 15 May 2026 21:04:20 GMT, St|-phane CARPENTIER wrote:


    You just proved, once again that you know nothing about kernel. The
    purpose of a module is to be loaded only if needed.


    Who/what loads it?

    You forget that I don't use systemd. I use my own hand-crafted
    boot scripts. Therefore *I* am the one that loads and not some
    piece of foreign code that is beyond my control.

    GNU/Linux allows the user total control and I avail myself of it.

    The distros, on the contrary, eliminate user control.




    Doesn't anyone build their own kernel anymore?

    I won't spend half of my time to compile my kernel. I know how it's
    done, that's enough. I don't have to learn the same thing every week.


    Why do you begrudge me of building my own system? Lots of people do it.
    That what Gentoo and LFS are all about.

    Building is also learning, and I keep up with kernel changes by "rolling
    my own."

    It only requires 5 minutes for me to build a kernel, so your assertion
    of "half of my time" is misleading bullshit.

    Furthermore, my benchmarks prove beyond all doubt that building leads
    to significant performance improvement. This may not be evident to
    the casual user but for High Performance Computing (HPC) it makes quite
    a difference. Waiting 20 minutes instead of 1 hour for a ray tracing
    algorithm to complete is a game changer.

    Check out Atlas:

    <https://math-atlas.sourceforge.net/>

    Tuning is all important.

    Check out distros like CachyOS:

    <https://cachyos.org/>

    Also, the LibreOffice binary distributions are now built with
    the same parameters as CachyOS, because performance matters
    and the distros do not deliver.

    Modern people don't think like you.

    You are stuck in the GNU/Linux stone age.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From rbowman@bowman@montana.com to comp.os.linux.misc on Sat May 16 00:48:08 2026
    From Newsgroup: comp.os.linux.misc

    On 15 May 2026 21:04:20 GMT, St|-phane CARPENTIER wrote:

    You just proved, once again that you know nothing about kernel. The
    purpose of a module is to be loaded only if needed. So if you don't need
    it, it's not loaded and no ressource is wasted. And if you need it, it's loaded because it's available. So it's the perfect world: everything available without the bloat part.

    lsmod shows many modules with 0 in the 'used by' column. kvm_intel or
    kvm_amd appear with a 1 even though a VM is not in use. It actually seems
    to interfere with VirtualBox and needs to be blacklisted if you want a permanent fix.

    lsmod documentation is sparse so I don't know the implications of a module that is not use by anything.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Bobbie Sellers@bliss-sf4ever@dslextreme.com to comp.os.linux.misc on Fri May 15 18:06:49 2026
    From Newsgroup: comp.os.linux.misc



    On 5/15/26 14:04, St|-phane CARPENTIER wrote:
    Le 11-05-2026, Leroy H <lh@somewhere.net> a |-crit-a:

    Internet forums report nothing but the mainstream distros
    which include every possible module in one giant, bloated mess.

    You just proved, once again that you know nothing about kernel. The
    purpose of a module is to be loaded only if needed. So if you don't need
    it, it's not loaded and no ressource is wasted. And if you need it, it's loaded because it's available. So it's the perfect world: everything available without the bloat part.

    It's not the kernel 1.x anymore. You don't have to chose if you will
    need to use it or not at compile time to avoid having a huge kernel. Everything is modular, so you don't have to worry.

    No remedy is to be found.

    Agreed. You would need to learn the basics to be able to find the
    remedy. But you lack the brain to do that.

    Doesn't anyone build their own kernel anymore?

    I won't spend half of my time to compile my kernel. I know how it's
    done, that's enough. I don't have to learn the same thing every week.

    Is the
    average GNU/Linux user just a distro slave with no
    technical competence or curiosity?

    You don't have the technical competence because you wouldn't fail each
    week a new kernel is out. You don't have the curiosity because ou would
    learn new things instead of failing endlessly to learn how to compile
    your kernel.

    GNU/Linux was begun as a project for the technical elite,

    No.

    Indeed Linus Torwalds had no idea of the technical elite. He wanted
    a Unix-like system to run on his i386 back in his University days. That
    was his motivation. GNU is still working on the HURD kernel but they
    gladly shared their work with the new Linux Kernel. You can
    look around a bit if you are a "technical elite" and find a distribution
    trying to use what they have gotten done so far.

    I am not a person that anyone would call an "elite" though
    being white in the USA gives you some perogatives that people of
    better skin color found more difficult to access in my youth. That
    is why I got a Commodore 64 in the 1980s and an Amiga in the
    1990s. I will admit to having a knack with some matters but
    I had a career as a licensed nurse before I had to retire.

    At PCLinuxOS Users forum we have some technical elite and
    they are doing their own kernels using latest source and finding
    out how it works with the rest of PCLinuxOS.

    bliss- Dell Precision 7730- PCLOS 2026.04- Linux 6.12.87 pclos1- KDE
    Plasma 6.6.5

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Carlos E.R.@robin_listas@es.invalid to comp.os.linux.misc on Sat May 16 08:35:54 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-16 02:37, Leroy H wrote:
    On 15 May 2026 21:04:20 GMT, St|-phane CARPENTIER wrote:


    You just proved, once again that you know nothing about kernel. The
    purpose of a module is to be loaded only if needed.


    Who/what loads it?

    You forget that I don't use systemd. I use my own hand-crafted
    boot scripts. Therefore *I* am the one that loads and not some
    piece of foreign code that is beyond my control.

    LOL. Now you proved your lack of knowledge. It is not systemd (nor
    initd) who loads kernel modules (although they can do it). I thought you
    were knowledgeable, but not anymore.

    You can ask an AI to make you a summary (In Linux, who loads kernel
    modules?). It is just a glorified searcher. If you despise AIs, buy a book.
    --
    Cheers, Carlos.
    ESEfc-Efc+, EUEfc-Efc|;
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Sat May 16 08:49:44 2026
    From Newsgroup: comp.os.linux.misc

    St|-phane CARPENTIER <sc@fiat-linux.fr> writes:
    Richard Kettlewell <invalid@invalid.invalid> a |-crit-a:
    ItrCOd probably work well for the toy example from above, if you
    thought you could do a better job than the compiler.

    In the late 90's I new some people who could improve the binary code generated by the compiler. Not anymore. The compilers improved a lot,
    the hardware is way more complex and the system is way more complex. So,
    I don't believe anyone can do a better job than a compiler.

    Have a look at OpenSSLrCOs bignum arithmetic implementation, lots of
    assembler code that was written because compilers donrCOt do a good job.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From =?UTF-8?Q?St=C3=A9phane?= CARPENTIER@sc@fiat-linux.fr to comp.os.linux.misc on Sat May 16 09:51:42 2026
    From Newsgroup: comp.os.linux.misc

    Le 16-05-2026, Richard Kettlewell <invalid@invalid.invalid> a |-crit-a:
    St|-phane CARPENTIER <sc@fiat-linux.fr> writes:
    Richard Kettlewell <invalid@invalid.invalid> a |-crit-a:
    ItrCOd probably work well for the toy example from above, if you
    thought you could do a better job than the compiler.

    In the late 90's I new some people who could improve the binary code
    generated by the compiler. Not anymore. The compilers improved a lot,
    the hardware is way more complex and the system is way more complex. So,
    I don't believe anyone can do a better job than a compiler.

    Have a look at OpenSSLrCOs bignum arithmetic implementation, lots of assembler code that was written because compilers donrCOt do a good job.

    I'm not sure about what you are talking. A rapid search on the subject
    didn't gave me anything interesting. Now, from what I heard, the issue
    in security is that sometimes compilers do a too good job that must
    be avoided. The most obvious example is a side-channel attack which can
    happen when some optimization is there. For example multiplying by two
    must take the same time than multiplying by three. But the
    multiplication by two is just a bit switch and if the compiler realize
    it, it can improve speed in something at the cost of some lack in
    security. Or if the compiler realize that some code does nothing, it can
    remove it, even if the code was there only to take ressources in an else
    case.

    If you are speaking about that, I agree, I was speaking only about
    optimization to get the fastest possible code. But it's not only the
    only important thing and I didn't consider it.

    Now, if you are speaking about compiler being bad at optimizing fast
    code, I'd like a link. I'm always willing to learn new things, mostly
    when they don't compel with what I thought I know. I'd like to know in
    which cases (and so: why) a compiler can't be as good as a human being.
    --
    Si vous avez du temps |a perdre :
    https://scarpet42.gitlab.io
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Sat May 16 11:44:15 2026
    From Newsgroup: comp.os.linux.misc

    St|-phane CARPENTIER <sc@fiat-linux.fr> writes:
    Richard Kettlewell <invalid@invalid.invalid> a |-crit-a:
    St|-phane CARPENTIER <sc@fiat-linux.fr> writes:
    In the late 90's I new some people who could improve the binary code
    generated by the compiler. Not anymore. The compilers improved a
    lot, the hardware is way more complex and the system is way more
    complex. So, I don't believe anyone can do a better job than a
    compiler.

    Have a look at OpenSSLrCOs bignum arithmetic implementation, lots of
    assembler code that was written because compilers donrCOt do a good job.

    I'm not sure about what you are talking. A rapid search on the subject
    didn't gave me anything interesting. Now, from what I heard, the issue
    in security is that sometimes compilers do a too good job that must
    be avoided. [...]

    ThatrCOs an adjacent issue, but here I am talking about performance, not security.

    Now, if you are speaking about compiler being bad at optimizing fast
    code, I'd like a link. I'm always willing to learn new things, mostly
    when they don't compel with what I thought I know. I'd like to know in
    which cases (and so: why) a compiler can't be as good as a human
    being.

    A specific example is bn_add_words, here with inline assembler for
    amd64:

    https://github.com/openssl/openssl/blob/master/crypto/bn/asm/x86_64-gcc.c#L209

    For the pure C implementation of the same function, see:

    https://github.com/openssl/openssl/blob/master/crypto/bn/bn_asm.c#L312

    The purpose of the code is to add a pair of large integers (in OpenSSLrCOs
    use cases, most commonly between 256 and 4096 bits). The algorithm is
    the same as most people learn at school: starting from the least
    significant digit, add corresponding digits and carry any overflow up to
    the next digit. The only difference here is that the rCydigitsrCO range from
    0 to 18446744073709551615 instead of 0 to 9.

    To see the generated code, have a look at:

    https://godbolt.org/z/avYEevGqz

    This is the same two functions plus enough definitions to get them to
    compile. GCCrCOs attempt at the addition loop is best seen at lines 71-81,
    and is about twice as many instructions as the hand-written assembler
    appearing at lines 106-111.

    Exactly the same issue arises for subtraction, and there are related
    issues for multiplication, all of which have some inline assembler in
    the same file.

    The precise relationship between number of instructions and performance
    can be nontrivial but, generally, more is worse. In this particular case
    the author documents the outcome at:

    https://github.com/openssl/openssl/blob/master/crypto/bn/asm/x86_64-gcc.c#L38

    Performance is more than doubled for key sizes that are relevant today.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Sat May 16 18:39:21 2026
    From Newsgroup: comp.os.linux.misc

    Leroy H <lh@somewhere.net> wrote:
    On 15 May 2026 21:04:20 GMT, St|-phane CARPENTIER wrote:


    You just proved, once again that you know nothing about kernel. The
    purpose of a module is to be loaded only if needed.


    Who/what loads it?

    The kernel itself has supported module auto-loading upon use/need for a
    very long time.

    You forget that I don't use systemd. I use my own hand-crafted
    boot scripts.

    Irrelevant. The kernel module auto-loader subsystem is separate from
    the boot scripts.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Sat May 16 18:40:25 2026
    From Newsgroup: comp.os.linux.misc

    Carlos E.R. <robin_listas@es.invalid> wrote:
    On 2026-05-16 02:37, Leroy H wrote:
    On 15 May 2026 21:04:20 GMT, St|-phane CARPENTIER wrote:


    You just proved, once again that you know nothing about kernel. The
    purpose of a module is to be loaded only if needed.


    Who/what loads it?

    You forget that I don't use systemd. I use my own hand-crafted
    boot scripts. Therefore *I* am the one that loads and not some
    piece of foreign code that is beyond my control.

    LOL. Now you proved your lack of knowledge. It is not systemd (nor
    initd) who loads kernel modules (although they can do it). I thought you were knowledgeable, but not anymore.

    Yep, Leroy just proved Stephanie's post about Leroy being stupid and technically incompetent.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Leroy H@lh@somewhere.net to comp.os.linux.misc on Sat May 16 19:37:55 2026
    From Newsgroup: comp.os.linux.misc

    On Sat, 16 May 2026 18:39:21 -0000 (UTC), Rich wrote:


    You forget that I don't use systemd. I use my own hand-crafted
    boot scripts.

    Irrelevant. The kernel module auto-loader subsystem is separate from
    the boot scripts.


    The hell it is.

    On my system, no module loads without *my* explicit permission.

    You should brush up on your knowledge of Linux.



    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Leroy H@lh@somewhere.net to comp.os.linux.misc on Sat May 16 19:41:09 2026
    From Newsgroup: comp.os.linux.misc

    On Sat, 16 May 2026 18:40:25 -0000 (UTC), Rich wrote:


    Yep, Leroy just proved Stephanie's post about Leroy being stupid and technically incompetent.


    Your previous posts demonstrates beyond all doubt that it is YOU
    that is stupid and technically incompetent.

    You have relied totally on the work of others (i.e. distros) for
    you entire GNU/Linux experience and thus know NOTHING about how
    things actually work.


    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Carlos E.R.@robin_listas@es.invalid to comp.os.linux.misc on Sat May 16 22:10:20 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-16 21:37, Leroy H wrote:
    On Sat, 16 May 2026 18:39:21 -0000 (UTC), Rich wrote:


    You forget that I don't use systemd. I use my own hand-crafted
    boot scripts.

    Irrelevant. The kernel module auto-loader subsystem is separate from
    the boot scripts.


    The hell it is.

    On my system, no module loads without *my* explicit permission.

    You should brush up on your knowledge of Linux.




    Ha, ha. :-D
    --
    Cheers, Carlos.
    ESEfc-Efc+, EUEfc-Efc|;
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Rich@rich@example.invalid to comp.os.linux.misc on Sat May 16 20:37:49 2026
    From Newsgroup: comp.os.linux.misc

    Carlos E.R. <robin_listas@es.invalid> wrote:
    On 2026-05-16 21:37, Leroy H wrote:
    On Sat, 16 May 2026 18:39:21 -0000 (UTC), Rich wrote:


    You forget that I don't use systemd. I use my own hand-crafted
    boot scripts.

    Irrelevant. The kernel module auto-loader subsystem is separate from
    the boot scripts.


    The hell it is.

    On my system, no module loads without *my* explicit permission.

    You should brush up on your knowledge of Linux.

    Ha, ha. :-D

    Yep, pointing out that Leroy is technically incompetent seems to have
    struck a nerve (which would likely indicate that Leroy **is**
    technically incompetent).

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Carlos E.R.@robin_listas@es.invalid to comp.os.linux.misc on Sat May 16 23:07:41 2026
    From Newsgroup: comp.os.linux.misc

    On 2026-05-16 22:37, Rich wrote:
    Carlos E.R. <robin_listas@es.invalid> wrote:
    On 2026-05-16 21:37, Leroy H wrote:
    On Sat, 16 May 2026 18:39:21 -0000 (UTC), Rich wrote:


    You forget that I don't use systemd. I use my own hand-crafted
    boot scripts.

    Irrelevant. The kernel module auto-loader subsystem is separate from
    the boot scripts.


    The hell it is.

    On my system, no module loads without *my* explicit permission.

    You should brush up on your knowledge of Linux.

    Ha, ha. :-D

    Yep, pointing out that Leroy is technically incompetent seems to have
    struck a nerve (which would likely indicate that Leroy **is**
    technically incompetent).


    He keeps insulting everybody saying we are distro lackeys and
    incompetent. Well, going outside of a distro requires technical
    knowledge to replace what distros do. Knowledge about what to use, what
    not, what to replace, and why all that. And he has proved he doesn't
    have that knowledge and competence he boasts as having.

    Gosh, even Linus Torvalds uses a distro. Why would that be? :-D
    --
    Cheers, Carlos.
    ESEfc-Efc+, EUEfc-Efc|;
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From =?UTF-8?Q?St=C3=A9phane?= CARPENTIER@sc@fiat-linux.fr to comp.os.linux.misc on Sat May 16 22:33:55 2026
    From Newsgroup: comp.os.linux.misc

    Le 16-05-2026, Rich <rich@example.invalid> a |-crit-a:

    Thanks for your answer. My ISP didn't relay his message, without your
    answer I would have miss it.

    Leroy H <lh@somewhere.net> wrote:
    On 15 May 2026 21:04:20 GMT, St|-phane CARPENTIER wrote:

    You just proved, once again that you know nothing about kernel. The
    purpose of a module is to be loaded only if needed.

    Who/what loads it?

    That's impressive. You really have no clue about what is a module and
    how they are managed by Linux? And you pretend you can improve your
    kernel by compiling it yourself? No way. You lack the basis of the
    basis. You are the living proof that the kernel is so well designed it
    can be compiled by an half-wit like you who select options at random.

    The kernel itself has supported module auto-loading upon use/need for a
    very long time.

    Yes, as far as I remember, something like thirty years ago, Linux was supporting auto-loading modules. It was a trade between performances
    and availability. Some options weren't available as module at that time,
    but things have improved since then.

    You forget that I don't use systemd. I use my own hand-crafted
    boot scripts.

    Do you really believe that systemd loads the module? Do you know what
    systemd is? Do you know what Linux is? You are really unable to hide
    your lack of knowledge. You can't even manage a rapid search on Internet
    before displaying your incompetence with pride.

    You forget you don't know anything about Linux and yet you can believe
    you can teach me something. That's the reason why you say GNU/Linux
    every time: because you don't know what a Kernel is, you don't know what
    an init system is and you don't know what GNU brings. You only know that
    thanks to the impressive work of others (even if you deny it), you
    barely manage to have a bootable computer.

    Irrelevant. The kernel module auto-loader subsystem is separate from
    the boot scripts.

    Yes, but he doesn't know anything about Linux. His answer proved it once
    again.

    There are lot of subjects on which I disagree with DFS, but I fully
    agree when he calls him a fraud.
    --
    Si vous avez du temps |a perdre :
    https://scarpet42.gitlab.io
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Leroy H@lh@somewhere.net to comp.os.linux.misc on Sun May 17 01:11:38 2026
    From Newsgroup: comp.os.linux.misc

    On 16 May 2026 22:33:55 GMT, St|-phane CARPENTIER wrote:

    loaded only if needed.

    Who/what loads it?

    That's impressive. You really have no clue about what is a module and
    how they are managed by Linux?


    YOU are the one with no clue.

    None of my kernel modules load unless I explicitly command them
    to load. NONE. That's how I want it and that's how I have it.

    Yes, it can be automated but it also can be un-automated.

    YOU don't know because you have never built your own system from
    scratch. NEVER. You have always relied upon the work of others
    (i.e a distro) and have always had others make all the decisions
    for you.

    Without a distro to hold you hand you would be dead in the water.

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Lawrence =?iso-8859-13?q?D=FFOliveiro?=@ldo@nz.invalid to comp.os.linux.misc on Sun May 17 04:21:00 2026
    From Newsgroup: comp.os.linux.misc

    On Sat, 16 May 2026 22:10:20 +0200, Carlos E.R. wrote:

    On my system, no module loads without *my* explicit permission.

    Ha, ha. :-D

    ThatrCOs easy to check with the rCLlsmodrCY command.
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From c186282@c186282@nnada.net to comp.os.linux.misc on Sun May 17 00:39:45 2026
    From Newsgroup: comp.os.linux.misc

    On 5/16/26 18:33, St|-phane CARPENTIER wrote:
    Le 16-05-2026, Rich <rich@example.invalid> a |-crit-a:

    Thanks for your answer. My ISP didn't relay his message, without your
    answer I would have miss it.

    Leroy H <lh@somewhere.net> wrote:
    On 15 May 2026 21:04:20 GMT, St|-phane CARPENTIER wrote:

    You just proved, once again that you know nothing about kernel. The
    purpose of a module is to be loaded only if needed.

    Who/what loads it?

    That's impressive. You really have no clue about what is a module and
    how they are managed by Linux? And you pretend you can improve your
    kernel by compiling it yourself? No way. You lack the basis of the
    basis. You are the living proof that the kernel is so well designed it
    can be compiled by an half-wit like you who select options at random.

    I've used Linux since it came on floppies, used it
    at home, the office, office servers, haven't even
    owned a a Winders box since horrible Vista ... yet
    still know rather little about the actual kernel.

    I leave that to the gurus - it's too weird and
    complex, WAY too easy to totally trash yer carefully
    set-up system. Some of us are just too old now to
    have the energy to keep ultra-low level fixing.

    Gonna say almost EVERYBODY fits my description.
    You can be an 'advanced user' yet still stay
    pretty clear of kernel stuff. We want it to
    Just Work and maintain fair backwards compat.

    So ... be careful of what you EXPECT out in
    'the community'. We're not idiots, just not
    THAT kind/level of specialists by and large.
    Systems are COMPLEX out the ass, only SOME
    get down to the lowest level stuff.

    Is there a "comp.os.linux.kernel.guru" group ?

    SOME stuff IS kernel-level ... and we're happy
    for the gurus. 99% however is beyond the kernel
    level - apps, configs, programming issues. Maybe
    you can write a new Linux from scratch over a
    week-end ... but almost nobody else can. That
    doesn't mean we and our issues are unreal or
    unworthy.

    Or should we all just surrender to the M$/Apple
    food chain ???

    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From Richard Kettlewell@invalid@invalid.invalid to comp.os.linux.misc on Sun May 17 13:37:13 2026
    From Newsgroup: comp.os.linux.misc

    Rich <rich@example.invalid> writes:
    Leroy H <lh@somewhere.net> wrote:
    St|-phane CARPENTIER wrote:
    You just proved, once again that you know nothing about kernel. The
    purpose of a module is to be loaded only if needed.


    Who/what loads it?

    The kernel itself has supported module auto-loading upon use/need for
    a very long time.

    The kernel loads modules via the init_module and finit_module
    syscalls. As far as I can tell there are no other paths into the module
    loader and no automatic loading by the kernel - all the automation
    happens in user processes. If IrCOve missed anything then please do point
    me at the implementation.

    https://github.com/torvalds/linux/blob/master/kernel/module/main.c#L3634 https://github.com/torvalds/linux/blob/master/kernel/module/main.c#L3799

    You forget that I don't use systemd. I use my own hand-crafted
    boot scripts.

    Irrelevant. The kernel module auto-loader subsystem is separate from
    the boot scripts.

    Here, systemd links against libkmod[2]:

    $ ldd /lib/systemd/systemd| grep kmod
    libkmod.so.2 => /lib/x86_64-linux-gnu/libkmod.so.2 (0x00007e9e36ec3000)

    It uses it to load the modules it needs itself at startup, from the
    systemd executable itself:

    https://github.com/systemd/systemd/blob/main/src/core/main.c#L3557 https://github.com/systemd/systemd/blob/main/src/core/kmod-setup.c#L103

    ...and also via the modules-load unit, to load other modules at boot
    time based on explicit configuration:

    https://www.freedesktop.org/software/systemd/man/latest/modules-load.d.html

    Automatic loading of modules is managed by udev, which although not part
    of the /lib/systemd/systemd executable is now co-maintained with
    it. Again it uses the kmod library, rather than invoking the insmod or
    modprobe executables.

    $ ldd /lib/systemd/systemd-udevd|grep kmod
    libkmod.so.2 => /lib/x86_64-linux-gnu/libkmod.so.2 (0x0000785744328000)

    https://github.com/systemd/systemd/blob/main/src/udev/udev-builtin-kmod.c

    udev loads modules at boot time, since thatrCOs the moment that all the permanently attached hardware is seen by udev, causing it to load the
    modules that support it; and when hotplugged hardware is attached.

    https://www.linuxfromscratch.org/lfs/view/development/chapter09/udev.html

    i.e. there is no real distinction between loading a module for
    permanently attached hardware or hotplugged hardware: either way udev
    sees it, figures out what module is required, and then loads it.

    The kernelrCOs involvement, as best I can tell, is to send uevents
    maintaining udevrCOs model of the hardware environment, and receive init_module/finite_module syscalls.

    Whether that makes automatic kernel module loading rCLseparate from the
    boot scriptsrCY is a matter of definition, but itrCOs certainly entangled
    with the boot process (necessarily so) and with the code that manages
    the boot process.

    [2] This is from Ubuntu. On Debian the linking appears to be static and
    it looks like libkmod is only used by udevd. But donrCOt rely too hard
    on this detail, IrCOve not explored the differences and this post is
    quite long enough already.
    --
    https://www.greenend.org.uk/rjk/
    --- Synchronet 3.22a-Linux NewsLink 1.2
  • From L Thorpe@lt666@sixsixsix.net to comp.os.linux.misc on Sun May 17 17:22:15 2026
    From Newsgroup: comp.os.linux.misc

    On Sun, 17 May 2026 13:37:13 +0100, Richard Kettlewell wrote:


    The kernel loads modules via the init_module and finit_module
    syscalls. As far as I can tell there are no other paths into the module loader and no automatic loading by the kernel - all the automation
    happens in user processes. If IrCOve missed anything then please do point
    me at the implementation.


    At boot, the boot loader loads the kernel into memory and executes it.

    The kernel then determines what hardware is present based upon what it
    is configured to detect. No modules are loaded. The kernel can see only
    what it is configured to see.

    For example, if audio drivers are configured to be modules only, rather
    than built in, the kernel cannot detect any audio hardware. Ditto for
    other types of hardware.

    After the kernel boots it will pass control onto another, user-space
    program. This can be systemd or it can be ANYTHING else. This program
    is USER SPECIFIED but that usually means that it is DISTRO SPECIFIED.

    Regardless, this program, be it BASH or INIT or whatever, is responsible
    for completing the boot process and establishing a suitable environment.

    If static device nodes are established then there is little else to
    do aside from setting up an environment.

    Today, however, static device nodes are considered "obsolete" and thus
    udev (or its equivalents) is executed to do, in my case, a post-trigger
    scan of what the kernel discovered during boot up. This information
    is made available by the kernel in the /sys tree. Based on this info
    the /dev tree is built.

    There are other ways to do the above. Systemd has other procedures,
    but I don't use that junk. It is the beauty of the Linux kernel.
    A user can do exactly what a user wants to do.

    The user-space program invoked by the kernel is responsible for doing
    whatever needs to be done, and this "whatever" is dictated either by
    the user or, most commonly, by the distro.

    But under no circumstances are kernel modules loaded by the kernel.
    The kernel is BLIND to any hardware that is not built in. If any
    hardware needs a module then the kernel cannot detect it and it is
    the job of some use-space program to load the appropriate module
    when required.

    --- Synchronet 3.22a-Linux NewsLink 1.2