Patent ID: 8862739

Claim:
A method comprising: assigning, at a virtual function manager executing at a processor of a computing device, N resources to each virtual function of a plurality of virtual functions, wherein each virtual function is associated with a port of a plurality of ports of an input/output adapter, and wherein N is an integer greater than 0; determining a first port of the plurality of ports based on a first bandwidth availability, wherein the first port is associated with a subset of the plurality of virtual functions; assigning a number of additional resources to each virtual function of the subset of virtual functions associated with the first port so that each virtual function of the subset of virtual functions is assigned M resources, wherein M is an integer greater than N, and wherein each resource is assigned to a single virtual function; and in response to determining that a total number of resources assigned to the plurality of virtual functions exceeds a threshold, reversing the assignment of the additional resources to the virtual functions of the subset.