Re: build erlang with kqueue support
Lukas Larsson <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.general |
|---|---|
| Message-ID | <CAP3zBqMxvg_G8xWFp07YozkWAB4BXrfFPQQVUem6MEGX5xBTdg@mail.gmail.com> |
On Tue, Nov 16, 2021 at 9:59 AM Bogdan Andu <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 . >