Message ID | 20240426232400.624864-1-kuba@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | selftests: net: page_poll allocation error injection | expand |
Jakub Kicinski wrote: > Add a test for exercising driver memory allocation failure paths. > page pool is a bit tricky to inject errors into at the page allocator > level because of the bulk alloc and recycling, so add explicit error > injection support "in front" of the caches. > > Add a test to exercise that using only the standard APIs. > This is the first useful test for the new tests with an endpoint. > There's no point testing netdevsim here, so this is also the first > HW-only test in Python. > > I'm not super happy with the traffic generation using iperf3, > my initial approach was to use mausezahn. But it turned out to be > 5x slower in terms of PPS. Hopefully this is good enough for now. > > Jakub Kicinski (6): > net: page_pool: support error injection > selftests: drv-net-hw: support using Python from net hw tests > selftests: net: py: extract tool logic > selftests: net: py: avoid all ports < 10k > selftests: drv-net: support generating iperf3 load > selftests: drv-net-hw: add test for memory allocation failures with > page pool Reviewed-by: Willem de Bruijn <willemb@google.com>
> I'm not super happy with the traffic generation using iperf3, > my initial approach was to use mausezahn. But it turned out to be > 5x slower in terms of PPS. Hopefully this is good enough for now. How important is PPS? In order to get 'Maintained' status, automotive vendors are going to want to test their 10Mbps T1 links. Andrew
On Mon, 29 Apr 2024 17:01:55 +0200 Andrew Lunn wrote: > > I'm not super happy with the traffic generation using iperf3, > > my initial approach was to use mausezahn. But it turned out to be > > 5x slower in terms of PPS. Hopefully this is good enough for now. > > How important is PPS? In order to get 'Maintained' status, automotive > vendors are going to want to test their 10Mbps T1 links. s/Maintained/Supported/ ? PPS isn't important in itself, that said, I wanted to set a floor to make sure that the failure path is actually well exercised. Some drivers may be doing internal recycling or whatever other magic, which would make them barely call the page_pool alloc. Even though this is not a performance tests the check is based on expected perf. My thinking is that once we have some data points about various system we can abstract the perf expectations a bit more systematically than if speed < 10GE: pps //= 10