Method and apparatus for reducing circular list's thrashing by detecting the queues' status on a circular linked list
AssigneeIntel Corporation
InventorJohn S. Howard
Life of this patent
Estimating the term…
Abstract
A host controller, such as a host controller for a Universal Serial Bus, may process isochronous and interrupt transfers on a preferential basis. If time permits, bulk and control transfers may be executed. The bulk and control transfers may be executed in queues having a queue context made up of a queue head and one or more transfer descriptors. These queues may be processed one after another in a circular linked list. By uniquely marking an element in the circular linked list and determining the status of the transfer operation, the host controller can be avoid thrashing the bus when the reclaim list is empty.
Claims13
A method comprising:
- implementing a plurality of bus transfers in a circular linked list;
- implementing said circular linked list with a plurality of queues and each queue has a queue head;
- providing a marker indicating said circular linked list's first transfer;
- scanning said circular linked list to locate transfers to execute;
- setting a bit to indicate whether said transfers have been completed;
- and
- terminating said scanning in response to locating said marker and said bit's state.
An article comprising a medium for storing instructions that enable a processor-based system to:
- implementing a plurality of bus transfers in a circular linked list;
- implementing said circular linked list with a plurality of queues and each queue has a queue head;
- providing a marker indicating said circular linked list's first transfer;
- scanning said circular linked list to locate transfers to execute;
- setting a bit to indicate whether said transfers have been completed;
- and
- terminating said scanning in response to locating said marker and said bit's state.
A processor-based system comprising:
- a processor;
- a host controller coupled to said processor;
- implementing a plurality of bus transfers in a circular linked list;
- implementing said circular linked list with a plurality of queues and each queue has a queue head;
- providing a marker indicating said circular linked list's first transfer;
- scanning said circular linked list to locate transfers to execute;
- setting a bit to indicate whether said transfers have been completed;
- and
- terminating said scanning in response to locating said marker and said bit's state.
Dependencies are inferred from the claim text.