[opensuse-factory] Factory _constraints for 32bit architectures
Hi, increasingly recently I'm seeing constraints added to Factory packages in this form: <constraints> <hardware> <physicalmemory> <size unit="M">2048</size> </physicalmemory> ... This tells OBS to not schedule the job on hosts that can not provide at least 2048 Megabyte (2048 * 1024 * 1024 bytes). With other words, this rules out all 32bit workers without LPAE extension. Unfortunately due to unsolved upstream bugs, the current Guest kernel we use for KVM builds does not have LPAE enabled, which means we can boot VMs with 2000 MB memory maximum (actually a bit lower than that). As a temporary measurement, I've hacked the workers to report 64GB of memory to the scheduler so that those constraints are not effective, but it would be nice to fix this at the source. Please do not add a constraint that rules out any chance of 32bit ARM builds unless you really really really need it (so far I have not seen any package in Factory that cannot be made building with less than 2GB of RAM though). Thanks for reading! Greetings, Dirk -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Am 07.10.2013 15:07, schrieb Dirk Müller:
Hi,
increasingly recently I'm seeing constraints added to Factory packages in this form:
<constraints> <hardware> <physicalmemory> <size unit="M">2048</size> </physicalmemory> ...
This tells OBS to not schedule the job on hosts that can not provide at least 2048 Megabyte (2048 * 1024 * 1024 bytes). With other words, this rules out all 32bit workers without LPAE extension.
Unfortunately due to unsolved upstream bugs, the current Guest kernel we use for KVM builds does not have LPAE enabled, which means we can boot VMs with 2000 MB memory maximum (actually a bit lower than that).
As a temporary measurement, I've hacked the workers to report 64GB of memory to the scheduler so that those constraints are not effective, but it would be nice to fix this at the source.
Please do not add a constraint that rules out any chance of 32bit ARM builds unless you really really really need it (so far I have not seen any package in Factory that cannot be made building with less than 2GB of RAM though).
Just for clarification. This addresses especially <physicalmemory> and not <memory>? I have no idea for ARM but for Firefox & Co. I need usually around 4GB of "memory" which can involve swap I guess which is more than suboptimal for speed but otherwise I guess we have only very few machines to have real physical 4GB? Wolfgang -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 10/07/2013 03:14 PM, Wolfgang Rosenauer wrote:
Am 07.10.2013 15:07, schrieb Dirk Müller:
Hi,
increasingly recently I'm seeing constraints added to Factory packages in this form:
<constraints> <hardware> <physicalmemory> <size unit="M">2048</size> </physicalmemory> ...
This tells OBS to not schedule the job on hosts that can not provide at least 2048 Megabyte (2048 * 1024 * 1024 bytes). With other words, this rules out all 32bit workers without LPAE extension.
Unfortunately due to unsolved upstream bugs, the current Guest kernel we use for KVM builds does not have LPAE enabled, which means we can boot VMs with 2000 MB memory maximum (actually a bit lower than that).
As a temporary measurement, I've hacked the workers to report 64GB of memory to the scheduler so that those constraints are not effective, but it would be nice to fix this at the source.
Please do not add a constraint that rules out any chance of 32bit ARM builds unless you really really really need it (so far I have not seen any package in Factory that cannot be made building with less than 2GB of RAM though).
For devel:languages:python:Factory/pypy I have the following set: <constraints> <hardware> <cpu> <flag>sse2</flag> </cpu> <physicalmemory> <!-- Actually we only need >4G on x86_64, 2G should be sufficient on 32-bit machines --> <size unit="M">5120</size> </physicalmemory> </hardware> </constraints> As you can read from my comment, I can probably live with half the mem on 32bit hardware but _constraints currently can't be limited to architectures. That's a feature I already talked to Adrian about and I think he's got it on his radar (CC'ing opensuse-buildservice@ therefore).
Just for clarification. This addresses especially <physicalmemory> and not <memory>? I have no idea for ARM but for Firefox & Co. I need usually around 4GB of "memory" which can involve swap I guess which is more than suboptimal for speed but otherwise I guess we have only very few machines to have real physical 4GB?
According to [1] (and Adrian), <memory> includes swap, whereas <physicalmemory> does not. I am inclined to always use the latter since pypy builds still take about 3-5 hours to complete. I don't dare to imagine how long it would take when using swap :-) [1] http://openbuildservice.org/help/manuals/obs-reference-guide/cha.obs.build_j... -- Sascha Peilicke SUSE Linux GmbH, Maxfeldstr. 5, D-90409 Nuernberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer HRB 16746 (AG Nürnberg)
Hi Wolfgang,
Just for clarification. This addresses especially <physicalmemory> and not <memory>?
Correct. for <memory> we can fake it by returning a insanely large swap memory information.
I have no idea for ARM but for Firefox & Co. I need usually around 4GB of "memory" which can involve swap I guess which is more than suboptimal for speed
Well, firefox only needs that much memory when building with -g (debug) which we disabled for %arm. So it actually doesn't need it on ARM. The main problem is that _constraints are not arch / build conditional specific, so they describe something that is not really true in practice. Thanks, Dirk -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (3)
-
Dirk Müller
-
Sascha Peilicke
-
Wolfgang Rosenauer