Abstract:
In an embodiment, a network adapter has a physical port that is multiplexed to multiple logical ports, which have default queues. The adapter also has other queues, which can be allocated to any logical port, and resources, which map tuples to queues. The tuples are derived from data in packets received via the physical port. The adapter determines which queue should receive a packet based on the received tuple and the resources. If the received tuple matches a resource, then the adapter stores the packet to the corresponding queue; otherwise, the adapter stores the packet to the default queue for the logical port specified by the packet. In response to receiving an allocation request from a requesting partition, if no resources are idle, a resource is selected for preemption that is already allocated to a selected partition. The selected resource is then allocated to the requesting partition.
Abstract:
In an embodiment, a network adapter has a physical port that is multiplexed to multiple logical ports, which have default queues. The adapter also has other queues, which can be allocated to any logical port, and resources, which map tuples to queues. The tuples are derived from data in packets received via the physical port. The adapter determines which queue should receive a packet based on the received tuple and the resources. If the received tuple matches a resource, then the adapter stores the packet to the corresponding queue; otherwise, the adapter stores the packet to the default queue for the logical port specified by the packet. In response to receiving an allocation request from a requesting partition, if no resources are idle, a resource is selected for preemption that is already allocated to a selected partition. The selected resource is then allocated to the requesting partition.
Abstract:
In an embodiment, a network adapter has a physical port that is multiplexed to multiple logical ports, which have default queues. The adapter also has other queues, which can be allocated to any logical port, and resources, which map tuples to queues. The tuples are derived from data in packets received via the physical port. The adapter determines which queue should receive a packet based on the received tuple and the resources. If the received tuple matches a resource, then the adapter stores the packet to the corresponding queue; otherwise, the adapter stores the packet to the default queue for the logical port specified by the packet. In response to receiving an allocation request from a requesting partition, if no resources are idle, a resource is selected for preemption that is already allocated to a selected partition. The selected resource is then allocated to the requesting partition.
Abstract:
A method and an apparatus is presented for updating flash memory that contains a write protected code, a first copy of rewritable recovery code, a second copy of rewritable recovery code, and a rewritable composite code. Each block of rewritable code contains a checksum code to detect if the block of code has been corrupted. If it is detected that the first copy of the recovery code is corrupted then the second copy of the recovery code is copied into the first copy of the recovery code. If it is detected the second copy of the recovery code is corrupted then the first copy of the recovery code is copied into the second copy of the recovery code. The recovery code is responsible for checking and updating the composite code. If it is detected the composite code is corrupted then a fresh copy of the composite code is obtained from a removable storage device or a network connection. The data processing system is booted by executing the write protected code, the first copy of the recovery code, and the composite code. There is a minimum of redundant code by only replicating two copies of the recovery code while, at the same time, guaranteeing both the integrity and the updatability of the flash memory.