Source
"%sAuto cache resize -- decrease by ageout with threshold. HR = %lf > %6.5lf\n",
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*-------------------------------------------------------------------------
*
* Created: H5C.c
* June 1 2004
* John Mainzer
*
* Purpose: Functions in this file implement a generic cache for
* things which exist on disk, and which may be
* unambiguously referenced by their disk addresses.
*
* The code in this module was initially written in
* support of a complete re-write of the metadata cache
* in H5AC.c However, other uses for the cache code
* suggested themselves, and thus this file was created
* in an attempt to support re-use.
*
* For a detailed overview of the cache, please see the
* header comment for H5C_t in H5Cpkg.h.
*
* Modifications:
*
* QAK - 11/27/2004
* Switched over to using skip list routines instead of TBBT
* routines.
*
* JRM - 12/15/04
* Added code supporting manual and automatic cache resizing.
* See the header for H5C_auto_size_ctl_t in H5Cprivate.h for
* an overview.
*
* Some elements of the automatic cache resize code depend on
* the LRU list. Thus if we ever choose to support a new
* replacement policy, we will either have to disable those
* elements of the auto resize code when running the new
* policy, or modify them to make use of similar information
* maintained by the new policy code.