freebsd-dev/stand/i386/libi386
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
..
amd64_tramp.S
bio.c Add Copyright. 2018-12-30 15:34:12 +00:00
biosacpi.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
biosdisk.c loader: Use tslog to instrument some functions 2021-06-20 20:09:48 -07:00
biosmem.c Add Dell Chromebook to the list of devices with E820 extmem quirk enabled 2019-01-14 01:30:48 +00:00
biospci.c Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
biospnp.c Prefer uintXX_t to u_intXX_t 2018-03-13 16:33:00 +00:00
biossmap.c
bootinfo32.c loader: implement framebuffer console 2021-01-02 21:41:36 +02:00
bootinfo64.c stand/amd64: remove unused addr parameter from bi_load64 2021-02-01 15:41:26 +01:00
bootinfo.c loader: start kernel in text mode when there is no vbefb vt driver 2021-01-27 01:07:34 +02:00
comconsole.c test if port does exist via using scratch register 2020-03-12 06:45:08 +00:00
devicename.c i386_parsedev() needs to support fd devices 2019-01-02 20:31:15 +00:00
elf32_freebsd.c
elf64_freebsd.c stand/amd64: remove unused addr parameter from bi_load64 2021-02-01 15:41:26 +01:00
i386_copy.c veloader use vectx API for kernel and modules 2020-03-08 17:42:42 +00:00
i386_module.c
libi386.h stand/amd64: remove unused addr parameter from bi_load64 2021-02-01 15:41:26 +01:00
Makefile EFI secure boot VECTX related changes 2021-04-30 12:53:45 -05:00
Makefile.depend
multiboot_tramp.S
multiboot.c stand/amd64: remove unused addr parameter from bi_load64 2021-02-01 15:41:26 +01:00
multiboot.h
nullconsole.c
pread.c
pxe.c pxeboot: improve and simplify rx handling 2021-08-25 21:59:08 -05:00
pxe.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
pxetramp.S stand/i386/libi386: rename .s file to .S to use Clang IAS 2018-11-26 19:29:18 +00:00
relocater_tramp.S
spinconsole.c
time.c
vbe.c loader: use display pixel density for font autoselection 2021-02-27 11:26:02 +02:00
vbe.h loader: only use vidc_install_font() with vga controller 2021-01-05 00:49:18 +02:00
vidconsole.c loader: autoload_font will hung loader when there is no local console 2021-02-21 12:45:36 +02:00