qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH v2 00/13] Introduce igb


From: Sriram Yagnaraman
Subject: RE: [PATCH v2 00/13] Introduce igb
Date: Sat, 28 Jan 2023 20:57:12 +0000

> -----Original Message-----
> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> Sent: Thursday, 26 January 2023 12:32
> To: Sriram Yagnaraman <sriram.yagnaraman@est.tech>; Jason Wang
> <jasowang@redhat.com>
> Cc: Dmitry Fleytman <dmitry.fleytman@gmail.com>; Michael S. Tsirkin
> <mst@redhat.com>; Marcel Apfelbaum <marcel.apfelbaum@gmail.com>;
> Alex Bennée <alex.bennee@linaro.org>; Philippe Mathieu-Daudé
> <philmd@linaro.org>; Thomas Huth <thuth@redhat.com>; Wainer dos Santos
> Moschetta <wainersm@redhat.com>; Beraldo Leal <bleal@redhat.com>;
> Cleber Rosa <crosa@redhat.com>; Laurent Vivier <lvivier@redhat.com>;
> Paolo Bonzini <pbonzini@redhat.com>; Alexander Bulekov <alxndr@bu.edu>;
> Bandan Das <bsd@redhat.com>; Stefan Hajnoczi <stefanha@redhat.com>;
> Darren Kenny <darren.kenny@oracle.com>; Qiuhao Li
> <Qiuhao.Li@outlook.com>; qemu-devel@nongnu.org; qemu-
> ppc@nongnu.org; devel@daynix.com; Yan Vugenfirer
> <yvugenfi@redhat.com>; Yuri Benditovich <yuri.benditovich@daynix.com>
> Subject: Re: [PATCH v2 00/13] Introduce igb
> 
> On 2023/01/26 18:34, Sriram Yagnaraman wrote:
> >
> >> -----Original Message-----
> >> From: Sriram Yagnaraman
> >> Sent: Tuesday, 24 January 2023 09:54
> >> To: Akihiko Odaki <akihiko.odaki@daynix.com>; Jason Wang
> >> <jasowang@redhat.com>
> >> Cc: Dmitry Fleytman <dmitry.fleytman@gmail.com>; Michael S. Tsirkin
> >> <mst@redhat.com>; Marcel Apfelbaum <marcel.apfelbaum@gmail.com>;
> Alex
> >> Bennée <alex.bennee@linaro.org>; Philippe Mathieu-Daudé
> >> <philmd@linaro.org>; Thomas Huth <thuth@redhat.com>; Wainer dos
> >> Santos Moschetta <wainersm@redhat.com>; Beraldo Leal
> >> <bleal@redhat.com>; Cleber Rosa <crosa@redhat.com>; Laurent Vivier
> >> <lvivier@redhat.com>; Paolo Bonzini <pbonzini@redhat.com>; Alexander
> >> Bulekov <alxndr@bu.edu>; Bandan Das <bsd@redhat.com>; Stefan
> Hajnoczi
> >> <stefanha@redhat.com>; Darren Kenny <darren.kenny@oracle.com>;
> Qiuhao
> >> Li <Qiuhao.Li@outlook.com>; qemu-devel@nongnu.org; qemu-
> >> ppc@nongnu.org; devel@daynix.com; Yan Vugenfirer
> >> <yvugenfi@redhat.com>; Yuri Benditovich <yuri.benditovich@daynix.com>
> >> Subject: RE: [PATCH v2 00/13] Introduce igb
> >>
> >>
> >>> -----Original Message-----
> >>> From: Akihiko Odaki <akihiko.odaki@daynix.com>
> >>> Sent: Tuesday, 24 January 2023 05:54
> >>> To: Jason Wang <jasowang@redhat.com>; Sriram Yagnaraman
> >>> <sriram.yagnaraman@est.tech>
> >>> Cc: Dmitry Fleytman <dmitry.fleytman@gmail.com>; Michael S. Tsirkin
> >>> <mst@redhat.com>; Marcel Apfelbaum
> <marcel.apfelbaum@gmail.com>;
> >> Alex
> >>> Bennée <alex.bennee@linaro.org>; Philippe Mathieu-Daudé
> >>> <philmd@linaro.org>; Thomas Huth <thuth@redhat.com>; Wainer dos
> >> Santos
> >>> Moschetta <wainersm@redhat.com>; Beraldo Leal <bleal@redhat.com>;
> >>> Cleber Rosa <crosa@redhat.com>; Laurent Vivier <lvivier@redhat.com>;
> >>> Paolo Bonzini <pbonzini@redhat.com>; Alexander Bulekov
> >>> <alxndr@bu.edu>; Bandan Das <bsd@redhat.com>; Stefan Hajnoczi
> >>> <stefanha@redhat.com>; Darren Kenny <darren.kenny@oracle.com>;
> >> Qiuhao
> >>> Li <Qiuhao.Li@outlook.com>; qemu-devel@nongnu.org; qemu-
> >>> ppc@nongnu.org; devel@daynix.com; Yan Vugenfirer
> >>> <yvugenfi@redhat.com>; Yuri Benditovich
> >>> <yuri.benditovich@daynix.com>
> >>> Subject: Re: [PATCH v2 00/13] Introduce igb
> >>>
> >>> On 2023/01/16 17:01, Jason Wang wrote:
> >>>> On Sat, Jan 14, 2023 at 12:10 PM Akihiko Odaki
> >>> <akihiko.odaki@daynix.com> wrote:
> >>>>>
> >>>>> Based-on: <20230114035919.35251-1-akihiko.odaki@daynix.com>
> >>>>> ([PATCH 00/19] e1000x cleanups (preliminary for IGB))
> >>>>>
> >>>>> igb is a family of Intel's gigabit ethernet controllers. This
> >>>>> series implements
> >>>>> 82576 emulation in particular. You can see the last patch for the
> >>> documentation.
> >>>>>
> >>>>> Note that there is another effort to bring 82576 emulation. This
> >>>>> series was developed independently by Sriram Yagnaraman.
> >>>>> https://lists.gnu.org/archive/html/qemu-devel/2022-
> 12/msg04670.htm
> >>>>> l
> >>>>>
> >>>>> It is possible to merge the work from Sriram Yagnaraman and to
> >>>>> cherry-pick useful changes from this series later.
> >>>>>
> >>>>> I think there are several different ways to get the changes into
> >>>>> the
> >> mainline.
> >>>>> I'm open to any options.
> >>>>
> >>>> I can only do reviews for the general networking part but not the
> >>>> 82576 specific part. It would be better if either of the series can
> >>>> get some ACKs from some ones that they are familiar with 82576,
> >>>> then I can try to merge.
> >>>>
> >>>> Thanks
> >>>
> >>> I have just sent v3 to the list.
> >>>
> >>> Sriram Yagnaraman, who wrote another series for 82576, is the only
> >>> person I know who is familiar with the device.
> >>>
> >>> Sriram, can you take a look at v3 I have just sent?
> >>
> >> I am at best a good interpreter of the 82576 datasheet. I will review
> >> your changes get back here.
> >
> > I have reviewed and tested your changes and it looks great to me in general.
> > I would like to note some features that I would like to add on top of
> > your patch, if you have not worked on these already :)
> > - PFRSTD (PF reset done)
> > - SRRCTL (Rx desc buf size)
> > - RLPML (oversized packet handling)
> > - MAC/VLAN anti-spoof checks
> > - VMOLR_STRVLAN and RPLOLR_STRVLAN (VLAN stripping for VFs)
> > - VMVIR (VLAN insertion for VFs)
> > - VF reset
> > - VFTE, VFRE, VFLRE
> > - VF stats
> > - Set EITR initial value
> >
> > Since this is a new device and there are no existing users, is it possible 
> > to get
> the change into baseline first and fix missing features and bugs soon after?
> 
> Thanks for reviewing,
> 
> I have just submitted v4. The difference from v3 is only that igb now 
> correctly
> specifies VFs associated with queues for DMA.
> 
> RX descriptor buffer size in SRRCTL is respected since v3. I think the other
> features are missing. I am not planning to implement them either, but I'm
> considering to test the code with DPDK and I may add features it requires.

