1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 <2013> 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 <2013> 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Displaying Linux PID's or pthread opaque pthread_t? |
From: | Ralph Lange <[email protected]> |
To: | EPICS Tech-Talk <[email protected]> |
Date: | Thu, 15 Aug 2013 12:23:34 +0200 |
On 15.08.2013 11:04, [email protected] wrote:
I have found debugging the performance of areaDetector modules hampered by the fact that epicsThreadShow(All) displays opaque pthread_t pointers - which are less than useless information, rather than Linux thread PID's. Attached is a patch to R3.14.12.3, which (for Linux only) changes epicsThreadShow(All) so that it displays PID's, not pthread_t's. This means you can run epicsThreadShowAll and easily correlate thread CPU usage with the output of top -H. My only concern is that it may offend some people who don't like the fact that the POSIX osdThread.c file is not strictly POSIX anymore. However, I feel this is far outweighed by increasing the utility of epicsThreadShow(All).
Note that the epicsThreadShow functions for Linux already have such a change for EPICS 3.15 - merged in the trunk, appearing in the next released version. In addition, EPICS thread names are copied into the command string inside the Linux thread structure, so that the top output shows proper EPICS thread names.
Cheers, ~Ralph