Date: Sun, 26 Feb 2023 14:10:58 +0100 From: Matthias Andree <matthias.andree@tu-dortmund.de> To: Alexey Dokuchaev <danfe@freebsd.org> Cc: Piotr Kubaj <pkubaj@freebsd.org>, ports-committers@freebsd.org, dev-commits-ports-all@freebsd.org, dev-commits-ports-main@freebsd.org Subject: Re: git: c8c2d4f22536 - main - lang/python3: allow using LTO on powerpc64 Message-ID: <b55eb60d-35b4-6b00-8f4a-9f60c7c71c42@tu-dortmund.de> In-Reply-To: <Y/tP6VomDdWJGjhj@FreeBSD.org> References: <202302241548.31OFmQ39049727@gitrepo.freebsd.org> <98e988fa-9c8b-abee-8357-1cacd7462014@tu-dortmund.de> <Y/tP6VomDdWJGjhj@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Am 26.02.23 um 13:26 schrieb Alexey Dokuchaev: > On Sun, Feb 26, 2023 at 01:00:19PM +0100, Matthias Andree wrote: >> Am 24.02.23 um 16:48 schrieb Piotr Kubaj: >>> commit c8c2d4f2253694802ef720f098c57800570ad2fc >>> >>> lang/python3: allow using LTO on powerpc64 >>> >>> It was recently fixed and will be available in 13.2-RELEASE. >>> Since LTO is not enabled by default, it's ok to make it available. >> >> Careful. LTO causes EXCESSIVE memory use for the build. >> I've had to disable it for a low-memory server I operate (amd64 based, >> but that's the LTO feature itself, not the CPU). > > I think most people just disable LTO because they don't have 256GB+ or > whatever amount of RAM it demands for arguably rather little gain. > > Putting OPTIONS_UNSET+=LTO in your /etc/make.conf makes the ports tree > much more usable. It depends how well software is written, and LTO can make a considerable difference. But it is extremely expensive currently, so it's probably easier to enable only on certain ports that really benefit at run-time. We would require something like a resource scheduler for poudriere or the ports build system, which tracks how much RAM and disk space we need on a certain port, architecture, possibly FreeBSD version, and with certain specific options. My builder has 16 GB RAM (virtually, it's normally in a virtual machine, but can boot natively) and building compilers in parallel usually fails. I have limited JOBS to like 6 or so. If the builds framework could track how much memory and disk space a certain build needed, and possibly the expected build time, it could make better decisions, for instance, if it dispatched a rust or llvm build, it would hold off on other compiler builds and instead build several dozen Perl or Python ports in parallel to rust.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b55eb60d-35b4-6b00-8f4a-9f60c7c71c42>