diff options
author | Bernhard Voelker <mail@bernhard-voelker.de> | 2012-06-20 07:57:31 +0200 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2012-06-20 08:12:17 +0200 |
commit | daab10d9f58d62af896d6b33d06e0d4998f2f114 (patch) | |
tree | c4577b55a38049c03d61b7548cc6eab0d157fffe | |
parent | 5c2181c870f4bc1abaee8ffd0b088ab05f87a61c (diff) | |
download | coreutils-daab10d9f58d62af896d6b33d06e0d4998f2f114.tar.xz |
maint: sort: style adjustment to help clarify size determination
* src/sort.c (default_sort_size): Move physmem code "down" to first use.
-rw-r--r-- | src/sort.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/sort.c b/src/sort.c index 2593a2a6e..5a48ce6f0 100644 --- a/src/sort.c +++ b/src/sort.c @@ -1400,22 +1400,15 @@ specify_nthreads (int oi, char c, char const *s) return nthreads; } - /* Return the default sort size. */ static size_t default_sort_size (void) { - /* Let MEM be available memory or 1/8 of total memory, whichever - is greater. */ - double avail = physmem_available (); - double total = physmem_total (); - double mem = MAX (avail, total / 8); - struct rlimit rlimit; - /* Let SIZE be MEM, but no more than the maximum object size or system resource limits. Don't bother to check for values like RLIM_INFINITY since in practice they are not much less than SIZE_MAX. */ size_t size = SIZE_MAX; + struct rlimit rlimit; if (getrlimit (RLIMIT_DATA, &rlimit) == 0 && rlimit.rlim_cur < size) size = rlimit.rlim_cur; #ifdef RLIMIT_AS @@ -1434,6 +1427,12 @@ default_sort_size (void) size = rlimit.rlim_cur / 16 * 15; #endif + /* Let MEM be available memory or 1/8 of total memory, whichever + is greater. */ + double avail = physmem_available (); + double total = physmem_total (); + double mem = MAX (avail, total / 8); + /* Return the minimum of MEM and SIZE, but no less than MIN_SORT_SIZE. Avoid the MIN macro here, as it is not quite right when only one argument is floating point. */ |