-.. BSD LICENSE
- Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
- * Neither the name of Intel Corporation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2010-2014 Intel Corporation.
Quality of Service (QoS) Framework
==================================
The hierarchical scheduler is optimized for a large number of packet queues.
When only a small number of queues are needed, message passing queues should be used instead of this block.
-See Section 26.2.5 "Worst Case Scenarios for Performance" for a more detailed discussion.
+See `Worst Case Scenarios for Performance`_ for a more detailed discussion.
Scheduling Hierarchy
~~~~~~~~~~~~~~~~~~~~
.. _table_qos_6:
-.. table:: Token Bucket Generic Operations
+.. table:: Token Bucket Generic Parameters
+---+------------------------+--------------------+---------------------------------------------------------+
| # | Token Bucket Parameter | Unit | Description |
.. _table_qos_7:
-.. table:: Token Bucket Generic Parameters
+.. table:: Token Bucket Generic Operations
+---+------------------------+------------------------------------------------------------------------------+
| # | Token Bucket Operation | Description |
| | | of the grinders), update the credits for the pipe and its subport. |
| | | |
| | | The current implementation is using option 3. According to Section |
- | | | 26.2.4.4 "Dequeue State Machine", the pipe and subport credits are |
+ | | | `Dequeue State Machine`_, the pipe and subport credits are |
| | | updated every time a pipe is selected by the dequeue process before the |
| | | pipe and subport credits are actually used. |
| | | |
| 1 | tc_time | Bytes | Time of the next update (upper limit refill) for the 4 TCs of the |
| | | | current subport / pipe. |
| | | | |
- | | | | See Section 26.2.4.5.1, "Internal Time Reference" for the |
+ | | | | See Section `Internal Time Reference`_ for the |
| | | | explanation of why the time is maintained in byte units. |
| | | | |
+---+-----------------------+-------+-----------------------------------------------------------------------+
The time reference is in units of bytes,
where a byte signifies the time duration required by the physical interface to send out a byte on the transmission medium
-(see Section 26.2.4.5.1 "Internal Time Reference").
+(see Section `Internal Time Reference`_).
The parameter s is defined in the dropper module as a constant with the value: s=2^22.
This corresponds to the time required by every leaf node in a hierarchy with 64K leaf nodes
to transmit one 64-byte packet onto the wire and represents the worst case scenario.