clayborg added a comment.

In D93895#2480324 <https://reviews.llvm.org/D93895#2480324>, @augusto2112 wrote:

>> So it might be nice to add support for vAttachOrWait, along with the query 
>> packet, in this patch if you have the time?
>
> Hi @clayborg, I saw that implementing vAttachOrWait was already 90% done, so 
> I did just that :) The current patch as-is supports vAttachOrWait. My 
> question was more on the lines of if keeping the query for vAttachOrWait made 
> sense now that it's implemented on Linux. Are there be other targets where it 
> isn't implemented?

Best to not change anything if we don't know. Yes there are other GDB servers 
out there that may not implement vAttachOrWait, so I would vote to not change 
anything.

> I also left a comment with a couple of questions earlier, but I think it got 
> hidden by my last comment. I'll repost it here:
>
>> @clayborg I've added support for the 'waitfor-interval' and 
>> 'waitfor-duration' flags. Yesterday I thought they existed in macOS, but now 
>> I'm not so sure, as I couldn't find them on "Options.td". They were added in 
>> 2009, so maybe they did exist but were dropped later. Or I just didn't look 
>> at the right place.
>>
>> A couple of questions:
>>
>> - About the default polling interval, I've set it to 1ms for now, but I 
>> found that (in my system) this keeps a core at 100%. 10ms keeps still keeps 
>> it at around 80%, and 100ms keeps it at around 35%. Maybe 100ms is a good 
>> balance?

debugserver in the llvm sources uses 1ms as its default. I would vote to be as 
quick as possible so we can catch the process as soon as possible. The option 
--waitfor-interval specifies the time in microseconds, so we will want to 
mirror that. So even though it does peg one core at 100%, I think it might be 
worth it to catch the process sooner than later.

>> - On "Options.td", besides the "process attach" command, there's also a 
>> "platform process attach". I haven't touched it since I'm not familiar with 
>> the platform command. Should I add these flags to the platform counterpart 
>> as well?

Just "process attach" is fine to start with. The platform layer doesn't always 
have to use a GDB server, so adding those options there could end up being hard 
for some platforms to implement. In fact I would mind if we don't even add 
these options to "process attach" and just always use the defaults, because as 
you say, if someone selects or replaces the lldb-server with an older one, then 
we don't want the launching of the lldb-server to fail because it doesn't 
recognize an option that is being passed to it. The better way to fix this 
would be to make a new attach wait packet that takes these as arguments to the 
packet, but we don't need to do that.

> Could you confirm for me that 'waitfor-interval' and 'waitfor-duration' don't 
> exist on macOS? If I'm sending a different message format than what's done on 
> macOS that'd be an issue.

Here lies the problem that I mentioned above. I would like to avoid having to 
launch lldb-server with any arguments so that we continue to work with older 
lldb-servers.

So maybe we just rely on defaults for now and avoid having to add any new 
arguments to "process attach" and to the launching of the lldb-server? Let me 
know your thoughts.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93895/new/

https://reviews.llvm.org/D93895

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to