]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
pxeboot: improve and simplify rx handling
authorKyle Evans <kevans@FreeBSD.org>
Thu, 12 Aug 2021 02:49:17 +0000 (21:49 -0500)
committerKyle Evans <kevans@FreeBSD.org>
Sat, 4 Sep 2021 07:44:44 +0000 (02:44 -0500)
commitf5da4b012fea3eedd90d6e2b2e5f51e58a1b636d
treea8ab3e83131bc8bab64c38967137f6bea1b5dac1
parent534d1019aa53e2ee3ce673d58cabe4a8ca85ee35
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).

Sponsored By: National Bureau of Economic Research
Sponsored by: Klara, Inc.

(cherry picked from commit 3daa8e165c661c1b45e759f4997f447384c15446)
stand/i386/libi386/pxe.c