| US 7,490,117 B2 | ||
| Dynamic performance monitoring-based approach to memory management | ||
| Sreenivas Subramoney, Palo Alto, Calif. (US); Richard Hudson, Florence, Mass. (US); Mauricio Serrano, San Jose, Calif. (US); and Ali-Reza Adl-Tabatabai, Santa Clara, Calif. (US) | ||
| Assigned to Intel Corporation, Santa Clara, Calif. (US) | ||
| Filed on Dec. 31, 2003, as Appl. No. 10/749,425. | ||
| Prior Publication US 2006/0143421 A1, Jun. 29, 2006 | ||
| Int. Cl. G06F 12/08 (2006.01) | ||
| U.S. Cl. 707—206 [711/170; 711/173] | 13 Claims |

| 1. An article comprising a machine-accessible medium having stored thereon instructions that, when executed by a machine,
cause the machine to:
obtain, from a performance monitor, performance data for a memory heap having a plurality of memory regions;
based on the performance data, determine if at least one of the plurality memory regions is a delinquent region, wherein said
determining includes instructions that when executed cause the machine to count the number of occurrences of the performance
data and to compare the count of the number of occurrences of the performance data to a threshold value, wherein if the count
has reached the threshold value a delinquent region is determined to exist, wherein the performance data represents at least
one memory performance event;
in response to a determination that at least one of the plurality of memory regions is a delinquent region, execute a memory
management routine to optimize that region of the memory heap by executing a garbage collection routine on at least one delinquent
region, the garbage collection routine re-arranging the plurality of memory regions stored in the memory heap to optimize
the memory heap; and
execute a secondary memory management routine on at least one non-delinquent region, wherein the secondary memory management
routine is different than the memory management routine.
|