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. R, Emeric
diff -urN quickassist.old/utilities/libusdm_drv/linux/user_space/qae_mem_hugepage_utils.c quickassist/utilities/libusdm_drv/linux/user_space/qae_mem_hugepage_utils.c --- quickassist.old/utilities/libusdm_drv/linux/user_space/qae_mem_hugepage_utils.c 2019-05-07 11:35:15.654202291 +0200 +++ quickassist/utilities/libusdm_drv/linux/user_space/qae_mem_hugepage_utils.c 2019-05-07 11:35:44.302292417 +0200 @@ -104,7 +104,7 @@ /* standard page size */ page_size = getpagesize(); - fd = qae_open("/proc/self/pagemap", O_RDONLY); + fd = qae_open("/proc/self/pagemap", O_RDONLY|O_CLOEXEC); if (fd < 0) { return 0; diff -urN quickassist.old/utilities/libusdm_drv/linux/user_space/qae_mem_utils.c quickassist/utilities/libusdm_drv/linux/user_space/qae_mem_utils.c --- quickassist.old/utilities/libusdm_drv/linux/user_space/qae_mem_utils.c 2019-03-15 15:23:43.000000000 +0100 +++ quickassist/utilities/libusdm_drv/linux/user_space/qae_mem_utils.c 2019-05-07 11:24:08.755921241 +0200 @@ -745,7 +745,7 @@ if (fd > 0) close(fd); - fd = qae_open(QAE_MEM, O_RDWR); + fd = qae_open(QAE_MEM, O_RDWR|O_CLOEXEC); if (fd < 0) { CMD_ERROR("%s:%d Unable to initialize memory file handle %s \n",