[Lldb-commits] [PATCH] D62931: [lldb-server] Add setting to force 'g' packet use
Guilherme Andrade via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Jun 7 09:38:07 PDT 2019
guiandrade added a comment.
In D62931#1532510 <https://reviews.llvm.org/D62931#1532510>, @clayborg wrote:
> In D62931#1531965 <https://reviews.llvm.org/D62931#1531965>, @labath wrote:
>
> >
>
>
> There are so many various GDB remote servers and it is hard to say what will work for most people. Might be worth testing this with the setting set to true and false on a complex program single step on mac, linux and android and verifying that stepping speeds don't regress at all. Android tends to have hundreds of threads which usually makes it the slowest of all when stepping. If we don't see regressions, then I am fine with no setting. Every scenario I know of benefits from fewer packets with larger content (macOS, watchOS, linux, android) so I am fine just enabling it. Maybe it would be good to check what GDB does by default as it might tell us, via comments, why they don't use it if they did run into issues.
How can we run those tests? Is there an automated way to do that?
> So I am ok with no setting as long as perf doesn't regress on complex steps and as long as GDB uses 'g' packets by default.
I think they first try to use 'g' packets - https://github.com/bminor/binutils-gdb/blob/4fa0265edea0940b865678d93749e224547dd36a/gdb/remote.c#L8130 (I'm not familiar with that code at all, so I may be wrong)
================
Comment at: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp:1722
+ thread_sp = std::make_shared<ThreadGDBRemote>(
+ *this, tid, GetGlobalPluginProperties()->GetPacketTimeout());
LLDB_LOGV(log, "Making new thread: {0} for thread ID: {1:x}.",
----------------
note to self: fix wrong method call
================
Comment at: lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp:1839
+ thread_sp = std::make_shared<ThreadGDBRemote>(
+ *this, tid, GetGlobalPluginProperties()->GetPacketTimeout());
m_thread_list_real.AddThread(thread_sp);
----------------
note to self: fix wrong method call
Repository:
rLLDB LLDB
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62931/new/
https://reviews.llvm.org/D62931
More information about the lldb-commits
mailing list