[syslinux] Fwd: EFI & PXE-booting: very slow TFTP performance on a VMWare test setup

Gene Cumm gene.cumm at gmail.com
Tue Jun 23 09:36:04 PDT 2015


On Jun 23, 2015 5:47 AM, "Oscar Roozen"
<oscar.roozen at brightcomputing.com> wrote:

> On Thu, Jun 18, 2015 at 7:18 PM, Gene Cumm <gene.cumm at gmail.com> wrote:
> > I see the nice exponential-like decay of IO rate :(
>
> Did you see this only on vmware or also in other environments?

I haven't tested anything else yet.  My only physical EFI machine is
my main machine making it a little challenging.

I did however notice some strange patterns on HTTP transfer at a
millisecond scale in my capture.

> On Sat, Jun 20, 2015 at 1:44 PM, Gene Cumm <gene.cumm at gmail.com> wrote:
> > Boot loader environments rarely benefit from a second CPU.  The best
> > way to not miss an interrupt in a VM boot environment is to not
> > overcommit.
>
> I'm still a bit worried about the 100% CPU load while waiting for UDP
> packets to arrive..
> Wouldn't it be better to just 'hlt' somehow and have the interrupts
> wake the CPU up?

I haven't looked at the scheduler with respect to EFI.

> > Consider one of the following workarounds:
> >
> > 1) HTTP/FTP.  Loading individual files over HTTP/FTP would be
> > suggested for a large file anyways.  For your situation, I'd suggest
> > trying to use DHCP option 210, either embedded in option 43 or
> > hard-coded into syslinux.efi as an after-DHCP option with
> > pxelinux-options.  Setting the plain option would require forcing your
> > dhcpd to always insert it (isc-dhcpd after v3 I think can do this) as
> > no PXE client will ever request it.  I have http://myip/tftp/ pointing
> > at my tftpd root just for this purpose.
>
> I went the HTTP-way for now:
>
> if option architecture-type = 00:09 {
>     filename "efi64/syslinux.efi";
>     option pxelinux.pathprefix  "http://myserverip/tftp/efi64/";
> } elsif option architecture-type = 00:07 {
>     # efi32 not supported.
> } else {
>     filename "bios/pxelinux.0";
> }
>
> Thanks!

You're welcome.

--Gene


More information about the Syslinux mailing list