[PATCH v7 0/7] igb: Implement Transmit Rate Limiting (TRL)

Josh Hilke posted 7 patches 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260622-igb-trl-v7-0-abb960e767ac@google.com
Maintainers: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>, Sriram Yagnaraman <sriram.yagnaraman@ericsson.com>, Jason Wang <jasowang@redhat.com>, Fabiano Rosas <farosas@suse.de>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
There is a newer version of this series
hw/net/igb.c           |  43 +++++++++++
hw/net/igb_common.h    |   1 +
hw/net/igb_core.c      | 142 ++++++++++++++++++++++++++++++++--
hw/net/igb_core.h      |  12 +++
hw/net/igb_regs.h      |   5 ++
tests/qtest/igb-test.c | 206 +++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 404 insertions(+), 5 deletions(-)
[PATCH v7 0/7] igb: Implement Transmit Rate Limiting (TRL)
Posted by Josh Hilke 1 month ago
This is v7 of a patch series implementing the Transmit Rate Limiter (TRL) feature for
the Intel 82576 (igb) network device emulation in QEMU.

v6: https://lists.gnu.org/archive/html/qemu-devel/2026-06/msg04562.html

Changelog:

v7:
  - Inline igb_trl_disable() since it's only needed in one location,
    igb_core_set_link_status().
  - Fix indentation in QTest.
  - Don't set PCI_MSIX_ENTRY_CTRL_MASKBIT when clearing pending
    interrupts in Qtest.
  - Fold calculations igb_trl_calculate_delay() to simplify logic.

Signed-off-by: Josh Hilke <jrhilke@google.com>
---
Josh Hilke (7):
      igb: Define TRL registers and core state
      igb: Add VMState support for TRL state
      igb: Implement TRL register write and configuration
      igb: Refactor TX path to return processed byte count
      igb: Implement TRL throttling and timer resumption
      igb: Add QTest for Transmit Rate Limiter register multiplexing
      igb: Add QTest for Transmit Rate Limiter traffic throttling

 hw/net/igb.c           |  43 +++++++++++
 hw/net/igb_common.h    |   1 +
 hw/net/igb_core.c      | 142 ++++++++++++++++++++++++++++++++--
 hw/net/igb_core.h      |  12 +++
 hw/net/igb_regs.h      |   5 ++
 tests/qtest/igb-test.c | 206 +++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 404 insertions(+), 5 deletions(-)
---
base-commit: 98b060da3a4f92b2a994ead5b16a87e783baf77c
change-id: 20260608-igb-trl-19be198da6f2

Best regards,
-- 
Josh Hilke <jrhilke@google.com>
Re: [PATCH v7 0/7] igb: Implement Transmit Rate Limiting (TRL)
Posted by Philippe Mathieu-Daudé 1 month ago
Hi Josh,

On 22/6/26 21:05, Josh Hilke wrote:
> This is v7 of a patch series implementing the Transmit Rate Limiter (TRL) feature for
> the Intel 82576 (igb) network device emulation in QEMU.
> 
> v6: https://lists.gnu.org/archive/html/qemu-devel/2026-06/msg04562.html
> 
> Changelog:
> 
> v7:
>    - Inline igb_trl_disable() since it's only needed in one location,
>      igb_core_set_link_status().
>    - Fix indentation in QTest.
>    - Don't set PCI_MSIX_ENTRY_CTRL_MASKBIT when clearing pending
>      interrupts in Qtest.
>    - Fold calculations igb_trl_calculate_delay() to simplify logic.

I already reviewed some of these in your v4, should I review
the patches again?

> 
> Signed-off-by: Josh Hilke <jrhilke@google.com>
> ---
> Josh Hilke (7):
>        igb: Define TRL registers and core state
>        igb: Add VMState support for TRL state
>        igb: Implement TRL register write and configuration
>        igb: Refactor TX path to return processed byte count
>        igb: Implement TRL throttling and timer resumption
>        igb: Add QTest for Transmit Rate Limiter register multiplexing
>        igb: Add QTest for Transmit Rate Limiter traffic throttling
> 
>   hw/net/igb.c           |  43 +++++++++++
>   hw/net/igb_common.h    |   1 +
>   hw/net/igb_core.c      | 142 ++++++++++++++++++++++++++++++++--
>   hw/net/igb_core.h      |  12 +++
>   hw/net/igb_regs.h      |   5 ++
>   tests/qtest/igb-test.c | 206 +++++++++++++++++++++++++++++++++++++++++++++++++
>   6 files changed, 404 insertions(+), 5 deletions(-)
> ---
> base-commit: 98b060da3a4f92b2a994ead5b16a87e783baf77c
> change-id: 20260608-igb-trl-19be198da6f2
> 
> Best regards,
Re: [PATCH v7 0/7] igb: Implement Transmit Rate Limiting (TRL)
Posted by Josh Hilke 1 month ago
No need to review again unless you want to. The updates in v7 are just
responses to Akihiko's comments on v6. The changes are pretty minor at
this point.

