[syslinux] Problem with 90MB Initrd

Gene Cumm gene.cumm at gmail.com
Thu Oct 1 03:57:33 PDT 2015


> On September 29, 2015 7:45:27 PM PDT, Patrick Masotta <masottaus at yahoo.com> wrote:
>>>>>
>>On 09/26/2015 10:36 AM, Patrick Masotta via Syslinux wrote:
>>>
>>> About PXEbc Peter has recently said:
>>>> The problem with the pxebc is that it only supports one concurrent
>>TFTP
>>>> connection, and Syslinux expects to be able to keep multiple files
>>open
>>>> at the same time.
>>>> http://www.syslinux.org/archives/2015-August/024025.html
>>>
>>> I wonder why should syslinux.efi ever need to TFTP transfer more than
>>one file simultaneously?
>>>
>>
>>Consider the case of INCLUDEd configuration files, for example.
>>
>>
>>    -hpa<<<
>>I do not understand.Are we parsing a configuration file and potentially
>>starting new TFTP transfers while downloading it? How can we do this on
>>a single thread?We cannot stop/resume a TFTP transfer then I cannot
>>imagine how to detect an INCLUDE during TFTP transfer N to launch TFTP
>>transfer N+1 if TFTP transfer N is not finished yet, all in a single
>>thread and with none of the TFTP transfers timing out.
>>
>>I might be wrong but I think syslinux TFTP transfers are "atomic" (they
>>transfer the whole configuration file) later the parsing action on the
>>received file defines if other/s TFTP+parsing actions are required in
>>case the INCLUDE command was previously found. If this is correct then
>>there is never more than one TFTP file transfer at any given time (and
>>we could use PXEbc).
>>Please let me know if I'm wrong. Thanks.
>>
>>Best,Patrick

On Wed, Sep 30, 2015 at 1:42 AM, H. Peter Anvin <hpa at zytor.com> wrote:
> We can, and do, suspend a TFTP transfer simply by delaying the ACK packet as necessary.

Observing this behavior appears to be all about buffer sizing.  I had
a 19 kiB config, first line a SAY, second line an INCLUDE and it
loaded 13 data blocks (0-12) before delaying the ACK, loading the next
file completely (0-6), and resuming the first with the ACK and loading
the remaining blocks (13-15).  It still appears to be the same IO
rate.

Aside from potentially needing smaller buffers for config files before
parsing (which seems trivial and unnecessary), what other benefits are
there to this strategy?

-- 
-Gene


More information about the Syslinux mailing list