[RFC 2/6] perf probe: Parse linerange for C++ functions

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther perf probe --funcs will demangle C++ symbols by default but these functions can not be used for listing sourcecode. Modify the scanner to start searching for a line number only after a single ':'. ./perf probe -x ./cxx-example -L \

[RFC 2/6] perf probe: Parse linerange for C++ functions

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther perf probe --funcs will demangle C++ symbols by default but these functions can not be used for listing sourcecode. Modify the scanner to start searching for a line number only after a single ':'. ./perf probe -x ./cxx-example -L \ "std::vector >::at:1"

[RFC 1/6] perf probe: Do not exclude mangled C++ funcs

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther Using --funcs --no-demangle on a C++ binary does not list any of the C++ functions. Change the default filter to not exclude the Common C++ ABI symbols. $ ./perf probe -x ./cxx-example --funcs --no-demangle ...

[RFC 1/6] perf probe: Do not exclude mangled C++ funcs

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther Using --funcs --no-demangle on a C++ binary does not list any of the C++ functions. Change the default filter to not exclude the Common C++ ABI symbols. $ ./perf probe -x ./cxx-example --funcs --no-demangle ... _ZN9__gnu_cxx13new_allocatorIiEC1Ev ...

[RFC 3/6] perf probe: Make listing of C++ functions work

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther If die_match_name does not match, attempt to demangle the linkage name. To use the generic demangling API we require to have a struct dso. Store it inside the debuginfo and pass it to the relevant callbacks. ./perf probe -x ./foo -L \

[RFC 0/6] perf probe: Attempt to improve C++ probing

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther Currently perf probe -x app --funcs will list and demangle C++ functions but the other probe actions can't work with them. When asking probe to not demangle it will not list any of the application symbols creating the impression that

[RFC 3/6] perf probe: Make listing of C++ functions work

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther If die_match_name does not match, attempt to demangle the linkage name. To use the generic demangling API we require to have a struct dso. Store it inside the debuginfo and pass it to the relevant callbacks. ./perf probe -x ./foo -L \ "std::vector

[RFC 0/6] perf probe: Attempt to improve C++ probing

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther Currently perf probe -x app --funcs will list and demangle C++ functions but the other probe actions can't work with them. When asking probe to not demangle it will not list any of the application symbols creating the impression that there are no symbols at all.

[RFC 6/6] perf probe: Make it possible to add a C++ uprobe

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther If the linkage name looks like a common C++ ABI name use it instead of the original function name. This makes adding a uprobe for a C++ symbol possible. ./perf probe -x ./cxx-example "std::vector::at" Added new

[RFC 5/6] perf probe: Make listing of variables work for C++ functions

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther Update call sites with die_match_name to call matches_demangled as well. This requires to pass the struct debuginfo/struct dso to the callbacks and modifies the closure/void *data parameter. For most functions this will change the

[RFC 4/6] perf probe: Show variables for C++ functions

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther The demangled C++ function name contains spaces and using the generic argc_split would split the function in the middle. Create a separate version that counts the number of opening and closing '<', '>' for templated functions. $ ./perf

[RFC 6/6] perf probe: Make it possible to add a C++ uprobe

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther If the linkage name looks like a common C++ ABI name use it instead of the original function name. This makes adding a uprobe for a C++ symbol possible. ./perf probe -x ./cxx-example "std::vector >::at" Added new event: probe_foo:_ZNSt6vectorIiSaIiEE2atEm (on

[RFC 5/6] perf probe: Make listing of variables work for C++ functions

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther Update call sites with die_match_name to call matches_demangled as well. This requires to pass the struct debuginfo/struct dso to the callbacks and modifies the closure/void *data parameter. For most functions this will change the parameter from struct

[RFC 4/6] perf probe: Show variables for C++ functions

2018-05-13 Thread Holger Freyther
From: Holger Hans Peter Freyther The demangled C++ function name contains spaces and using the generic argc_split would split the function in the middle. Create a separate version that counts the number of opening and closing '<', '>' for templated functions. $ ./perf probe -x ./foo -V

Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown

2013-12-21 Thread Holger Freyther
Sarah Sharp linux.intel.com> writes: Good Afternoon, > Also, do you have an HP system, or is this a different vendor? for what its worth. I do have an Ivybridge laptop and I do see immediate wake-ups from suspend to ram from time to time. When this happens I do modprobe -r xhci_hcd and the

Re: [PATCH v1] xhci: Switch Intel Lynx Point ports to EHCI on shutdown

2013-12-21 Thread Holger Freyther
Sarah Sharp sarah.a.sharp at linux.intel.com writes: Good Afternoon, Also, do you have an HP system, or is this a different vendor? for what its worth. I do have an Ivybridge laptop and I do see immediate wake-ups from suspend to ram from time to time. When this happens I do modprobe -r