Re: Help with analysing JIT perf report

Lukas Larsson <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CAP3zBqOBB1PdOzCBOHSf9ryyT=uTwm3vsHVU84bwigowAtwM+Q@mail.gmail.com>
On Wed, Jun 23, 2021 at 11:39 AM Max Lapshin <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.