loadtools with high baudrate give only marginal performance improvement
mychaela.falconia at gmail.com
Fri Jul 5 19:07:04 UTC 2019
> I was running loadtools on Ubuntu with FTDI USB to UART interface and
> noticed that increasing baudrate was giving just marginal load speed
> improvement. Quick analysis revealed that select() in the S-record echo was
> signaled by the kernel with 10ms delay. I tried multiple baudrates and
> confirmed that that was pretty much constant.
You must be seeing this behavior because you are running a too-new
Linux kernel version - it does not happen with more classic kernels.
I had implemented high baud rate support in loadtools back in 2013 and
have been enjoying the faster image transfers ever since then without
> Since we use Linux specific libserial now, I added one more kernel tweak,
> which may be not reproducible on other platforms.
Because the problem only happens with too-new Linux kernel versions,
it is a Linux-specific problem, hence there is no problem with
addressing it only in the Linux-specific version of libserial.
> Maybe there is a better
> place where we can set this flag, so here is a proof of concept.
I will need to study the Linux kernel source and see exactly what this
ASYNC_LOW_LATENCY flag does before I can incorporate this change into
the official freecalypso-tools tree. I will try to find some time,
but I am not putting a high priority on it.
> This makes an image load lighting fast compared to what I was getting
> before. So far no major problems observed.
Hmm, transferring a ~2 MiB (in the case of firmwares) or 8 MiB (in the
case of forensic flash dumps) image over 812500 baud with each byte
sent as two hex characters is not what I would call lightning fast -
it is certainly tolerable, much more tolerable than doing the same
over 115200 baud, but I would not call it lightning fast by any means.
Oh wait, you said it's lightning fast *compared to what you were
getting before*. Does that statement mean that you had never
experienced how well it works and has always worked with an older
More information about the Community