squid changes

From: Adrian Chadd <adrian@dont-contact.us>
Date: Tue, 18 Apr 2000 21:32:35 +0800

Hi,

I've been testing my modio branch for quite some time and besides some
rebuild strageness, I think the ideas I've been coding towards are
solid.

Henrik is giving me a hand by merging my modio changes into the latest squid
source tree. Once these changes have been further debugged, I will
start committing them along with documentation into the main squid souce tree.

Since I value people's comments, I will be putting up the patches for
review before I commit them. If they are small bugfixes I won't bother.

These changes are rather far sweeping, and so I am sure things will break
along the way. :)

For those who aren't tracking my sourceforge work, here is what I've done:

* Broken out the replacement policy code into per-storeFS, including both
  heap and LRU support (the code to make the configuration for UFS dirs
  isn't flexible enough to do this, but there isn't anything stopping you)
* Tied the replacement policy into the storefs, so the filesystems have
  tighter control over the replacement policy (think a cyclic or LRU store)
* Reduced the number of copies for swapout and swapin/client copies
* Killed the need for MEM_DISK_BUF and MEM_CLIENT_SOCK_BUF
* Made the codebase more friendly to intorduce more storage types

And what I'm planning to do:

* Work on the way the storage manager deals with in-transit object memory
  and try to increase TCP_MEM_HIT rates
* Reduce the number of list walks and copies even further
* Make the pingdb code a compile option (you'd be surprised how much memory
  is wasted if you don't use it)
* Cut down on squids general memory footprint
* True async io for all storage types

A test cyclic FS thanks to eric Stern is in my modio branch. It needs
some massaging to grow bigger than 2gb spools. If anyone wants to tackle
this one (it will just mean changing the mapping of swap_filen to be
diskoffset * granularity instead of swapfilen == diskoffset, which
isn't going to be that hard) I'll be very grateful.

The Async IO is right at the bottom since it requires some more code changes
before it becomes a possibility.

Once Henrik has merged my code and I'm happy my changes won't break (much),
I'll throw up a diff for people to review. No comments will indicate to me
its acceptance. :-)

Adrian
Received on Tue Apr 18 2000 - 07:32:45 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:23 MST