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",