Locking and memory allocation in file system cache
AssigneeVeritas Operating Corporation
InventorsCraig K. Harmer, Aalop Shah, Rahul Khona
Life of this patent
Estimating the term…
Abstract
A method may involve assigning each of a plurality of freelists and a plurality of hashlists used to implement a cache to one of a plurality of lock groups and acquiring one of a plurality of locks. Objects on each freelist and hashlist that are assigned to the same lock group are allocated from the same one of a plurality of memory allocation pools. Each lock group is associated with a respective one of the plurality of locks. Acquiring the lock locks a freelist and several hashlists included in an associated lock group of the plurality of lock groups.
Claims20
A method, comprising:
- assigning each of a plurality of freelists and a plurality of hashlists used to implement a cache to one of a plurality of lock groups, wherein objects on each freelist and hashlist assigned to a same one of the plurality of lock groups are allocated from a same one of a plurality of memory allocation pools, and wherein each lock group is associated with a respective one of a plurality of locks;
- acquiring a lock of the plurality of locks, wherein acquiring the lock locks a freelist and several hashlists included in an associated lock group of the plurality of lock groups.
A computer system, comprising:
- a plurality of processors;
- and
- a memory coupled to the plurality of processors and storing data implementing a cache and program instructions executable by one or more of the plurality of processors to:
- assign each of a plurality of freelists and a plurality of hashlists used to implement a cache to one of a plurality of lock groups, wherein objects on each freelist and hashlist assigned to a same one of the plurality of lock groups are allocated from a same one of a plurality of memory allocation pools, and wherein each lock group is associated with a respective one of a plurality of locks;
- acquire a lock of the plurality of locks, wherein acquiring the lock locks a freelist and several hashlists included in an associated lock group of the plurality of lock groups.
A tangible computer accessible medium comprising program instructions executable to:
- assign each of a plurality of freelists and a plurality of hashlists used to implement a cache to one of a plurality of lock groups, wherein objects on each freelist and hashlist assigned to a same one of the plurality of lock groups are allocated from a same one of a plurality of memory allocation pools, and wherein each lock group is associated with a respective one of a plurality of locks;
- acquire a lock of the plurality of locks, wherein acquiring the lock locks a freelist and several hashlists included in an associated lock group of the plurality of lock groups.
Dependencies are inferred from the claim text.