From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26739 invoked by alias); 5 Dec 2013 11:31:09 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 26723 invoked by uid 89); 5 Dec 2013 11:31:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.5 required=5.0 tests=AWL,BAYES_40,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from Unknown (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 05 Dec 2013 11:31:08 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id rB5BUx31005476 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 5 Dec 2013 06:30:59 -0500 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id rB5BUvFf012181; Thu, 5 Dec 2013 06:30:57 -0500 Message-ID: <52A063F0.9030807@redhat.com> Date: Thu, 05 Dec 2013 11:31:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: Tom Tromey CC: Yao Qi , Mark Kettenis , gdb-patches@sourceware.org Subject: Re: [PATCH 2/3] skip_prolgoue (amd64) References: <1385735051-27558-1-git-send-email-yao@codesourcery.com> <1385735051-27558-3-git-send-email-yao@codesourcery.com> <201311291436.rATEaZ5Z030292@glazunov.sibelius.xs4all.nl> <201311291605.rATG5XVb030184@glazunov.sibelius.xs4all.nl> <52994E79.4000004@codesourcery.com> <5299B9D0.2020304@redhat.com> <529C37A2.9000207@codesourcery.com> <529E9462.9010001@codesourcery.com> <529F1B1F.2040606@redhat.com> <87ob4wr5hv.fsf@fleche.redhat.com> In-Reply-To: <87ob4wr5hv.fsf@fleche.redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2013-12/txt/msg00176.txt.bz2 On 12/04/2013 03:38 PM, Tom Tromey wrote: >>>>>> "Pedro" == Pedro Alves writes: > > Pedro> Actually "non-stop", vs "all-stop" here isn't the ideal > Pedro> predicate. The real predicate is "is any thread running". > Pedro> "non-stop" is just being currently used in > Pedro> prepare_execute_command as proxy for that, just because > Pedro> that was the easiest. > > It seemed to me that the predicate must be "is any thread associated > with this particular address space running?" -- but I wanted to ask if > that makes sense, or if that was what you meant. This idea seems to > open the door to finer-grained cache flushing. Yes. What I'm getting at is that checking whether in non-stop mode doesn't even say whether anything is running or not, only that it could, and that the real predicate revolves around "threads are running" -- we can go finer-grained from that, though obviously at the expense of predicate complexity. Actually, even with target-async/all-stop, the target can also be running when we get to prepare_execute_command, so the check for non_stop isn't just being overzealous, it's actually wrong. We can't actually trigger badness currently, I think, as with remote/async/all-stop, GDB can't issue RSP commands to read memory off the target while the target is running, due to RSP limitation. And with Linux native/async, you can't read memory off a running process, due to backend limination. -- Pedro Alves