]> icculus.org git repositories - icculus/xz.git/commit
Increase the default memory usage limit on "low-memory" systems.
authorLasse Collin <lasse.collin@tukaani.org>
Sun, 7 Mar 2010 11:29:28 +0000 (13:29 +0200)
committerLasse Collin <lasse.collin@tukaani.org>
Sun, 7 Mar 2010 11:29:28 +0000 (13:29 +0200)
commit2672bcc9f85ba28ff648e092e9eb4cd9e69ce418
tree1f3c218b5b20f5d2ec7fb364fd1c7f5f9c1a04c3
parent5527b7269a997e7f335d60f237a64bbf225d9dc7
Increase the default memory usage limit on "low-memory" systems.

Previously the default limit was always 40 % of RAM. The
new limit is a little bit more complex:

  - If 40 % of RAM is at least 80 MiB, 40 % of RAM is used
    as the limit.

  - If 80 % of RAM is over 80 MiB, 80 MiB is used as the limit.

  - Otherwise 80 % of RAM is used as the limit.

This should make it possible to decompress files created with
"xz -9" on more systems. Swapping is generally more expected
on systems with less RAM, so higher default limit on them
shouldn't cause too bad surprises in terms of heavy swapping.
Instead, the higher default limit should reduce the number of
bad surprises when it used to prevent decompression of files
created with "xz -9". The DoS prevention system shouldn't be
a DoS itself.

Note that even with the new default limit, a system with 64 MiB
RAM cannot decompress files created with "xz -9" without user
overriding the limit. This should be OK, because if xz is going
to need more memory than the system has RAM, it will run very
very slowly and thus it's good that user has to override the limit
in that case.
src/xz/hardware.c
src/xz/xz.1
src/xzdec/xzdec.1
src/xzdec/xzdec.c