1. A system comprising: a first agent comprising a first cache; a second agent comprising a second cache; a third cache, wherein memory requests which miss in the first cache are sent to the third cache, and wherein memory requests which miss in the second cache are sent to the third cache; and control logic; wherein responsive to detecting a miss of a first memory request in the third cache, wherein the first memory request is generated by the first agent, the control logic is configured to: detect a first condition; and responsive to detecting the first condition, allocate the first memory request in the second cache.