Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tcf-dev] reduced getState function
  • From: "Wilson, David" <david.wilson@xxxxxxxxx>
  • Date: Wed, 26 May 2021 08:33:58 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/bPGmzZMslN4n+Z48p2lS1eIem9mK/yKZiyOJFnr3qo=; b=dOM0cr88fFuiICPcTV9VvJHsLKFYJuBmcy1T2Tl4Dgd+qd3U+Pgp/ZLAFK0IS/Y5nmM7w9bK5lWbfkLb+IqoaCqmPoqq2Lsf+5JrKYYy6rf7e7jIhfy5yRIXU7XLi9T/GRv+QeH9gphhhwugAAJIn3Rr0/7UulCWkZXs2jpA5NBiTi4tFwG/0Z58MilSu3PmQ96UMiVIWV6GtT4TzDUgOz1+u1coyv0/FwjiY4EjUGH0FGtb2OoF66tiQZj/U2vwLL9KM34+uuLhRdPEEkKdLIe+7jjCYK9WeI87ZbNxKzWFB+S7Td8PmeHQRLgVvxbXOzZQZefSbBnJpOQS/g3XyA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OfzVK+HR1O+SzIo53AfYCBvtWoU44tzF/FNbgZHF+iIuLZ6Fb84lGb9/WGnvsKK7ggJ4OeS8Jexd2qejoekUoW9gHdvNBM2pLVq4ZUB9Yuq60psRjwjZuCE6RRe08XU5ijOAPnDPLUTWruO+dlGlHRrOHMRJMCpDV8qwH5ZR9XzlB1Hes9nz3o0ycIOOgQ7KCmXgc1G86mUOnUlgbnh4mi5RVwmM78CXByK08tRX/ptQOD0Z/iBJGGgS7BBMgDRoBI4rTNKp6WHokNfuQPpCq/dMetL1V70O5EsDkVtk0g2vnrDAP40DajUOc1gCF9Lw/WYTXjIW5hPLdwxi0eoLyQ==
  • Delivered-to: tcf-dev@xxxxxxxxxxx
  • Dlp-product: dlpe-windows
  • Dlp-reaction: no-action
  • Dlp-version: 11.5.1.3
  • Ironport-sdr: LGy8UMCLgaUw8tikVrWTmZk6k0kxpiRyhj70IMsNEDVCtSErDud9oA1kxh2Tm5fKPxsnlhoEfY bBvs2e2m/VAQ==
  • Ironport-sdr: zhZlVX6pxvbeb1hZVh9i9u83m8t1ggvazlwCfL/5bxizCDLtJi4dLAhY1ayJzyRIITog0p+i50 n4Tu7PEcw2Sg==
  • List-archive: <https://www.eclipse.org/mailman/private/tcf-dev/>
  • List-help: <mailto:tcf-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/tcf-dev>, <mailto:tcf-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/tcf-dev>, <mailto:tcf-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: AddRVTyR/X66KXMFSSek9hxcWDWqIgAMk8rQACBrFyA=
  • Thread-topic: reduced getState function

HI Eugene and Sanimir,

 

Thank you both so much for taking the time to look into this.

 

That makes sense – sorry that there were other cases in the gui environment that required the full state, that we missed. Please let us know if you require anything from us  to get the GUI changes over the line – we are of course incredibly thankful for the time and effort you are putting in to help us!

 

Kind Regards

 

David Wilson

 

From: tcf-dev <tcf-dev-bounces@xxxxxxxxxxx> On Behalf Of Eugene Tarassov
Sent: Tuesday, May 25, 2021 7:04 PM
To: TCF Development <tcf-dev@xxxxxxxxxxx>
Subject: Re: [tcf-dev] reduced getState function

 

Hi David,

 

Yes, if your target can retrieve all needed context state info without reading PC, it can be used to make GUI updates somewhat faster.

 

However, the GUI patch (https://git.eclipse.org/r/c/tcf/org.eclipse.tcf/+/175151) is no good.

The context state is used at about 50 places throughout the code.

Some of them don’t really need PC and could use getMinState.

Others will break without PC. I tried the patch – it looks bad, causes problems.

 

I’m going to commit changes that will use getMinState when it is available and PC not needed, but fall back to getState in other cases.

I verified that in certain cases it can update GUI using getMinState only.

 

Regards,

Eugene

 

From: tcf-dev <tcf-dev-bounces@xxxxxxxxxxx> On Behalf Of Wilson, David
Sent: Tuesday, May 25, 2021 4:04 AM
To: TCF Development <tcf-dev@xxxxxxxxxxx>
Subject: [tcf-dev] reduced getState function

 

CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.

 

Hi Eugene,

 

Sorry to ask again, I was wondering if you have had a chance to look over my email from 19/5/2021? The email is as follows:

 

--- original message ---

Hi All –

 

We are having an issue at TCF protocol level relating to performance on Systems which have many Contexts.

 

The issue relates to the getState command being called on all contexts, which in turn, triggers a read on the program counter (pc) register.

 

On systems with a large number of contexts (especially over real hardware with JTAG), this has a massive performance penalty.

 

Now, we have seen several types of target where we can infer the state (i.e. has a breakpoint been hit, is it suspended etc) WITHOUT reading the PC. We would still like to show the “State” to the user, and thus have come up with a getMinState solution (detailed https://git.eclipse.org/r/c/tcf/org.eclipse.tcf.agent/+/172121) and GUI patch (https://git.eclipse.org/r/c/tcf/org.eclipse.tcf/+/175151)

 

Eugene Tarassov very kindly provided me with another potential solution to this, by not intercepting contexts. This would not require any code change. Unfortunately, is not an acceptable solution for us, as it does not allow us to provide the user with all the information we “know” – i.e. have the contexts been suspended or not. Eugene suggested “suspended, intercepted, but not active", which I can’t figure out how to trigger from the tcf agent (where we need this behaviour to come from) – simply setting this as “not active” from the client also seems cumbersome and unintuitive for a end user. Hence it seems the current approaches will not work to fix this issue.

 

Any help with our particular problem would be greatly appreciated.

---end of original message---

 

 

This is a completely blocking issue for us, and one that we believe other TCF developers and users will also encounter.

 

Any help/comments would be greatly appreciated.

 

Kind Regards

 

David Wilson

Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


Back to the top