On Wed, 2 Aug 2000, Adrian Chadd wrote:
> > Remind me again, what was [is] wrong with the old method?
> 
> Simply memory usage. We've just saved three bytes per storeEntry. Its not
> much, but its a start.
We must be talking about different things.  The old method used 
four fewer bytes per StoreEntry.  For "MODIO" you made this change:
@@ -1325,12 +1319,14 @@ struct _StoreEntry {
     size_t swap_file_sz;
     u_short refcount;
     u_short flags;
-    sfileno swap_file_number;
-#if HEAP_REPLACEMENT
-    heap_node *node;
-#else
-    dlink_node lru;
+    sdirno swap_dirn;
+    sfileno swap_filen;
+    union {
+#ifdef HEAP_REPLACEMENT
+        heap_node *node;
 #endif
+        dlink_node lru;
+    } repl;
     u_short lock_count;                /* Assume < 65536! */
     mem_status_t mem_status:3;
     ping_status_t ping_status:3;
which increased StoreEntry by 4 octets.  sfileno and sdirno are both
ints.  
Before (i.e., 'the old way') they were combined into a single 4 octet
location where 'swap_filen' was the low 24 bits of swap_file_number and
'swap_dirn' was the high 8 bits..
Received on Wed Aug 02 2000 - 07:12:15 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:34 MST