[syslinux] [PATCH 3/4] Removing the udp_reader efi_binding

Gene Cumm gene.cumm at gmail.com
Wed May 31 04:45:00 PDT 2017


On Wed, May 31, 2017 at 3:56 AM, Julien Viard de Galbert via Syslinux
<syslinux at zytor.com> wrote:
> This extra socket cause the EFI udp stack to duplicate every packet
> to be able to provide them to both udp_reader and socket->net.efi.binding.
> The ones in socket->net.efi.binding were never read so they accumulated in
> the stack on EFI side making the stack slower and slower.
> Slow enough to not be able to download a kernel+initramfs before the EFI
> timeout (5 minutes).
>
> Signed-off-by: Julien Viard de Galbert <jviarddegalbert at online.net>
> ---
>  efi/udp.c | 24 ++----------------------
>  1 file changed, 2 insertions(+), 22 deletions(-)

That almost certainly explains the decaying download rates.

>  extern EFI_GUID Udp4ServiceBindingProtocol, Udp4Protocol;
>
> -/*
> - * This UDP binding is configured to operate in promiscuous mode. It is
> - * only used for reading packets. It has no associated state unlike
> - * socket->net.efi.binding, which has a remote IP address and port
> - * number.
> - */

This part has me puzzled why Matt was creating a promiscuous binding
instead of re-using the existing binding.

-- 
-Gene


More information about the Syslinux mailing list