Hi Emeric,

On 5/7/19 1:53 PM, Emeric Brun wrote:
On 5/7/19 1:24 PM, Marcin Deranek wrote:
Hi Emeric,

On 5/7/19 11:44 AM, Emeric Brun wrote:
Hi Marcin,>>>>>> As I use HAProxy 1.8 I had to adjust the patch (see attachment for end 
result). Unfortunately after applying the patch there is no change in behavior: we still leak /dev/usdm_drv 
descriptors and have "stuck" HAProxy instances after reload..
Regards,



Could you perform a test recompiling the usdm_drv and the engine with this 
patch, it applies on QAT 1.7 but I've no hardware to test this version here.

It should fix the fd leak.

It did fix fd leak:

# ls -al /proc/2565/fd|fgrep dev
lr-x------ 1 root root 64 May  7 13:15 0 -> /dev/null
lrwx------ 1 root root 64 May  7 13:15 7 -> /dev/usdm_drv

# systemctl reload haproxy.service
# ls -al /proc/2565/fd|fgrep dev
lr-x------ 1 root root 64 May  7 13:15 0 -> /dev/null
lrwx------ 1 root root 64 May  7 13:15 8 -> /dev/usdm_drv

# systemctl reload haproxy.service
# ls -al /proc/2565/fd|fgrep dev
lr-x------ 1 root root 64 May  7 13:15 0 -> /dev/null
lrwx------ 1 root root 64 May  7 13:15 9 -> /dev/usdm_drv

But there are still stuck processes :-( This is with both patches included: for 
QAT and HAProxy.
Regards,

Marcin Deranek

Thank you Marcin! Anyway it's was also a bug.

Could you process a 'show fds' command on a stucked process adding the patch in 
attachement.

I did apply this patch and all previous patches (QAT + HAProxy ssl_free_engine). This is what I got after 1st reload:

show proc
#<PID>          <type>          <relative PID>  <reloads>       <uptime>
8025            master          0               1               0d 00h03m25s
# workers
31269           worker          1               0               0d 00h00m39s
31270           worker          2               0               0d 00h00m39s
31271           worker          3               0               0d 00h00m39s
31272           worker          4               0               0d 00h00m39s
# old workers
9286            worker          [was: 1]        1               0d 00h03m25s
9287            worker          [was: 2]        1               0d 00h03m25s
9288            worker          [was: 3]        1               0d 00h03m25s
9289            worker          [was: 4]        1               0d 00h03m25s

@!9286 show fd
13 : st=0x05(R:PrA W:pra) ev=0x01(heopI) [lc] cache=0 owner=0x23eaae0 iocb=0x4877c0(mworker_accept_wrapper) tmask=0x1 umask=0x0 16 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x4e1ab0 iocb=0x4e1ab0(thread_sync_io_handler) tmask=0xffffffffffffffff umask=0x0 20 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1601b840 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 21 : st=0x22(R:pRa W:pRa) ev=0x00(heopi) [lc] cache=0 owner=0x1f0ec4f0 iocb=0x4ce6e0(conn_fd_handler) tmask=0x1 umask=0x0 cflg=0x00241300 fe=GLOBAL mux=PASS mux_ctx=0x22ad8630 1412 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1bab1f30 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1413 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x247e5bc0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1414 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x18883650 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1415 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x14476c10 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1416 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11a27850 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1418 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x12008230 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1419 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1bb0a570 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1420 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11c94790 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1421 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1449e050 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1422 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1f00c150 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1423 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x15f40550 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1424 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x124b6340 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1425 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11fe4500 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1426 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11c70a60 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1427 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x12572540 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1428 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1249a420 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1430 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11b224a0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1431 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x14f668e0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1432 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1448a630 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1433 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x14f32010 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1434 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1588ed80 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1435 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1efb3e50 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1436 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x10f4cc40 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1437 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1bac59b0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1439 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x144b1a70 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1440 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1170a380 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1441 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1bad93f0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1442 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1bb27ca0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1443 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x158233b0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1444 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x124ba940 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1445 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x15f65850 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1446 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1ab4c9e0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1447 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11e2a7b0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1448 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x16923e40 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1449 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x15e156c0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1450 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1585f040 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1451 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11d0c0f0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1452 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1bb00860 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1454 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1bb1df90 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1455 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11b16850 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1460 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x115ffe30 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1461 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x16936f10 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1462 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x15fbf350 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1463 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1efd1630 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1465 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1bacf6d0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1467 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11079580 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1468 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11e425d0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1469 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x144a7d60 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1472 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x23e6c10 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1474 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x158beac0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1476 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1270e190 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1480 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11f10960 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1484 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x124a4b40 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1488 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11b461d0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1490 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x11643280 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1492 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x215945c0 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1499 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x14f68b30 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1500 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x19e59970 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1503 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x1fc7b710 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0 1508 : st=0x05(R:PrA W:pra) ev=0x00(heopi) [lc] cache=0 owner=0x16e7cc90 iocb=0x4f4d50(ssl_async_fd_free) tmask=0x1 umask=0x0

Regards,

Marcin Deranek

Reply via email to