Author: gabor
Date: Mon Dec 17 09:36:43 2012
New Revision: 244346
URL: http://svnweb.freebsd.org/changeset/base/244346

Log:
  - Use unsigned int for values obtained with sysctlbyname().  This fixes
    sparc64 performance problems.
  
  Submitted by: Oleg Moskalenko <oleg.moskale...@citrix.com>
  Tested by:    trasz

Modified:
  head/usr.bin/sort/sort.c
  head/usr.bin/sort/sort.h

Modified: head/usr.bin/sort/sort.c
==============================================================================
--- head/usr.bin/sort/sort.c    Mon Dec 17 06:44:16 2012        (r244345)
+++ head/usr.bin/sort/sort.c    Mon Dec 17 09:36:43 2012        (r244346)
@@ -103,7 +103,7 @@ bool debug_sort;
 bool need_hint;
 
 #if defined(SORT_THREADS)
-size_t ncpu = 1;
+unsigned int ncpu = 1;
 size_t nthreads = 1;
 #endif
 
@@ -268,14 +268,16 @@ set_hw_params(void)
 #if defined(SORT_THREADS)
        size_t ncpusz;
 #endif
-       size_t pages, psize, psz, pszsz;
+       unsigned int pages, psize;
+       size_t psz, pszsz;
 
        pages = psize = 0;
 #if defined(SORT_THREADS)
        ncpu = 1;
        ncpusz = sizeof(size_t);
 #endif
-       psz = pszsz = sizeof(size_t);
+       psz = sizeof(pages);
+       pszsz = sizeof(psize);
 
        if (sysctlbyname("vm.stats.vm.v_free_count", &pages, &psz,
            NULL, 0) < 0) {
@@ -299,6 +301,9 @@ set_hw_params(void)
 
        free_memory = (unsigned long long) pages * (unsigned long long) psize;
        available_free_memory = (free_memory * 9) / 10;
+
+       if (available_free_memory < 1024)
+               available_free_memory = 1024;
 }
 
 /*

Modified: head/usr.bin/sort/sort.h
==============================================================================
--- head/usr.bin/sort/sort.h    Mon Dec 17 06:44:16 2012        (r244345)
+++ head/usr.bin/sort/sort.h    Mon Dec 17 09:36:43 2012        (r244346)
@@ -54,7 +54,7 @@ extern const char *nlsstr[];
 
 #if defined(SORT_THREADS)
 #define MT_SORT_THRESHOLD (10000)
-extern size_t ncpu;
+extern unsigned int ncpu;
 extern size_t nthreads;
 #endif
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to