A system comprising: a last level cache, LLC, having a plurality of ways, each way allocated to one of multiple priorities, each priority associated with a class of service, CLOS, register specifying minimum and maximum number of ways to occupy; a cache control circuit, CCC, to: when an invalid cache line, CL, exists in the LLC, store an incoming cache line, CL, having a requestor priority being one of the multiple priorities to the invalid CL; when the requestor priority is a lowest of the multiple priorities and has an occupancy of one or more, the requestor occupancy being the number of cache lines, CLs, occupied by a requestor in an indexed cache set, or when the occupancy is at a maximum for the requestor priority, store the incoming CL in place of a least recently used, LRU, CL having the requestor priority; when the occupancy is between a minimum and the maximum for the requestor priority, store the incoming CL in place of a LRU CL having the requestor priority or a lower priority; when the occupancy is less than the minimum and a CL having the lower priority exists, store the incoming CL in place of a LRU CL having the lower priority; and when no invalid CL or CL with the requestor or lower priority exists, store the incoming CL in place of a LRU CL having a higher priority. a last level cache, LLC, having a plurality of ways, each way allocated to one of multiple priorities, each priority associated with a class of service, CLOS, register specifying minimum and maximum number of ways to occupy; a cache control circuit, CCC, to: when an invalid cache line, CL, exists in the LLC, store an incoming cache line, CL, having a requestor priority being one of the multiple priorities to the invalid CL; when the requestor priority is a lowest of the multiple priorities and has an occupancy of one or more, the requestor occupancy being the number of cache lines, CLs, occupied by a requestor in an indexed cache set, or when the occupancy is at a maximum for the requestor priority, store the incoming CL in place of a least recently used, LRU, CL having the requestor priority; when the occupancy is between a minimum and the maximum for the requestor priority, store the incoming CL in place of a LRU CL having the requestor priority or a lower priority; when the occupancy is less than the minimum and a CL having the lower priority exists, store the incoming CL in place of a LRU CL having the lower priority; and when no invalid CL or CL with the requestor or lower priority exists, store the incoming CL in place of a LRU CL having a higher priority. when an invalid cache line, CL, exists in the LLC, store an incoming cache line, CL, having a requestor priority being one of the multiple priorities to the invalid CL; when the requestor priority is a lowest of the multiple priorities and has an occupancy of one or more, the requestor occupancy being the number of cache lines, CLs, occupied by a requestor in an indexed cache set, or when the occupancy is at a maximum for the requestor priority, store the incoming CL in place of a least recently used, LRU, CL having the requestor priority; when the occupancy is between a minimum and the maximum for the requestor priority, store the incoming CL in place of a LRU CL having the requestor priority or a lower priority; when the occupancy is less than the minimum and a CL having the lower priority exists, store the incoming CL in place of a LRU CL having the lower priority; and when no invalid CL or CL with the requestor or lower priority exists, store the incoming CL in place of a LRU CL having a higher priority.