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