[memcached] bradfitz, r393: passes on 64 bit now

commits at code.sixapart.com commits at code.sixapart.com
Sat Sep 9 22:12:09 UTC 2006


passes on 64 bit now

U   branches/memcached-1.1.x/memcached.c
U   branches/memcached-1.1.x/memcached.h
U   branches/memcached-1.1.x/slabs.c
U   branches/memcached-1.1.x/t/64bit.t


Modified: branches/memcached-1.1.x/memcached.c
===================================================================
--- branches/memcached-1.1.x/memcached.c	2006-09-09 21:36:48 UTC (rev 392)
+++ branches/memcached-1.1.x/memcached.c	2006-09-09 22:12:07 UTC (rev 393)
@@ -358,7 +358,7 @@
         pos += sprintf(pos, "STAT get_misses %u\r\n", stats.get_misses);
         pos += sprintf(pos, "STAT bytes_read %llu\r\n", stats.bytes_read);
         pos += sprintf(pos, "STAT bytes_written %llu\r\n", stats.bytes_written);
-        pos += sprintf(pos, "STAT limit_maxbytes %u\r\n", settings.maxbytes);
+        pos += sprintf(pos, "STAT limit_maxbytes %llu\r\n", (unsigned long long) settings.maxbytes);
         pos += sprintf(pos, "END");
         out_string(c, temp);
         return;
@@ -1549,7 +1549,7 @@
             settings.port = atoi(optarg);
             break;
         case 'm':
-            settings.maxbytes = atoi(optarg)*1024*1024;
+            settings.maxbytes = ((size_t)atoi(optarg))*1024*1024;
             break;
         case 'M':
             settings.evict_to_free = 0;

Modified: branches/memcached-1.1.x/memcached.h
===================================================================
--- branches/memcached-1.1.x/memcached.h	2006-09-09 21:36:48 UTC (rev 392)
+++ branches/memcached-1.1.x/memcached.h	2006-09-09 22:12:07 UTC (rev 393)
@@ -169,13 +169,13 @@
 
 /* Given object size, return id to use when allocating/freeing memory for object */
 /* 0 means error: can't store such a large object */
-unsigned int slabs_clsid(unsigned int size);
+unsigned int slabs_clsid(size_t size);
 
 /* Allocate object of given length. 0 on error */
-void *slabs_alloc(unsigned int size);
+void *slabs_alloc(size_t size);
 
 /* Free previously allocated object */
-void slabs_free(void *ptr, unsigned int size);
+void slabs_free(void *ptr, size_t size);
     
 /* Fill buffer with stats */
 char* slabs_stats(int *buflen);

Modified: branches/memcached-1.1.x/slabs.c
===================================================================
--- branches/memcached-1.1.x/slabs.c	2006-09-09 21:36:48 UTC (rev 392)
+++ branches/memcached-1.1.x/slabs.c	2006-09-09 22:12:07 UTC (rev 393)
@@ -52,7 +52,7 @@
 static size_t mem_limit = 0;
 static size_t mem_malloced = 0;
 
-unsigned int slabs_clsid(unsigned int size) {
+unsigned int slabs_clsid(size_t size) {
     int res = 1;
 
     if(size==0)
@@ -155,7 +155,7 @@
     return 1;
 }
 
-void *slabs_alloc(unsigned int size) {
+void *slabs_alloc(size_t size) {
     slabclass_t *p;
 
     unsigned char id = slabs_clsid(size);
@@ -195,7 +195,7 @@
     return 0;  /* shouldn't ever get here */
 }
 
-void slabs_free(void *ptr, unsigned int size) {
+void slabs_free(void *ptr, size_t size) {
     unsigned char id = slabs_clsid(size);
     slabclass_t *p;
 
@@ -251,7 +251,7 @@
             total++;
         }
     }
-    bufcurr += sprintf(bufcurr, "STAT active_slabs %d\r\nSTAT total_malloced %u\r\n", total, mem_malloced);
+    bufcurr += sprintf(bufcurr, "STAT active_slabs %d\r\nSTAT total_malloced %llu\r\n", total, (unsigned long long) mem_malloced);
     bufcurr += sprintf(bufcurr, "END\r\n");
     *buflen = bufcurr - buf;
     return buf;

Modified: branches/memcached-1.1.x/t/64bit.t
===================================================================
--- branches/memcached-1.1.x/t/64bit.t	2006-09-09 21:36:48 UTC (rev 392)
+++ branches/memcached-1.1.x/t/64bit.t	2006-09-09 22:12:07 UTC (rev 393)
@@ -6,10 +6,10 @@
 use lib "$Bin/lib";
 use MemcachedTest;
 
-$ENV{T_MEMD_INITIAL_MALLOC} = "4294967328"; # 2**32 + 32  :)
+$ENV{T_MEMD_INITIAL_MALLOC} = "4294967328"; # 2**32 + 32 , just over 4GB
 $ENV{T_MEMD_SLABS_ALLOC}    = 0;  # don't preallocate slabs
 
-my $server = new_memcached("-m 4097 -M");
+my $server = new_memcached("-m 4098 -M");
 my $sock = $server->sock;
 
 my ($stats, $slabs) = @_;
@@ -24,14 +24,14 @@
 }
 
 is($stats->{'pointer_size'}, 64, "is 64 bit");
-is($stats->{'limit_maxbytes'}, "4296015872", "max bytes is 4097 MB");
+is($stats->{'limit_maxbytes'}, "4297064448", "max bytes is 4098 MB");
 
 $slabs = mem_stats($sock, 'slabs');
 is($slabs->{'total_malloced'}, "4294967328", "expected (faked) value of total_malloced");
 is($slabs->{'active_slabs'}, 0, "no active slabs");
 
 my $hit_limit = 0;
-for (1..3) {
+for (1..5) {
     my $size = 400 * 1024;
     my $data = "a" x $size;
     print $sock "set big$_ 0 0 $size\r\n$data\r\n";




More information about the memcached-commits mailing list