1. A performance monitoring hardware unit, comprising: logic to poll one or more performance monitoring shared resources and determine a status of each performance monitoring shared resource; and an interface to provide the status to allow programming of the one or more performance monitoring shared resource.