Patent ID: 9727479
Date: 2017-08-08
CPC Classifications: G06F

Claim:
1. A method, performed by a computing device, of improving utilization of cache space of the computing device, the method comprising: storing data used by a set of cache managers in a set of buffer cache pages of memory of the computing device, each buffer cache page of the set of buffer cache pages being pointed to by a respective associated buffer cache descriptor (BCD); upon any buffer cache page of the set of buffer cache pages becoming unused by the set of cache managers, placing the associated BCD of that buffer cache page onto a tail end of an LRU (least-recently-used) queue, the LRU queue being arranged such that BCDs that point to buffer cache pages that were used more recently are positioned closer to the tail end and BCDs that point to buffer cache pages that were used less recently are positioned closer to a head end of the LRU queue; for a set of BCDs positioned at the head end of the LRU queue, compressing the buffer cache pages pointed to by those BCDs into fewer buffer cache pages, thereby freeing at least one buffer cache page for reuse; and adjusting pointers within the set of BCDs positioned at the head end of the LRU queue to point to locations within the fewer buffer cache pages; wherein compressing the buffer cache pages pointed to by those BCDs into fewer buffer cache pages includes traversing the LRU queue from the head end towards the tail end, compressing buffer cache pages pointed to by groups of consecutively-positioned BCDs within the LRU queue such that the buffer cache pages pointed to by each group of consecutively-positioned BCDs are compressed into a single buffer cache page of memory, each buffer cache page being separately compressed.