Method and an apparatus for pre-fetching and processing work for procesor cores in a network processor
US-9811467-B2 · Nov 7, 2017 · US
US12224950B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12224950-B2 |
| Application number | US-202217979018-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 2, 2022 |
| Priority date | Nov 2, 2022 |
| Publication date | Feb 11, 2025 |
| Grant date | Feb 11, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
In one embodiment, a system includes a memory to store a work queue including work queue entry slots, a processing device to write work queue entries to the work queue in a consecutive and cyclic manner, and a network device including a network interface to share packet over a network, and packet processing circuitry to read the work queue entries from the work queue in a consecutive and cyclic manner, the work queue entries indicating work to be performed associated with the packets, dequeue respective ones of the work queue entries read from the work queue responsively to reading the respective work queue entries from the work queue, add the work queue entries to an execution database used to track execution of the work queue entries, and execute the work queue entries in the execution database.
Opening claim text (preview).
What is claimed is: 1. A system comprising: a memory to store a work queue including a plurality of work queue entry slots; a processing device to write work queue entries to the work queue in the work queue entry slots in a consecutive and cyclic manner so that a new work queue entry is added to a next one of the work queue entry slots; and a network device including: a network interface to share packets over a network; and packet processing circuitry to: read the work queue entries from the work queue in a consecutive and cyclic manner, the work queue entries indicating work to be performed associated with the packets; dequeue respective ones of the work queue entries read from the work queue responsively to reading the respective work queue entries from the work queue; add the work queue entries to an execution database used to track execution of the work queue entries; and execute the work queue entries in the execution database. 2. The system according to claim 1 , wherein the respective work queue entries are dequeued from the work queue independently of completion of the execution of the respective work queue entries. 3. The system according to claim 1 , wherein the memory is disposed in the processing device, or the network device, or a peer device. 4. The system according to claim 1 , further comprising an internal hardware database, which includes the execution database. 5. The system according to claim 1 , wherein the work queue entries are executed in an order different to the order of the work queue entries in the work queue. 6. The system according to claim 1 , wherein the packet processing circuitry is configured to generate execution completion notices notifying the processing device that the work queue entries have completed execution. 7. The system according to claim 6 , wherein: the work queue entries include respective identifications which identify the work queue entries independently of the identifications of the work queue slots; and the packet processing circuitry is configured to generate the execution completion notices to include the respective identifications of the work queue entries that have completed execution. 8. The system according to claim 6 , wherein: the processing device is configured to define a work queue entry group for a group of the work queue entries; and the packet processing circuitry is configured to generate one of the execution completion notices for the work queue entry group notifying the processing device when all the work queue entries in the work queue entry group have completed execution. 9. The system according to claim 8 , wherein the work queue entry group is user defined. 10. The system according to claim 6 , wherein the packet processing circuitry is configured to generate the execution completion notices to provide the processing device of an indication of at least one of the work queue entry slots that are occupied with work queue entries and/or empty. 11. The system according to claim 6 , wherein the packet processing circuitry is configured to generate consumption notices to notify the processing device when work queue entries are dequeued from the work queue. 12. The system according to claim 6 , wherein the packet processing circuitry is configured to generate a consumption notice to notify the processing device when a batch of work queue entries are dequeued from the work queue. 13. The system according to claim 6 , further comprising a work queue status counter, wherein the packet processing circuitry is configured to update the work queue status counter to indicate the work queue entries that have been dequeued from the work queue. 14. The system according to claim 1 , wherein the packet processing circuitry is configured to generate consumption notices to notify the processing device when work queue entries are dequeued from the work queue. 15. The system according to claim 1 , wherein the packet processing circuitry is configured to generate a consumption notice to notify the processing device when a batch of work queue entries are dequeued from the work queue. 16. The system according to claim 1 , further comprising a work queue status counter, wherein the packet processing circuitry is configured to update the work queue status counter to indicate the work queue entries that have been dequeued from the work queue. 17. A work queue management method, comprising: storing a work queue including a plurality of work queue entry slots; writing work queue entries to the work queue in the work queue entry slots in a consecutive and cyclic manner so that a new work queue entry is added to a next one of the work queue entry slots; reading by a network device the work queue entries from the work queue in a consecutive and cyclic manner, the work queue entries indicating work to be performed associated with packets; dequeuing by a network device respective ones of the work queue entries read from the work queue responsively to reading the respective work queue entries from the work queue; adding by a network device the work queue entries to an execution database used to track execution of the work queue entries; and executing by a network device the work queue entries in the execution database. 18. The method according to claim 17 , wherein the respective work queue entries are dequeued from the work queue independently of completion of the execution of the respective work queue entries. 19. The method according to claim 17 , wherein the work queue entries are executed in an order different to the order of the work queue entries in the work queue. 20. The method according to claim 17 , further comprising generating execution completion notices notifying that the work queue entries have completed execution. 21. The method according to claim 20 , wherein: the work queue entries include respective identifications which identify the work queue entries independently of the identifications of the work queue slots; and the generating includes generating the execution completion notices to include the respective identifications of the work queue entries that have completed execution. 22. The method according to claim 20 , further comprising defining a work queue entry group for a group of the work queue entries, and wherein the generating includes generating one of the execution completion notices for the work queue entry group notifying when all the work queue entries in the work queue entry group have completed execution. 23. The method according to claim 22 , wherein the work queue entry group is user defined. 24. The method according to claim 20 , wherein the generating includes generating the execution completion notices to provide an indication of at least one of the work queue entry slots that are occupied with work queue entries and/or empty. 25. The method according to claim 17 , further comprising generating consumption notices to notify when work queue entries are dequeued from the work queue. 26. The method according to claim 17 , further comprising generating a consumption notice to notify when a batch of work queue entries are dequeued from the work queue. 27. The method according to claim 17 , further comprising updating a work queue status counter to indicate the work queue entries that have been dequeued from the work queue. 28. A network device comprising: a network
Fixed service order, e.g. Round Robin · CPC title
based on priority · CPC title
queue load conditions, e.g. longest queue first · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.