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

Reply via email to