If application coredumps with vhost-user devices connected to it,
the generated coredump file size is huge.

To limit its size, this patch adds call to madvise() with MADV_DONTDUMP
on memory regions mapped from the VM.

Signed-off-by: Sebastian Basierski <sebastianx.basier...@intel.com>
Signed-off-by: Tomasz Kulasek <tomaszx.kula...@intel.com>
---
 lib/librte_vhost/vhost_user.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 65ee33919..fc1f1a948 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -723,6 +723,11 @@ vhost_user_set_mem_table(struct virtio_net *dev, struct 
VhostUserMsg *pmsg)
                        goto err_mmap;
                }
 
+               if (madvise(mmap_addr, mmap_size, MADV_DONTDUMP) != 0) {
+                       RTE_LOG(INFO, VHOST_CONFIG,
+                               "MADV_DONTDUMP advice setting failed.\n");
+               }
+
                reg->mmap_addr = mmap_addr;
                reg->mmap_size = mmap_size;
                reg->host_user_addr = (uint64_t)(uintptr_t)mmap_addr +
-- 
2.14.1

Reply via email to