This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 0/2] Better handling of slow remote transfers
- From: Gary Benson <gbenson at redhat dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: Joel Brobecker <brobecker at adacore dot com>, Doug Evans <dje at google dot com>, Jan Kratochvil <jan dot kratochvil at redhat dot com>, gdb-patches <gdb-patches at sourceware dot org>, Sandra Loosemore <sandra at codesourcery dot com>, André Pönitz <apoenitz at t-online dot de>, Paul Koning <Paul_Koning at dell dot com>
- Date: Wed, 12 Aug 2015 14:44:24 +0100
- Subject: Re: [PATCH 0/2] Better handling of slow remote transfers
- Authentication-results: sourceware.org; auth=none
- References: <20150811195943 dot GC22245 at adacore dot com> <20150812094831 dot GD11096 at blade dot nx> <55CB1B8D dot 6010501 at redhat dot com> <20150812103831 dot GA12792 at blade dot nx> <55CB2DF8 dot 2050506 at redhat dot com> <20150812123254 dot GA14726 at blade dot nx> <55CB4150 dot 6090807 at redhat dot com> <20150812130248 dot GA15429 at blade dot nx> <55CB4B74 dot 3070204 at redhat dot com> <20150812133825 dot GA25961 at blade dot nx>
Gary Benson wrote:
> Pedro Alves wrote:
> > On 08/12/2015 02:02 PM, Gary Benson wrote:
> > > I was looking in getpkt_or_notif_sane_1, but I think maybe I
> > > misread it. I'll get back to you on this...
> >
> > That's the very low level of RSP packets, which as you noted will
> > have a reasonable cap. It sounds to me there's a loop somewhere
> > in a higher layer that is missing a QUIT. E.g., we have quits in
> > dwarf2read.c which allow interrupting reading big binaries, even
> > if locally. So what is the higher level operation that gdb is
> > doing when you try to interrupt, but can't?
>
> remote_hostio_pread. I'm trying to make remote_hostio_pread
> interruptible. BFD is doing large remote_hostio_pread which
> are resulting in large vFile:pread: packet responses.
To elaborate:
remote_hostio_pread calls remote_hostio_send_command once
remote_hostio_send_command calls getpkt_sane once
getpkt_sane calls getpkt_or_notif_sane_1 once
I've already posted a patch that did QUIT once per vFile:pread:
but that wasn't good enough. For anything finer-grained the
QUIT needs to be in getpkt_or_notif_sane_1 but this doesn't seem
workable given how the protocol is.
The alternative is for remote_hostio_pread to make multiple
vFile:pread: packets, but that's going to introduce extra
traffic and latency.
Cheers,
Gary
--
http://gbenson.net/