Help with analysing JIT perf report

Lukas Larsson lukas@REDACTED
Wed Jun 23 11:55:07 CEST 2021


On Wed, Jun 23, 2021 at 11:39 AM Max Lapshin <max.lapshin@REDACTED> wrote:

> I've checked it without lcnt and situation is the same.
>
> I have NIF  ERL_NIF_DIRTY_JOB_IO_BOUND  that uses enif_select to read
> data with function read from DVB card.
>
> I've seen that this pause instruction is somewhere nearby   driver_entry@
> ....
>
> I've checked: one process that reads data from DVB card gets about 350
>   ready_input messages per second.
>
> Maybe I don't need to use ERL_NIF_DIRTY_JOB_IO_BOUND flag if I know
> that socket is ready for reading and non-blocked?
>

We do not use dirty schedulers for reading from sockets, so if DVB cards
behave similarly to sockets then you can skip using a dirty scheduler.

Rapidly scheduling processes in between normal and dirty schedulers could
cause a lot of time to be spent in erts_schedule.

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


More information about the erlang-questions mailing list