Ok, I just sent a patchset adding most of the features I listed above ([PATCH 
0/9] igb: add missing feature set).

> 
> I also want to get this series into the mainline before adding new features 
> as it
> is already so big, but please tell me if you noticed bugs, especially ones 
> which
> can be fixed without adding more code.

LGTM, I have tested your changes and it works perfectly. Thank you.
Is it possible to squash your igb commits into one patch that I can give an ACK 
to?

> 
> Regards,
> Akihiko Odaki
> 
> >
> >>
> >>>
> >>> Regards,
> >>> Akihiko Odaki
> >>>
> >>>>
> >>>>>
> >>>>> V1 -> V2:
> >>>>> - Spun off e1000e general improvements to a distinct series.
> >>>>> - Restored vnet_hdr offload as there seems nothing preventing from
> that.
> >>>>>
> >>>>> Akihiko Odaki (13):
> >>>>>     hw/net/net_tx_pkt: Introduce net_tx_pkt_get_eth_hdr
> >>>>>     pcie: Introduce pcie_sriov_num_vfs
> >>>>>     e1000: Split header files
> >>>>>     igb: Copy e1000e code
> >>>>>     igb: Rename identifiers
> >>>>>     igb: Build igb
> >>>>>     igb: Transform to 82576 implementation
> >>>>>     tests/qtest/e1000e-test: Fabricate ethernet header
> >>>>>     tests/qtest/libqos/e1000e: Export macreg functions
> >>>>>     tests/qtest/libqos/igb: Copy e1000e code
> >>>>>     tests/qtest/libqos/igb: Transform to igb tests
> >>>>>     tests/avocado: Add igb test
> >>>>>     docs/system/devices/igb: Add igb documentation
> >>>>>
> >>>>>    MAINTAINERS                                   |    9 +
> >>>>>    docs/system/device-emulation.rst              |    1 +
> >>>>>    docs/system/devices/igb.rst                   |   70 +
> >>>>>    hw/net/Kconfig                                |    5 +
> >>>>>    hw/net/e1000.c                                |    1 +
> >>>>>    hw/net/e1000_common.h                         |  102 +
> >>>>>    hw/net/e1000_regs.h                           |  927 +---
> >>>>>    hw/net/e1000e.c                               |    3 +-
> >>>>>    hw/net/e1000e_core.c                          |    1 +
> >>>>>    hw/net/e1000x_common.c                        |    1 +
> >>>>>    hw/net/e1000x_common.h                        |   74 -
> >>>>>    hw/net/e1000x_regs.h                          |  940 ++++
> >>>>>    hw/net/igb.c                                  |  615 +++
> >>>>>    hw/net/igb_common.h                           |  144 +
> >>>>>    hw/net/igb_core.c                             | 3946 
> >>>>> +++++++++++++++++
> >>>>>    hw/net/igb_core.h                             |  147 +
> >>>>>    hw/net/igb_regs.h                             |  624 +++
> >>>>>    hw/net/igbvf.c                                |  327 ++
> >>>>>    hw/net/meson.build                            |    2 +
> >>>>>    hw/net/net_tx_pkt.c                           |    6 +
> >>>>>    hw/net/net_tx_pkt.h                           |    8 +
> >>>>>    hw/net/trace-events                           |   32 +
> >>>>>    hw/pci/pcie_sriov.c                           |    5 +
> >>>>>    include/hw/pci/pcie_sriov.h                   |    3 +
> >>>>>    .../org.centos/stream/8/x86_64/test-avocado   |    1 +
> >>>>>    tests/avocado/igb.py                          |   38 +
> >>>>>    tests/qtest/e1000e-test.c                     |   17 +-
> >>>>>    tests/qtest/fuzz/generic_fuzz_configs.h       |    5 +
> >>>>>    tests/qtest/igb-test.c                        |  243 +
> >>>>>    tests/qtest/libqos/e1000e.c                   |   12 -
> >>>>>    tests/qtest/libqos/e1000e.h                   |   14 +
> >>>>>    tests/qtest/libqos/igb.c                      |  185 +
> >>>>>    tests/qtest/libqos/meson.build                |    1 +
> >>>>>    tests/qtest/meson.build                       |    1 +
> >>>>>    34 files changed, 7492 insertions(+), 1018 deletions(-)
> >>>>>    create mode 100644 docs/system/devices/igb.rst
> >>>>>    create mode 100644 hw/net/e1000_common.h
> >>>>>    create mode 100644 hw/net/e1000x_regs.h
> >>>>>    create mode 100644 hw/net/igb.c
> >>>>>    create mode 100644 hw/net/igb_common.h
> >>>>>    create mode 100644 hw/net/igb_core.c
> >>>>>    create mode 100644 hw/net/igb_core.h
> >>>>>    create mode 100644 hw/net/igb_regs.h
> >>>>>    create mode 100644 hw/net/igbvf.c
> >>>>>    create mode 100644 tests/avocado/igb.py
> >>>>>    create mode 100644 tests/qtest/igb-test.c
> >>>>>    create mode 100644 tests/qtest/libqos/igb.c
> >>>>>
> >>>>> --
> >>>>> 2.39.0
> >>>>>
> >>>>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]