freebsd-dev/stand/i386
Kyle Evans 3daa8e165c 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
2021-08-25 21:59:08 -05:00
..
boot0 Revert r362466 2020-06-22 07:46:24 +00:00
boot0sio
boot2 Don't add -Winline for WARNS=6 2021-03-22 11:55:45 +00:00
btx btx: rename .s files to .S to use Clang IAS 2018-11-26 19:14:33 +00:00
cdboot stand: remove CLANG_NO_IAS from cdboot 2019-08-15 17:32:39 +00:00
common loader: edd_device_path_v3 is too small 2020-10-12 09:34:50 +00:00
gptboot gptboot.efi: Add man page 2021-04-05 23:57:57 -06:00
gptzfsboot loader: zfs should support bootonce an nextboot 2020-09-21 09:01:10 +00:00
isoboot Don't add -Winline for WARNS=6 2021-03-22 11:55:45 +00:00
libfirewire Fix a few typos in source code comments 2021-08-14 09:06:09 +02:00
libi386 pxeboot: improve and simplify rx handling 2021-08-25 21:59:08 -05:00
loader type: becauce -> because 2021-07-21 20:03:35 -06:00
loader_4th Update Makefile.depend files 2019-12-11 17:37:53 +00:00
loader_lua Create a loader for each interpreter for x86 BIOS and all EFI 2018-08-14 18:44:41 +00:00
loader_simp Create a loader for each interpreter for x86 BIOS and all EFI 2018-08-14 18:44:41 +00:00
mbr stand/i386: rename .s to .S to use Clang IAS 2018-12-03 19:16:34 +00:00
pmbr Fix pmbr issues > 2TB 2021-07-13 15:40:44 -06:00
pxeldr pxeboot(8): remove antiquated information 2021-02-15 22:03:37 +00:00
zfsboot zfsboot: add prototype for main() 2020-11-15 14:04:27 +00:00
boot.ldscript Link stand/i386 components using a linker script 2020-03-04 21:01:22 +00:00
Makefile stand: properly declare subdir deps or .WAIT, do parallel build 2020-12-31 11:15:45 -06:00
Makefile.inc Link stand/i386 components using a linker script 2020-03-04 21:01:22 +00:00