public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: John Baldwin <jhb@FreeBSD.org>
To: Andrew Burgess <aburgess@redhat.com>, gdb-patches@sourceware.org
Subject: Re: [PATCHv3 0/2] Improve 'maint set target-async off' for remote targets
Date: Mon, 13 Dec 2021 09:20:09 -0800	[thread overview]
Message-ID: <72c3769f-4288-f048-5580-b76ee9ed7d44@FreeBSD.org> (raw)
In-Reply-To: <cover.1638354426.git.aburgess@redhat.com>

On 12/1/21 2:40 AM, Andrew Burgess via Gdb-patches wrote:
> I pushed patches #1 to #5 from the original series, but it turned out
> that the assert added in patch #5 would trigger in some tests.  I
> checked my cached results and I definitiely wasn't seeing that assert
> during my testing, so my original assumption was that patch #6 fixed
> the cause of the assert.
> 
> However, upon retesting I found that this was not the case.  After
> rebuilding my development branch, the assert was present.  But it
> hadn't triggered during my testing.
> 
> I honestly have no idea what I originally tested - it clearly showed
> the expected improvement for native-extended-remote, so it contained
> some version of my work, but obviously not patch #5.
> 
> Which is why there's been a delay getting a new version of this patch
> on the list, I've retested the remaining patches, then double checked.
> 
> The old patch #5 is now patch #2 in this series, and the old patch #6
> is now patch #1.  Patch #1 contains a fix that allows the assert in
> patch #2, that previously caused problems, to now be just fine.
> 
> Changes since v2:
> 
>    - Previous patches #1 to #4 are now committed,
> 
>    - Previous patch #5 is now patch #2,
> 
>    - Previous patch #6 is now patch #1,
> 
>    - Change in remote_target::push_stop_reply, the async event token is
>      now only marked if the target _is_ in async mode, rather than if
>      the target _can_ be in async mode.  When async mode is later
>      enabled we were already marking the event token, so this should
>      not be a change in most cases.  During remote_target::start_remote
>      however, we push events, then process them without ever enabling
>      async mode, this use case was what was previously triggering the
>      assert in patch #2.
> 
>    - Code is otherwise unchanged.
> 
> Changes since v1:
> 
>    - The old patch #2 is removed, as Simon pointed out, this was just wrong.
> 
>    - The old patch #3, which was approved, is now patch #5, and is unchanged.
> 
>    - The old patch #4, is now patch #6, and still needs a review.
> 
>    - The old patch #1 has been split up into #1, #2, #3, and #4.  Given
>      significant changes since V1 these should probably be reviewed
>      afresh.
>      
> ---
> 
> Andrew Burgess (2):
>    gdb/remote: some fixes for 'maint set target-async off'
>    gdb: add assert in remote_target::wait relating to async being off
> 
>   gdb/remote.c | 192 +++++++++++++++++++++++----------------------------
>   1 file changed, 87 insertions(+), 105 deletions(-)

Patch 2 is straightforward and seems obviously correct to me.  I think Patch 1
also looks ok, and the description sounds sensible.  I'm just not super familiar
enough with the remote target in general to give a detailed review.  I do think
storing the "parsed" stop reply state in an existing queue is probably cleaner
overall (and my guess is the queue was added later and this cached reply just
wasn't converted to use the queue at the time?)

-- 
John Baldwin

      parent reply	other threads:[~2021-12-13 17:20 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-23 14:08 [PATCH 0/4] " Andrew Burgess
2021-11-23 14:08 ` [PATCH 1/4] gdb: add asserts in target.c for target_async_permitted Andrew Burgess
2021-11-23 21:31   ` Simon Marchi
2021-11-23 14:08 ` [PATCH 2/4] gdb/remote: merge ::is_async_p and ::can_async_p methods Andrew Burgess
2021-11-23 21:33   ` Simon Marchi
2021-11-24 10:14     ` Andrew Burgess
2021-11-23 14:08 ` [PATCH 3/4] gdb: add assert in remote_target::wait relating to async being off Andrew Burgess
2021-11-23 21:50   ` Simon Marchi
2021-11-23 14:08 ` [PATCH 4/4] gdb/remote: some fixes for 'maint set target-async off' Andrew Burgess
2021-11-23 22:03   ` Simon Marchi
2021-11-23 16:39 ` [PATCH 0/4] Improve 'maint set target-async off' for remote targets John Baldwin
2021-11-24 12:22 ` [PATCHv2 0/6] " Andrew Burgess
2021-11-24 12:22   ` [PATCHv2 1/6] gdb: introduce a new overload of target_can_async_p Andrew Burgess
2021-11-24 12:22   ` [PATCHv2 2/6] gdb: hoist target_async_permitted checks into target.c Andrew Burgess
2021-11-24 21:17     ` Simon Marchi
2021-11-24 12:22   ` [PATCHv2 3/6] gdb: add asserts in target.c for target_async_permitted Andrew Burgess
2021-11-24 21:21     ` Simon Marchi
2021-11-24 12:22   ` [PATCHv2 4/6] gdb: simplify remote_target::is_async_p Andrew Burgess
2021-11-24 12:22   ` [PATCHv2 5/6] gdb: add assert in remote_target::wait relating to async being off Andrew Burgess
2021-11-24 21:23     ` Simon Marchi
2021-11-25 10:04       ` Andrew Burgess
2021-11-25 11:36         ` Tom de Vries
2021-11-25 13:46           ` Andrew Burgess
2021-11-25 14:17             ` Tom de Vries
2021-11-24 12:22   ` [PATCHv2 6/6] gdb/remote: some fixes for 'maint set target-async off' Andrew Burgess
2021-12-01 10:40   ` [PATCHv3 0/2] Improve 'maint set target-async off' for remote targets Andrew Burgess
2021-12-01 10:40     ` [PATCHv3 1/2] gdb/remote: some fixes for 'maint set target-async off' Andrew Burgess
2021-12-16 21:15       ` Pedro Alves
2021-12-17 13:35         ` Andrew Burgess
2021-12-17 14:05           ` Pedro Alves
2021-12-18 10:21             ` Andrew Burgess
2021-12-01 10:40     ` [PATCHv3 2/2] gdb: add assert in remote_target::wait relating to async being off Andrew Burgess
2021-12-16 21:16       ` Pedro Alves
2021-12-18 10:21         ` Andrew Burgess
2021-12-13 11:41     ` PING: [PATCHv3 0/2] Improve 'maint set target-async off' for remote targets Andrew Burgess
2021-12-13 17:20     ` John Baldwin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=72c3769f-4288-f048-5580-b76ee9ed7d44@FreeBSD.org \
    --to=jhb@freebsd.org \
    --cc=aburgess@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).