[Bug 1078165] Re: zram-config fails to start/install on a system with more then 30 processors
Oibaf
1078165 at bugs.launchpad.net
Mon Aug 25 09:11:49 UTC 2014
Note that with kernel 3.15, this should be revised. 3.15 indeed support multi-stream functionality:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=beca3ec71fe5490ee9237dc42400f50402baf83e
It is no longer needed to set up many devices, just use 1 device and the use something like:
echo `nproc` > /sys/block/zram0/max_comp_streams
(I still haven't tried it myself if it scales better or worse)
For more info see: http://kernelnewbies.org/Linux_3.15#head-
52af9ef123b7c0792b09a1a0222fdc8c21ab5d4c
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to zram-config in Ubuntu.
https://bugs.launchpad.net/bugs/1078165
Title:
zram-config fails to start/install on a system with more then 30
processors
Status in “zram-config” package in Ubuntu:
Confirmed
Bug description:
I have an dual processor "Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz".
Its an octo core with hyper-thread so the number of virtual processors are 32:
# grep -c ^processor /proc/cpuinfo
32
zram fails to install and start. from dmesg:
[20817.608907] zram: Creating 32 devices ...
[20817.621309] Adding 514360k swap on /dev/zram0. Priority:5 extents:1 across:514360k SS
[20817.624251] Adding 514360k swap on /dev/zram1. Priority:5 extents:1 across:514360k SS
[20817.627307] Adding 514360k swap on /dev/zram2. Priority:5 extents:1 across:514360k SS
[20817.630403] Adding 514360k swap on /dev/zram3. Priority:5 extents:1 across:514360k SS
[20817.633359] Adding 514360k swap on /dev/zram4. Priority:5 extents:1 across:514360k SS
[20817.636437] Adding 514360k swap on /dev/zram5. Priority:5 extents:1 across:514360k SS
[20817.639563] Adding 514360k swap on /dev/zram6. Priority:5 extents:1 across:514360k SS
[20817.642648] Adding 514360k swap on /dev/zram7. Priority:5 extents:1 across:514360k SS
[20817.645693] Adding 514360k swap on /dev/zram8. Priority:5 extents:1 across:514360k SS
[20817.648791] Adding 514360k swap on /dev/zram9. Priority:5 extents:1 across:514360k SS
[20817.651829] Adding 514360k swap on /dev/zram10. Priority:5 extents:1 across:514360k SS
[20817.654847] Adding 514360k swap on /dev/zram11. Priority:5 extents:1 across:514360k SS
[20817.657859] Adding 514360k swap on /dev/zram12. Priority:5 extents:1 across:514360k SS
[20817.660907] Adding 514360k swap on /dev/zram13. Priority:5 extents:1 across:514360k SS
[20817.663990] Adding 514360k swap on /dev/zram14. Priority:5 extents:1 across:514360k SS
[20817.666961] Adding 514360k swap on /dev/zram15. Priority:5 extents:1 across:514360k SS
[20817.669740] Adding 514360k swap on /dev/zram16. Priority:5 extents:1 across:514360k SS
[20817.672784] Adding 514360k swap on /dev/zram17. Priority:5 extents:1 across:514360k SS
[20817.675825] Adding 514360k swap on /dev/zram18. Priority:5 extents:1 across:514360k SS
[20817.678807] Adding 514360k swap on /dev/zram19. Priority:5 extents:1 across:514360k SS
[20817.681866] Adding 514360k swap on /dev/zram20. Priority:5 extents:1 across:514360k SS
[20817.684797] Adding 514360k swap on /dev/zram21. Priority:5 extents:1 across:514360k SS
[20817.687597] Adding 514360k swap on /dev/zram22. Priority:5 extents:1 across:514360k SS
[20817.690546] Adding 514360k swap on /dev/zram23. Priority:5 extents:1 across:514360k SS
[20817.693530] Adding 514360k swap on /dev/zram24. Priority:5 extents:1 across:514360k SS
[20817.696615] Adding 514360k swap on /dev/zram25. Priority:5 extents:1 across:514360k SS
[20817.699563] Adding 514360k swap on /dev/zram26. Priority:5 extents:1 across:514360k SS
[20817.702580] Adding 514360k swap on /dev/zram27. Priority:5 extents:1 across:514360k SS
[20817.705844] init: zram-config pre-start process (7513) terminated with status 255
From my tests I see that the maximum number of swaps linux accepts to
create is 29. I already had 1 swap partition so zram-config fails to
start trying to create the 28th extent.
I made a patch to zram-config.conf that, before starting zram-config,
counts how many swap spaces are already configured and reduce them
from the number of extents to create:
patch:
# diff -u zram-config.conf.dpkg-dist zram-config.conf
--- zram-config.conf.dpkg-dist 2012-01-09 11:29:00.000000000 -0200
+++ zram-config.conf 2012-11-13 02:10:30.122396348 -0200
@@ -6,6 +6,8 @@
pre-start script
# load dependency modules
NRDEVICES=$(grep -c ^processor /proc/cpuinfo | sed 's/^0$/1/')
+ NRSWAPS=$(($(cat /proc/swaps | wc -l)+$NRDEVICES))
+ if [ $NRSWAPS>=30 ]; then NRDEVICES=$((30+$NRDEVICES-$NRSWAPS)); fi
if modinfo zram | grep -q ' zram_num_devices:' 2>/dev/null; then
MODPROBE_ARGS="zram_num_devices=${NRDEVICES}"
elif modinfo zram | grep -q ' num_devices:' 2>/dev/null; then
I have tested on a 32 core and 4 core machines with 1 swap partition
and no error at start.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/zram-config/+bug/1078165/+subscriptions
More information about the foundations-bugs
mailing list