jakobkummerow created this revision. jakobkummerow added a reviewer: davidedmundson. Herald added a project: Plasma. Herald added a subscriber: plasma-devel. jakobkummerow requested review of this revision.
REVISION SUMMARY Getting CPU information starts with reading /proc/cpuinfo into a buffer; if that buffer is too small, then no information will be returned at all (updateCpuInfo() will return -1, so initCpuInfo() will return early); the consequence is that ksysguardd/ksysguard/plasmaengineexplorer won't know about "system/cores" or "cpu/system/AverageClock"; that in turn will make the "System Load Viewer" plasmoid completely dysfunctional (it won't show *any* data) because it relies on "system/cores" being available. The buffer is currently 32KB large, which is not enough on modern hardware. This patch bumps it to 256K, in order to accommodate current hardware and be future-proof for a few years. I can provide two specific data points, measured with `cat /proc/cpuinfo | wc -c`: - on a 12C24T AMD machine: ~36K - on a 36C72T Intel machine: ~102K Extrapolating, I estimate that the biggest CPUs available today (Ryzen 3990, 64C128T) will need ~192K (but I don't have one of those available to test on). I've verified locally that this patch fixes the issue: the System Log Viewer plasmoid shows data as expected afterwards. Ref: https://bugs.kde.org/show_bug.cgi?id=384515 REPOSITORY R106 KSysguard REVISION DETAIL https://phabricator.kde.org/D27362 AFFECTED FILES ksysguardd/Linux/cpuinfo.c To: jakobkummerow, davidedmundson Cc: plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart