dbg suspend of traced process

Lukas Larsson lukas@REDACTED
Mon Jun 15 10:16:43 CEST 2020


On Fri, Jun 12, 2020 at 11:07 PM Peti Gömöri <gomoripeti@REDACTED> wrote:

> Hi,
>

Hello,

I noticed that dbg suspends the traced process, when it receives a
> function-called trace from it.
>
> https://github.com/erlang/otp/blob/master/lib/runtime_tools/src/dbg.erl#L875
>
> I kind of feel what could have been the original intent behind this, but
> isn't this something, similar to sender punishment for long message queues,
> that was more relevant in non-SMP mode, and could be removed?
> Even so, as it only happens for "trace" messages, and not when timestamp
> is enabled ("trace_ts"), which sounds like an accidental asymmetry.
>
> I am curious what are the details and history behind this selective
> suspend?
>

I don't remember exactly why, but I do believe that you are correct that is
a mechanism that is no longer useful when running in an SMP system. In
fact, this pr https://github.com/erlang/otp/pull/2475, which I worked on a
while ago, removes that backpressure mechanism and instead uses the
logger_olp module.

Lukas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20200615/a4707c04/attachment.htm>


More information about the erlang-questions mailing list