Patrick Masotta
2016-Mar-01 15:21 UTC
[syslinux] "Tick-counting" vs "Tick-less" timekeeping issues on VMs emulating BIOS PCs
Before 6.X Syslinux used a "Tick-less" timekeeping approach implemented in /core/bios.inc 6.X now implements a "Tick-counting" strategy (timer interrupt) implemented in /core/timer.inc I think this change presents issues when Sysylinux runs on Virtual Machines emulating a BIOS environment as they cannot correctly emulate the timer interrupt; see VMware's pdf: https://www.vmware.com/files/pdf/Timekeeping-In-VirtualMachines.pdf At the moment I'm seeing timing issues on TFTP transfers (lwIP depends on the new interrupt based timer). I have consistently detected multiple Requests, double ACKs, etc. All these problems seem to be sourced on the now unreliable timeouts. I have used TFTP on the same (BIOS VM) scenarios with 3.X and TFTP timing was always rock solid. Sorry if this was discussed before, if not I'd like to ask (Peter) if there is any reason preventing us from going back to the "Tick-less" approach. Thanks. Best Patrick
H. Peter Anvin
2016-Mar-02 05:11 UTC
[syslinux] "Tick-counting" vs "Tick-less" timekeeping issues on VMs emulating BIOS PCs
On 03/01/16 07:21, Patrick Masotta via Syslinux wrote:> > At the moment I'm seeing timing issues on TFTP transfers (lwIP depends > on the new interrupt based timer). I have consistently detected > > multiple Requests, double ACKs, etc. All these problems seem to be > > sourced on the now unreliable timeouts. > I have used TFTP on the same (BIOS VM) scenarios with 3.X and TFTP > > timing was always rock solid. > > > Sorry if this was discussed before, if not I'd like to ask (Peter) if > there is any reason preventing us from going back to the "Tick-less" > approach. Thanks. >There are quite a few; primarily we simply cannot make lwIP (lpxelinux.0) work without it. However, pxelinux.0 should not depend on this. -hpa
H. Peter Anvin
2016-Mar-02 22:22 UTC
[syslinux] "Tick-counting" vs "Tick-less" timekeeping issues on VMs emulating BIOS PCs
On 03/01/16 21:11, H. Peter Anvin via Syslinux wrote:> On 03/01/16 07:21, Patrick Masotta via Syslinux wrote: >> >> At the moment I'm seeing timing issues on TFTP transfers (lwIP depends >> on the new interrupt based timer). I have consistently detected >> >> multiple Requests, double ACKs, etc. All these problems seem to be >> >> sourced on the now unreliable timeouts. >> I have used TFTP on the same (BIOS VM) scenarios with 3.X and TFTP >> >> timing was always rock solid. >> >> >> Sorry if this was discussed before, if not I'd like to ask (Peter) if >> there is any reason preventing us from going back to the "Tick-less" >> approach. Thanks. >> > > There are quite a few; primarily we simply cannot make lwIP > (lpxelinux.0) work without it. However, pxelinux.0 should not depend on > this. >Now, tickful timekeeping is wasteful, but this is a bootloader, and functionality is the main concern. The "tickless" version still depended on the BIOS tick. -hpa
Possibly Parallel Threads
- "Tick-counting" vs "Tick-less" timekeeping issues on VMs emulating BIOS PCs
- "Tick-counting" vs "Tick-less" timekeeping issues on VMs emulating BIOS PCs
- "Tick-counting" vs "Tick-less" timekeeping issues on VMs emulating BIOS PCs
- "Tick-counting" vs "Tick-less" timekeeping issues on VMs emulating BIOS PCs
- "Tick-counting" vs "Tick-less" timekeeping issues on VMs emulating BIOS PCs