I have this obession to know about kernel errors/warnings, even if my PC works fine. At least you learn some interesting stuff.
Huge pages
pmd_set_huge: Cannot satisfy [mem 0x383ff0000000-0x383ff0200000] with a huge-page mapping due to MTRR override.
- MTRR memory type range register, used by processor to determine type of memory (uncacheable, write-back…) behind an address range.
- MTRR are mostly deprecated to PAT (page table attributes) which offers higher granularity
- Memory range overlaps between huge pages and MTRR caused the huge page to be split.
- However in this case, MTRR are set by the BIOS, they cannot be changed by the OS (even with kernel param
enable_mtrr_cleanup
)- Changing 32bit or 64bit PCI mapping on the BIOS influences
/proc/mtrr
- Changing 32bit or 64bit PCI mapping on the BIOS influences
# 32bit PCI mapping
reg05: base=0x0f0000000 ( 3840MB), size= 32MB, count=1: write-through
# lspci
03:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1) (prog-if 00 [VGA controller])
Memory at f0000000 (64-bit, prefetchable) [size=32M]
# 64bit PCI mapping
reg05: base=0x383ff0000000 (58982144MB), size= 32MB, count=1: write-through
Huge page conclusion
- Not sure what was linux attempting to map with a 1GB page.
- Not a big deal, I can live with a few extra 4K pages.
UDEV
systemd-udevd[412]: /usr/lib/udev/rules.d/51-android.rules:549 The line takes no effect, ignoring.
systemd-udevd[453]: sdb: /etc/udev/rules.d/60-schedulers.rules:2 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:1f.2/ata5/host4/target4:0:0/4:0:0:0/block/sdb/queue/scheduler}, ignoring: Invalid argument
cfg80211: Process '/usr/bin/set-wireless-regdom' failed with exit code 1.
UDEV conclusion
- Bad formed android rules are caused by adb, not a big dealio
- Looks like the block device scheduler changed name from
noop
tonone
=> FIXED - ‘regdom’ refers to regulatory domain limitations on powerbands and tx power. Wifi works and has expected speeds.
Firmware bugs
TSC ADJUST: CPU0: -8605093541 force to 0
TSC ADJUST differs within socket(s), fixing all errors
#2 #3 #4 #5 #6
MDS CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html for more details.
#7 #8 #9 #10 #11
- TSC : timestamp counter, a x86 register.
- MDS : Microarchitectural Data Sampling, a side channel attack.
Firmware conclusion
- Boot param
libata.noacpi
to avoid TSC adjust warnings => PC fails to boot - MDS mitigation flushes some buffers, it may impact perf, maybe disable ?
EDAC : Error Detection And Correction
EDAC sbridge: CPU SrcID #0, Ha #0, Channel #0 has DIMMs, but ECC is disabled
EDAC sbridge: Couldn't find mci handler
EDAC sbridge: Failed to register device with error -19.
- EDAC are a set of linux modules to interface with hardware with error correcting capabilities and report error rates.
- For example PCI bus or ECC memory
- EDAC module may be statically linked (aka not displayed by
lsmod
), check/lib/modules/$(uname -r)/modules.builtin
- Most desktops do not have ECC (check
sudo dmidecode -t 17
)
- sbridge refers to sandy bridge (intel arch). Turns out that
edac_sbridge
is the module config also for Haswell procs. - mci refers to memory controller information a linux
struct
.
EDAC conclusion
- Nothing to worry since I do not have ECC.
- try kernel boot param
edac_report=off
to see if logs get less verbose
- try kernel boot param
USB
usb 2-2.4: config 1 has an invalid interface number: 3 but max is 2
usb 2-2.4: config 1 has an invalid interface number: 3 but max is 2
usb 2-2.4: config 1 has an invalid interface number: 3 but max is 2
usb 2-2.4: config 1 has no interface number 2
hid-generic 0003:1852:7022.0005: No inputs registered, leaving
hid-generic 0003:1852:7022.0005: hidraw2: USB HID v1.00 Device [GFEC ASSP MyAMP] on usb-0000:00:14.0-2.4/input0
- USB devices present themselves using configurations,interfaces, endpoints
- In this case my USB DAC present 1 configuration with 3 interfaces (audio control, audio stream, audio stream hidef)
- Although I paid good money for it, the firmware devs did not comform to the USB spec, interface ids should be sequential
- HID human interface device : a type of USB interface
- Again this complains about my USB DAC
- Looks like the input declaration on the report descriptor are okish though
- cf
hexdump -C "/sys/bus/usb/devices/<device>/<interface>/<id>/report_descriptor"
USB conclusion
- USB dac works fine, even the HID (not sure why since no inputs got detected)
- For the price I paid for the damn audio card, I would have expected usb2 support …
KDE
kscreen.kded: UPower not available, lid detection won't work
kded5[1037]: kscreen.kded: PowerDevil SuspendSession action not available!
powerdevil: Xrandr not supported, trying ddc, helper
backlighthelper[1229]: powerdevil: no kernel backlight interface found
powerdevil: org.kde.powerdevil.backlighthelper.brightness failed
powerdevil: The profile "AC" tried to activate "DimDisplay" a non-existent action. This is usually due to an installation problem, a configuration problem, or because the action is not supported
kf5.kpackage: No metadata file in the package, expected it at: "/usr/share/wallpapers/Breath/contents/images/"
plasmashell[1093]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:76:9: Unable to assign [undefined] to QStringList
plasmashell[1093]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:75:9: Unable to assign [undefined] to int
plasmashell[1093]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:75:9: Unable to assign [undefined] to int
plasmashell[1093]: file:///usr/share/plasma/wallpapers/org.kde.image/contents/ui/main.qml:76:9: Unable to assign [undefined] to QStringList
plasmashell[1093]: trying to show an empty dialog
plasmashell[1093]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:146:19: QML Loader: Binding loop detected for property "height"
plasma-nm: Unhandled active connection state change: 1
kdeinit5[1374]: kf5.kio.kio_tags: tag fetch failed: "Failed to open the database"
kdeinit5[1374]: kf5.kio.kio_tags: "tags:/" list() invalid url
- xrandr (Resize and Rotate) is a configuration tool for xsrever screens.
- ddc (Display Data Channel) is a protocol to communicate with the monitor
- There are too many power management options.
- To handle power events (like poweroff button) you can use powerdevil, acpid, sytemd-logind, TLP, upower (this one looks more like middleware)
- kpackage is an API for installation and loading of additional content (ex: scripts, images…)
- no idea about this metadata deal …
- QML is a declarative language that to build GUIs.
- plasma-nm is the networkmanager applet frontend
- KIO is an API for file access (local or via network)
KDE Conclusion
- most warning related to power saving are not applicable to a desktop => dump powerdevil
- Do not care about KDE bugs (KIO, QML or applets), the stuff I use works fine
Misc Cr*p
thermal thermal_zone0: failed to read out thermal zone (-61)
kauditd_printk_skb: 20 callbacks suppressed
thermal_zone0
looks to be related to wifi (cf/sys/class/thermal/thermal_zone0/type
)- Since this is pcie adapter into the mobo maybe it just cannot be read (even running
sensors-detect
again)
- Since this is pcie adapter into the mobo maybe it just cannot be read (even running
- kauditd is the kernel part of the auditing framework. kauditd communicates with user space via a netlink socket.
- Not sure why this is firing since I disabled all rules in ‘/etc/auditd/rules.d’ (there is not even
/var/log/audit/*.log
) - Maybe somehow
systemd-journal
is getting those audit events ? (I disabledaudit.service
unit)
- Not sure why this is firing since I disabled all rules in ‘/etc/auditd/rules.d’ (there is not even
Misc Cr*p conclusion
auditd
is not needed- although temperature sensors are broken for wifi card, it works ok