Files | |
| file | acache.c |
| file | acache.h |
Defines | |
| #define | PINT_acache_options PINT_tcache_options |
Functions | |
| void | PINT_acache_enable_perf_counter (struct PINT_perf_counter *pc, struct PINT_perf_counter *static_pc) |
| int | PINT_acache_initialize (void) |
| void | PINT_acache_finalize (void) |
| int | PINT_acache_get_info (enum PINT_acache_options option, unsigned int *arg) |
| int | PINT_acache_set_info (enum PINT_acache_options option, unsigned int arg) |
| int | PINT_acache_get_cached_entry (PVFS_object_ref refn, PVFS_object_attr *attr, int *attr_status, PVFS_size *size, int *size_status) |
| int | PINT_acache_update (PVFS_object_ref refn, PVFS_object_attr *attr, PVFS_size *size) |
| void | PINT_acache_invalidate (PVFS_object_ref refn) |
| void | PINT_acache_invalidate_size (PVFS_object_ref refn) |
Variables | |
| PINT_perf_key | acache_keys [] |
| PINT_perf_key | acache_keys [] |
A timeout is associated with each attribute structure to dictate when it will expire, and the attribute mask is used to determine which fields in the attribute structure are valid at a given time. The acache is built on top of the generic tcache caching component.
The tcache implements a simple component for caching data structures that can be referenced by unique, opaque keys. A timeout is associated with each entry to dictate when it will expire. Specific caches such as the attribute or name cache may be built on top of this one.
Notes:
|
|
|
|
||||||||||||
|
Enables perf counter instrumentation of the acache.
|
|
|
Finalizes and destroys the acache, frees all cached entries.
|
Here is the call graph for this function:

|
||||||||||||||||||||||||
|
Retrieves a _copy_ of a cached attributes structure. Also retrieves the logical file size (if the object in question is a file) and reports the status of both the attributes and size to indicate if they are valid or not
|
Here is the call graph for this function:

|
||||||||||||
|
Retrieves parameters from the acache.
|
Here is the call graph for this function:

|
|
Initializes the acache.
|
Here is the call graph for this function:

|
|
Invalidates a cache entry (if present).
|
Here is the call graph for this function:

|
|
Invalidates only the logical size assocated with an entry (if present).
|
Here is the call graph for this function:

|
||||||||||||
|
Sets optional parameters in the acache.
|
Here is the call graph for this function:

|
||||||||||||||||
|
Adds a set of attributes to the cache, or updates them if they are already present. The given attributes are _copied_ into the cache. Size parameter will not be updated if it is NULL.
|
Here is the call graph for this function:

|
|
acache performance counter keys
|
|
|
Initial value:
{
{"ACACHE_NUM_ENTRIES", PERF_ACACHE_NUM_ENTRIES, PINT_PERF_PRESERVE},
{"ACACHE_SOFT_LIMIT", PERF_ACACHE_SOFT_LIMIT, PINT_PERF_PRESERVE},
{"ACACHE_HARD_LIMIT", PERF_ACACHE_HARD_LIMIT, PINT_PERF_PRESERVE},
{"ACACHE_HITS", PERF_ACACHE_HITS, 0},
{"ACACHE_MISSES", PERF_ACACHE_MISSES, 0},
{"ACACHE_UPDATES", PERF_ACACHE_UPDATES, 0},
{"ACACHE_PURGES", PERF_ACACHE_PURGES, 0},
{"ACACHE_REPLACEMENTS", PERF_ACACHE_REPLACEMENTS, 0},
{"ACACHE_DELETIONS", PERF_ACACHE_DELETIONS, 0},
{"ACACHE_ENABLED", PERF_ACACHE_ENABLED, PINT_PERF_PRESERVE},
{NULL, 0, 0},
}
|
1.3.5