HomeFreeBSD

pxeboot: improve and simplify rx handling

Description

pxeboot: improve and simplify rx handling

This pushes the bulk of the rx servicing into a single loop that's only
slightly convoluted, and it addresses a problem with rx handling in the
process. If we hit a tx interrupt while we're processing, we'd
previously drop the frame on the floor completely and ultimately
timeout, increasing boot time on particularly busy hosts as we keep
having to backoff and resend.

After this patch, we don't seem to hit timeouts at all on zoo anymore
though loading a 27M kernel is still relatively slow (~1m20s).

Reviewed by: tsoome
Triage by: Ash Gokhale <ashfixit gmail com>
Sponsored By: National Bureau of Economic Research
Sponsored by: Klara, Inc.
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D31512

Details

Provenance
kevansAuthored on Aug 12 2021, 2:49 AM
Reviewer
tsoome
Differential Revision
D31512: pxeboot: improve and simplify rx handling
Parents
rG8d7cd10ba633: tmpfs: Implement VOP_DEALLOCATE
Branches
Unknown
Tags
Unknown