Re: [PATCH] Make remote transfers interruptible

Sandra Loosemore
2015-08-12T17:33:51Z

On 08/12/2015 08:30 AM, Gary Benson wrote:
> Hi Sandra,
>
> Sandra Loosemore wrote:
>> On 08/05/2015 09:28 AM, Gary Benson wrote:
>>> This commit makes it possible to interrupt slow remote file transfers.
>>>
>>> gdb/ChangeLog:
>>>
>>> * gdb_bfd.c (gdb_bfd_iovec_fileio_pread): Add QUIT call.
>>
>> It still does not work for me. :-(
>
> Could you please try this newer version and see if it allows you to
> interrupt the remote transfers?

This version still doesn't make the transfer interruptable with ^C.
*But*, with this patch, the startup time is reduced from 4 minutes to 19
seconds. Huh? Is it really transferring the entire file contents, or
was the time being used for some GDB-side operation that is quadratic or
exponential in the size of the read requested rather than the actual
byte transfer? Independently of the ^C issue, I think we need to better
understand what is going on here and better tune the code on both sides
of the RSP for large file transfers. Even if a user asks for
target-side libraries explicitly, 4 minutes to transfer one library
doesn't provide a good user experience, and 19 seconds isn't so great
either when you consider that some interactive applications link with
dozens of GUI or multimedia libraries and not just glibc.

-Sandra