On Mon, Jun 22, 2026 at 4:50 PM Philippe Mathieu-Daudé
<philmd@oss.qualcomm.com> wrote:
>
> Hi Josh,
>
> On 22/6/26 21:05, Josh Hilke wrote:
> > This is v7 of a patch series implementing the Transmit Rate Limiter (TRL) feature for
> > the Intel 82576 (igb) network device emulation in QEMU.
> >
> > v6: https://lists.gnu.org/archive/html/qemu-devel/2026-06/msg04562.html
> >
> > Changelog:
> >
> > v7:
> >    - Inline igb_trl_disable() since it's only needed in one location,
> >      igb_core_set_link_status().
> >    - Fix indentation in QTest.
> >    - Don't set PCI_MSIX_ENTRY_CTRL_MASKBIT when clearing pending
> >      interrupts in Qtest.
> >    - Fold calculations igb_trl_calculate_delay() to simplify logic.
>
> I already reviewed some of these in your v4, should I review
> the patches again?
>
> >
> > Signed-off-by: Josh Hilke <jrhilke@google.com>
> > ---
> > Josh Hilke (7):
> >        igb: Define TRL registers and core state
> >        igb: Add VMState support for TRL state
> >        igb: Implement TRL register write and configuration
> >        igb: Refactor TX path to return processed byte count
> >        igb: Implement TRL throttling and timer resumption
> >        igb: Add QTest for Transmit Rate Limiter register multiplexing
> >        igb: Add QTest for Transmit Rate Limiter traffic throttling
> >
> >   hw/net/igb.c           |  43 +++++++++++
> >   hw/net/igb_common.h    |   1 +
> >   hw/net/igb_core.c      | 142 ++++++++++++++++++++++++++++++++--
> >   hw/net/igb_core.h      |  12 +++
> >   hw/net/igb_regs.h      |   5 ++
> >   tests/qtest/igb-test.c | 206 +++++++++++++++++++++++++++++++++++++++++++++++++
> >   6 files changed, 404 insertions(+), 5 deletions(-)
> > ---
> > base-commit: 98b060da3a4f92b2a994ead5b16a87e783baf77c
> > change-id: 20260608-igb-trl-19be198da6f2
> >
> > Best regards,
>
Re: [PATCH v7 0/7] igb: Implement Transmit Rate Limiting (TRL)
Posted by Philippe Mathieu-Daudé 1 month ago
On 23/6/26 00:09, Josh Hilke wrote:
> No need to review again unless you want to. The updates in v7 are just
> responses to Akihiko's comments on v6. The changes are pretty minor at
> this point.

OK, then for "pretty minor changes" please carry the reviewer tags from
previous series, that save us time, otherwise we have to review again.

See 
https://www.qemu.org/docs/master/devel/submitting-a-patch.html#proper-use-of-reviewed-by-tags-can-aid-review:

   When reviewing a large series, a reviewer can reply to some of the
   patches with a Reviewed-by tag, stating that they are happy with that
   patch in isolation (sometimes conditional on minor cleanup, like
   fixing whitespace, that doesn’t affect code content). You should then
   update those commit messages by hand to include the Reviewed-by tag,
   so that in the next revision, reviewers can spot which patches were
   already clean from the previous round. Conversely, if you
   significantly modify a patch that was previously reviewed, remove the
   reviewed-by tag out of the commit message, as well as listing the
   changes from the previous version, to make it easier to focus a
   reviewer’s attention to your changes.

> 
> On Mon, Jun 22, 2026 at 4:50 PM Philippe Mathieu-Daudé
> <philmd@oss.qualcomm.com> wrote:
>>
>> Hi Josh,
>>
>> On 22/6/26 21:05, Josh Hilke wrote:
>>> This is v7 of a patch series implementing the Transmit Rate Limiter (TRL) feature for
>>> the Intel 82576 (igb) network device emulation in QEMU.
>>>
>>> v6: https://lists.gnu.org/archive/html/qemu-devel/2026-06/msg04562.html
>>>
>>> Changelog:
>>>
>>> v7:
>>>     - Inline igb_trl_disable() since it's only needed in one location,
>>>       igb_core_set_link_status().
>>>     - Fix indentation in QTest.
>>>     - Don't set PCI_MSIX_ENTRY_CTRL_MASKBIT when clearing pending
>>>       interrupts in Qtest.
>>>     - Fold calculations igb_trl_calculate_delay() to simplify logic.
>>
>> I already reviewed some of these in your v4, should I review
>> the patches again?
>>
>>>
>>> Signed-off-by: Josh Hilke <jrhilke@google.com>
>>> ---
>>> Josh Hilke (7):
>>>         igb: Define TRL registers and core state
>>>         igb: Add VMState support for TRL state
>>>         igb: Implement TRL register write and configuration
>>>         igb: Refactor TX path to return processed byte count
>>>         igb: Implement TRL throttling and timer resumption
>>>         igb: Add QTest for Transmit Rate Limiter register multiplexing
>>>         igb: Add QTest for Transmit Rate Limiter traffic throttling
>>>
>>>    hw/net/igb.c           |  43 +++++++++++
>>>    hw/net/igb_common.h    |   1 +
>>>    hw/net/igb_core.c      | 142 ++++++++++++++++++++++++++++++++--
>>>    hw/net/igb_core.h      |  12 +++
>>>    hw/net/igb_regs.h      |   5 ++
>>>    tests/qtest/igb-test.c | 206 +++++++++++++++++++++++++++++++++++++++++++++++++
>>>    6 files changed, 404 insertions(+), 5 deletions(-)
>>> ---
>>> base-commit: 98b060da3a4f92b2a994ead5b16a87e783baf77c
>>> change-id: 20260608-igb-trl-19be198da6f2
>>>
>>> Best regards,
>>