Patent ID: 9218219
Filing Date: 2015-12-22
Classification: G06F

Abstract:
1. A computer-implemented method, comprising: identifying bandwidth allocations respectively assigned to a plurality of virtual functions that are provided via a hardware input/output adapter in a virtualized computing system, wherein the hardware input/output adapter supports classification of the plurality of virtual functions into a plurality of categories, each category of the plurality of categories representing a different priority level of input/output processing; determining a bandwidth range associated with each group of a plurality of groups based on a highest of the assigned bandwidth allocations, a lowest of the assigned bandwidth allocations, and the number of groups, wherein the number of groups is equal to the number of the plurality of categories, wherein each group corresponds to a respective one of the categories, wherein the bandwidth range associated with each particular group of the plurality of groups is greater than the bandwidth range associated with each group corresponding to a lower priority category than the category corresponding to the particular group, and wherein the bandwidth ranges do not overlap; assigning each virtual function of the plurality of virtual functions to one of the groups, wherein the bandwidth allocation assigned to the virtual function is within the bandwidth range of the group to which the virtual function is assigned; after assigning each virtual function, in response to determining that a first group of the plurality of groups is empty and that a second group of the plurality of groups has two or more virtual functions, redistributing the two or more virtual functions between the second group and the first group, wherein after the redistributing, the first group and the second group each has at least one virtual function, and wherein the second group is associated with a lower bandwidth range than the first group; and after the redistributing, transferring the plurality of virtual functions from each group of the plurality of groups to the category corresponding to the group at the hardware input/output adapter for processing.