mbox series

[v2,0/7] Report fatal errors from failure with pre-opened eBPF RSS FDs

Message ID 20240905181330.3657590-1-berrange@redhat.com
Headers show
Series Report fatal errors from failure with pre-opened eBPF RSS FDs | expand

Message

Daniel P. Berrangé Sept. 5, 2024, 6:13 p.m. UTC
The virtio-net code for eBPF RSS is still ignoring errors when
failing to load the eBPF RSS program passed in by the mgmt app
via pre-opened FDs.

This series re-factors the eBPF common code so that it actually
reports using "Error" objects. Then it makes virtio-net treat
a failure to load pre-opened FDs as a fatal problem. When doing
speculative opening of eBPF FDs, QEMU merely prints a warning,
and allows the software fallback to continue.

Trace event coverage is significantly expanded to make this all
much more debuggable too.

Changed in v2:

 - Split 'ebpf_error' probe into multiple probes

Daniel P. Berrangé (7):
  hw/net: fix typo s/epbf/ebpf/ in virtio-net
  ebpf: drop redundant parameter checks in static methods
  ebpf: improve error trace events
  ebpf: add formal error reporting to all APIs
  hw/net: report errors from failing to use eBPF RSS FDs
  ebpf: improve trace event coverage to all key operations
  hw/net: improve tracing of eBPF RSS setup

 ebpf/ebpf_rss.c     | 118 ++++++++++++++++++++++++++++----------------
 ebpf/ebpf_rss.h     |  10 ++--
 ebpf/trace-events   |   8 ++-
 hw/net/trace-events |   8 +--
 hw/net/virtio-net.c |  63 +++++++++++++++--------
 5 files changed, 137 insertions(+), 70 deletions(-)

Comments

Michael S. Tsirkin Sept. 6, 2024, 9:57 a.m. UTC | #1
On Thu, Sep 05, 2024 at 07:13:23PM +0100, Daniel P. Berrangé wrote:
> The virtio-net code for eBPF RSS is still ignoring errors when
> failing to load the eBPF RSS program passed in by the mgmt app
> via pre-opened FDs.
> 
> This series re-factors the eBPF common code so that it actually
> reports using "Error" objects. Then it makes virtio-net treat
> a failure to load pre-opened FDs as a fatal problem. When doing
> speculative opening of eBPF FDs, QEMU merely prints a warning,
> and allows the software fallback to continue.
> 
> Trace event coverage is significantly expanded to make this all
> much more debuggable too.


looks good
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Jason's tree.

> Changed in v2:
> 
>  - Split 'ebpf_error' probe into multiple probes
> 
> Daniel P. Berrangé (7):
>   hw/net: fix typo s/epbf/ebpf/ in virtio-net
>   ebpf: drop redundant parameter checks in static methods
>   ebpf: improve error trace events
>   ebpf: add formal error reporting to all APIs
>   hw/net: report errors from failing to use eBPF RSS FDs
>   ebpf: improve trace event coverage to all key operations
>   hw/net: improve tracing of eBPF RSS setup
> 
>  ebpf/ebpf_rss.c     | 118 ++++++++++++++++++++++++++++----------------
>  ebpf/ebpf_rss.h     |  10 ++--
>  ebpf/trace-events   |   8 ++-
>  hw/net/trace-events |   8 +--
>  hw/net/virtio-net.c |  63 +++++++++++++++--------
>  5 files changed, 137 insertions(+), 70 deletions(-)
> 
> -- 
> 2.45.2
Jason Wang Sept. 9, 2024, 2:34 a.m. UTC | #2
On Fri, Sep 6, 2024 at 5:57 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Thu, Sep 05, 2024 at 07:13:23PM +0100, Daniel P. Berrangé wrote:
> > The virtio-net code for eBPF RSS is still ignoring errors when
> > failing to load the eBPF RSS program passed in by the mgmt app
> > via pre-opened FDs.
> >
> > This series re-factors the eBPF common code so that it actually
> > reports using "Error" objects. Then it makes virtio-net treat
> > a failure to load pre-opened FDs as a fatal problem. When doing
> > speculative opening of eBPF FDs, QEMU merely prints a warning,
> > and allows the software fallback to continue.
> >
> > Trace event coverage is significantly expanded to make this all
> > much more debuggable too.
>
>
> looks good
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
>
> Jason's tree.
>

Queued.

Thanks