Patent ID: 8756608
Filing Date: 2014-06-17
Classification: G06F

Abstract:
1. In a data processing system having at least one processor and a virtualization layer, a method for allocating resources of one or more shared devices shared by one or more partitions of a virtualization environment within the data processing system, the method comprising: associating one or more registers with an operating system in the one or more partitions; receiving at least one user-defined resource assignment for one or more of the one or more shared devices; associating the at least one resource assignment with the one or more partitions; associating an access count with the one or more registers, a register of the one or more registers associated with one partition different from other partitions of the one or more partitions dynamically enabling the one or more registers to implement the at least one resource assignment in accordance with the access count, wherein the at least one resource assignment comprises a pre-defined quantitative measure of the one or more shared devices use when one or more transaction requests are executed within the one or more partitions; based on the at least one resource assignment received, enabling the one or more shared devices to execute the one or more transaction requests within the one or more partitions at a capacity less than or equal to the at least one resource assignment; decrementing the access count of each of the one or more registers each time the one or more registers executes a transaction requests via a processor bus, wherein the processor bus enables access to the one or more shared devices; checking the access count of the one or more registers; transmitting the transaction request to the processor bus when the access count is not zero; blocking access to the processor bus if the access count is zero; retrying the transaction requests in a future bus cycle; and when the access count has reached zero, allowing the transaction requests to proceed with access to the processor bus only when there are no pending accesses to the processor bus from other partitions whose access count is greater than zero.