Re: [Maria-developers] MariaDB 10.4 on AIX. Issue with: HAVE_POOL_OF_THREADS

2019-04-18 Thread Vladislav Vaintroub
Hi Tony, I fixed this in https://jira.mariadb.org/browse/MDEV-19274 . I do not think it makes a lot of sense to implement generic, poll()-based threadpool . epoll-like APIs exists almost everywhere, except very exotic (for MariaDB) platforms we do not build on. I googled, and I found that

Re: [Maria-developers] MariaDB 10.4 on AIX. Issue with: HAVE_POOL_OF_THREADS

2019-04-18 Thread Vladislav Vaintroub
Hi Tony, MariaDB uses EPOLLETT| EPOLLONESHOT on Linux. By now, I forgot which EPOLLXXX flag does what exactly. The intention is to remove the socket from the “pollset” once we determine there is some data to read. Then server executes query, and after that threadpool puts socket back to

Re: [Maria-developers] [Commits] 167a96b5157: MDEV-9959: A serious MariaDB server performance bug

2019-04-18 Thread Sergey Petrunia
On Tue, Mar 27, 2018 at 04:48:10PM +0530, Varun wrote: > revision-id: 167a96b5157049408a6ad4bca7abcd376af93fb5 > (mariadb-10.3.0-644-g167a96b5157) > parent(s): 4359c6b4806605c78987e50cab3a6b42016b7603 > author: Varun Gupta > committer: Varun Gupta > timestamp: 2018-03-27 16:45:46 +0530 > message:

Re: [Maria-developers] MariaDB 10.4 on AIX. Issue with: HAVE_POOL_OF_THREADS

2019-04-18 Thread Vladislav Vaintroub
Addition to the previous comment : we want exactly the behaviour that is described in this answer https://stackoverflow.com/a/46142976/547065 , under “Level-triggered EPOLLONESHOT” thus we use the EPOLL flags that we use. As original author remarks, on Linux, the socket is not physically

Re: [Maria-developers] MariaDB 10.4 on AIX. Issue with: HAVE_POOL_OF_THREADS

2019-04-18 Thread REIX, Tony
Hi Wlad, Thanks for fixing this issue. :-) About thread-pool, the implementation of IOCP on AIX has limitations. That works ONLY with Asynchronous I/O (AIO). On AIX, we have the pollset API. Within our port of Go on AIX, we did not use pollset since Go wants netpoll to be edge-triggered