K 10 svn:author V 8 lstewart K 8 svn:date V 27 2009-06-25T14:41:42.961526Z K 7 svn:log V 1564 Major rototill in preparation for merging to 8. This is a checkpoint commit that has only been compile tested on AMD64 so far. Summary of changes as follows: - Split cc.h into cc.h and cc_module.h, to separate out KPI module plumbing (cc_module.h) from generic CC related code (cc.h). Only CC modules should include cc_module.h. - Implement new DECLARE_CC_MODULE() macro, modelled on similar MAC/VFS code, to hide most of the machinery of creating a CC kernel module. A CC module author can now simply put "DECLARE_CC_MODULE(, &_cc_algo);" (replacing as appropriate) at the bottom of their algo's .c file and have the framework handle most of the heavy lifting. - Add new mod_init/mod_destroy function ptrs to struct cc_algo. This provides standardised hook functions for the framework to init/cleanup global CC module state on kldload/kldunload. - Rename init/deinit function ptrs to conn_init/conn_destroy for consistency with the above change and to distinguish per connection init/cleanup from global module init/cleanup. - Remove the global "cc_algorithm" string which was used to hold the name of the systemm default CC algorithm. Since switching to having the default algorithm always be at the head of the cc_list TAILQ, use of this string is redundant. - Catch up with vimage changes that require inclusion of in addition to . - Simplify logic in the sysctl handlers. - Lots of minor cleanup work. - Update existing CC modules as required to work with new world order. END