11-13-2012, 09:28 AM
OK, this isn't a problem with Xonotic itself but it greatly impacts on Xonotic performance. Not sure if anyone else has seen this before.
First the system:
Arch Linux (rolling release but a few weeks out of date)
C2D E8200
2Gb RAM
Geforce 9600GT with NVIDIA driver
Previously this system has got 315fps on the OMG setting of The Big Benchmark. OMG is best to test CPU dependency so I thought of using it to look at the effects of SMP. This can be done by adding maxcpus=n to the kernel boot line.
First running with maxcpus=1, this gave 297fps so a slight reduction in performance. cat /proc/cpuinfo shows only one core as expected.
The problem then came when booting normally again. Now I don't get 315fps, I get 230fps even though cpuinfo shows 2 cores. I've lost 25% performance somehow!
Trying again:
maxcpus=2 : 230fps
maxcpus=1 : 297fps
no explicit option: 231fps
maxcpus=8 (worth trying) : 230fps
maxcpus=0 (same as noSMP) : 294fps
acpi=off : 300fps
So somehow by fiddling with maxcpus= it is possible to break SMP. I've been through a few system updates since trying this and no change. It won't be a Xonotic issue and there definitely are 2 cores running but something is clearly wrong when the system runs faster on 1 core than 2. I had thought it might be an NVIDIA driver issue but again, that's been updated with no change.
It could be I've come across some really obscure bug but I have absolutely no idea how to prove it. I would however ask if anyone else has any idea and urge caution if anyone else wants to try using maxcpus=. I might end up having to reinstall.
First the system:
Arch Linux (rolling release but a few weeks out of date)
C2D E8200
2Gb RAM
Geforce 9600GT with NVIDIA driver
Previously this system has got 315fps on the OMG setting of The Big Benchmark. OMG is best to test CPU dependency so I thought of using it to look at the effects of SMP. This can be done by adding maxcpus=n to the kernel boot line.
First running with maxcpus=1, this gave 297fps so a slight reduction in performance. cat /proc/cpuinfo shows only one core as expected.
The problem then came when booting normally again. Now I don't get 315fps, I get 230fps even though cpuinfo shows 2 cores. I've lost 25% performance somehow!
Trying again:
maxcpus=2 : 230fps
maxcpus=1 : 297fps
no explicit option: 231fps
maxcpus=8 (worth trying) : 230fps
maxcpus=0 (same as noSMP) : 294fps
acpi=off : 300fps
So somehow by fiddling with maxcpus= it is possible to break SMP. I've been through a few system updates since trying this and no change. It won't be a Xonotic issue and there definitely are 2 cores running but something is clearly wrong when the system runs faster on 1 core than 2. I had thought it might be an NVIDIA driver issue but again, that's been updated with no change.
It could be I've come across some really obscure bug but I have absolutely no idea how to prove it. I would however ask if anyone else has any idea and urge caution if anyone else wants to try using maxcpus=. I might end up having to reinstall.
I'm at least a reasonably tolerable person to be around - Narcopic