build erlang with kqueue support

Lukas Larsson lukas@REDACTED
Tue Nov 16 10:07:12 CET 2021


On Tue, Nov 16, 2021 at 9:59 AM Bogdan Andu <bog495@REDACTED> wrote:

> Hi Lukas,
>
> I didn't; find any documentation related to that.
>

A pr improving the documentation would be much appreciated!


>
> Anyway,
>
> $ erl
> Erlang/OTP 24 [erts-12.1.4] [source] [64-bit] [smp:4:4] [ds:4:4:10]
> [async-threads:1]
>
> Eshell V12.1.4  (abort with ^G)
> 1> erlang:system_info(kernel_poll).
> true
> 2>
>
> I guess I have kernel poll support for my erlang servers.
>
> How can one tell if it is 'kqueue' or 'poll' type of kernel poll?
>
> Because OpenBSD has also poll which is not great
>
> Is there any erlang system information function that shows
> exactly that?
>

If you run `erlang:system_info(check_io)` you will get information about
the I/O checking sub-system which should include information about which
mechanism is used.


>
> Thank you
>
>
>
> On Tue, Nov 16, 2021 at 10:53 AM Lukas Larsson <lukas@REDACTED> wrote:
> >
> > Hello!
> >
> > The banner about kernel-poll was removed from the erlang start some
> releases ago. So to check if you have kernel poll support you need to call
> `erlang:system_info(kernel_poll)`. If it returns `true` then you have
> kernel-poll support.
> >
> > Lukas
> >
> > On Tue, Nov 16, 2021 at 9:47 AM Bogdan Andu <bog495@REDACTED> wrote:
> >>
> >> Hello,
> >>
> >> I have an OpenBSD 6.8 amd64 machine and
> >> I would like to compile Erlang 24 with kqueue support
> >> such that I want erl to show me this:
> >>
> >> $erl
> >> ........................ [kernel-poll]
> >>
> >> I understand that this is a compile time option
> >> and not anymore a runtime selectable option tru + K true
> >> switch
> >>
> >> I tried the following configure options with no success:
> >> ./configure --prefix=/usr/local/erlang24.1.4
> >> --with-ssl=/usr/local/openssl/1.1.1l --enable-dynamic-ssl-lib
> >> --with-ssl-rpath=/usr/local/openssl/1.1.1l/lib --without-javac
> >> --enable-threads --enable-kernel-poll --disable-hipe
> >>
> >> With openbsd patches (+./otp_build update_configure)
> >> and without patches the result is the same:
> >> no kernel-poll flag present - meaning that kernel polling with kqueue
> >> is not available to that erlang emulator.
> >>
> >> Please advice me how to build erlang 24 with kqueue support.
> >>
> >> I have an Openbsd 5.4 with erlang 19 that does has kernell-poll flag
> >>
> >> $ erl +Ktrue
> >> Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:2:2]
> >> [async-threads:10] [kernel-poll:true]
> >>
> >> Eshell V8.1  (abort with ^G)
> >>
> >>
> >> p.s.
> >> building erlang 24 against openssl 1.1.1 for tlsv3 support wasn't
> >> a pleasant experience. The configuration script links against
> >> system libressl  openssl library, instead of --with-ssl option given
> >> to ./configure.
> >> So I had to alter manually crypto ./configure and Makefile files .
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20211116/bdd918c8/attachment.htm>


More information about the erlang-questions mailing list