Go to file
Vitaly Chikunov 0b18c0498e prevent exceeding 32 bit memory limitations with multithreaded xz compression
Based on commit a60f36a55 by Per Øyvind Karlsen. Original commit message:

  As 32 bit build suffers under the limitation of 32 bit address space,
  regardless of it's environment would be ie. 64 bit and not have this
  constration, rpm must make sure not to exceed this memory limitation.
  When using multithreaded xz compression, the number of threads used will
  increase the memory usage, making it necessary to check the memory
  required with the number of threads to be used.

  Number of compression threads will therefore be kept reduced untill
  amount of memory required won't exceed this limitation.

  For 32 bit binaries running under 64 bit host environment, where less
  available memory will be reserved for kernel, easing memory constraints,
  determination of this will be done by a combination of checking host
  arch as well as whether 32 bit personality flag is set, thereby still
  allow a sligthly greater memory usage for such cases to avoid
  imposing unnecessatry limitations under such environments.

Changes from the original commit:

- Do not call uname(2).
- Limits are increased.
- Do not call lzma_memlimit_set().
- No message about thread limitation.

Reviewed-by: Dmitry V. Levin <ldv@altlinux.org>
2020-12-10 19:15:42 +03:00
.gear added .gitignore, improved support for in-tree building 2010-08-17 19:20:40 +04:00
autodeps added me to "Copyright (C)" 2016-11-28 22:37:13 +03:00
build addReqProv: ignore self-provides 2020-11-11 08:00:00 +00:00
doc Add documentation for %getncpus macro 2020-12-08 22:48:05 +03:00
lib Add 'VCS' key 2019-11-01 16:16:23 +00:00
po Disable build and install of unpackaged files 2017-01-14 13:42:53 +00:00
python Fix automake warnings 2014-02-15 22:19:47 +00:00
rpmdb remark: we don't print the disttag 2019-02-26 23:19:51 +03:00
rpmio prevent exceeding 32 bit memory limitations with multithreaded xz compression 2020-12-10 19:15:42 +03:00
scripts debuginfo: Fix 'warning: File listed twice' for debug sources 2020-11-15 17:54:34 +03:00
tests tests: Add debugedit tests 2020-11-10 06:43:20 +03:00
tools debuginfo: Fix 'warning: File listed twice' for debug sources 2020-11-15 17:54:34 +03:00
.gitignore percolate: register it in Makefile etc. 2016-04-05 22:57:42 +03:00
.lclintrc re-added .lclintrc and .cvsignore files from CVS 2002-03-25 20:27:37 +00:00
build.c build.c: adjust for macroTableSize change 2011-01-06 05:00:53 +03:00
build.h Initial revision 2002-03-25 20:16:26 +00:00
CHANGES s/relocateable/relocatable/ (jbj) 2008-06-04 13:54:36 +04:00
configure.ac Add a built-in macro for fetching number of CPUs, affinity aware and all 2020-12-08 22:47:59 +03:00
COPYING Initial revision 2002-03-25 20:16:26 +00:00
CREDITS Initial revision 2002-03-25 20:16:26 +00:00
debug.h Initial revision 2002-03-25 20:16:26 +00:00
Doxyfile.in build/files.c (addFile): replaced myftw() with fts(3) 2011-01-15 10:35:58 +03:00
Doxyheader Initial revision 2002-03-25 20:16:26 +00:00
gendiff gendiff: I guess "||" is somewhat better than "&&" (at least two bytes shorter!) 2007-01-25 00:32:34 +03:00
GROUPS GROUPS: add Graphical desktop/MATE (ALT#27626) 2012-08-16 22:56:05 +00:00
INSTALL sync with rpm4 branch: s/redhat/RPM/g 2002-03-25 20:44:16 +00:00
installplatform installplatform: drop unsused variables from the script 2020-06-28 19:23:11 +03:00
macros.in macros: Enable multi-threaded xz payload compression 2020-12-08 22:49:11 +03:00
Makefile.am tests: Add debugedit tests 2020-11-10 06:43:20 +03:00
platform.in platform.in: change %__nprocs definition to use %getncpus instead of nproc(1) 2020-12-08 22:49:11 +03:00
README Initial revision 2002-03-25 20:16:26 +00:00
README.ALT-ru_RU.UTF-8 debuginfo: Implement %_stripped_files_terminate_build 2020-08-23 17:01:20 +03:00
rpm2cpio.c Make rpm2cpio exit code accurate for large packages 2015-11-18 20:52:46 +03:00
rpm-4_0.spec 4.0.4-alt157 2020-12-08 22:49:11 +03:00
rpm-build.buildreq rpm-build.buildreq: added /usr/lib/rpm/macros.d/* 2008-12-16 03:34:01 +03:00
rpminit Removed cvsid tags. 2006-05-14 17:05:34 +04:00
rpminit.1 Removed cvsid tags. 2006-05-14 17:05:34 +04:00
rpmpopt.in rpmbuild: add "-bt" %check-only option 2011-12-06 16:25:14 +00:00
rpmqv.c Check for cookie_io_functions_t provided by stdio.h 2019-11-24 11:58:18 +00:00
rpmrc.in rpmrc.in: inessential tweaks to follow upstream rpmrc.in more closely 2020-07-03 14:42:32 +03:00
system.h Introduce xasprintf 2019-01-10 23:20:03 +00:00
TODO Initial revision 2002-03-25 20:16:26 +00:00

This is RPM, the Red Hat Package Manager.

The latest releases are always available at:

	ftp://ftp.rpm.org/pub/rpm

Additional RPM documentation (papers, slides, HOWTOs) can also be
found at the same site, as well as http://www.rpm.org.

There is a mailing list for discussion of RPM issues, rpm-list@redhat.com.
To subscribe, send a message to rpm-list-request@redhat.com with the word
"subscribe" in the subject line.

RPM was originally written by:

    Erik Troan <ewt@redhat.com>
    Marc Ewing <marc@redhat.com>

See the CREDITS file for a list of folks who have helped us out
tremendously.  RPM is Copyright (c) 1998 by Red Hat Software, Inc.,
and may be distributed under the terms of the GPL and LGPL (see  the
file COPYING for details).