On Mon, Feb 05, 2024 at 09:36:14AM -0300, Roberto Bartzen Acosta via dev wrote:
> Updating the reference documentation with the inclusion of possible building
> problems with libjemalloc and solution suggestions.
> 
> Reported-at: 
> https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/2015748
> Signed-off-by: Roberto Bartzen Acosta <[email protected]>

Thanks Roberto, Eelco, and Frode,

I noticed that this did not apply cleanly to main,
and there was a leading '$' missing from the 2nd example.
I have resolved those problems and applied the slightly
revised patch below as.

- Documentation: Adding note about using the jemalloc library.
  https://github.com/openvswitch/ovs/commit/2832faa22aa0

>From 2832faa22aa09b4bde51381fdfe730161fa22248 Mon Sep 17 00:00:00 2001
From: Roberto Bartzen Acosta <[email protected]>
Date: Mon, 5 Feb 2024 09:36:14 -0300
Subject: [PATCH] Documentation: Adding note about using the jemalloc library.

Updating the reference documentation with the inclusion of possible building
problems with libjemalloc and solution suggestions.

Reported-at: https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/2015748
Signed-off-by: Roberto Bartzen Acosta <[email protected]>
Acked-by: Eelco Chaudron <[email protected]>
Reviewed-by: Frode Nordahl <[email protected]>
[simon: rebased; added leading '$' to last configure example]
Signed-off-by: Simon Horman <[email protected]>
---
 Documentation/intro/install/general.rst | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/Documentation/intro/install/general.rst 
b/Documentation/intro/install/general.rst
index 19e360d47ce4..86e85f75dbff 100644
--- a/Documentation/intro/install/general.rst
+++ b/Documentation/intro/install/general.rst
@@ -344,6 +344,22 @@ you wish to link with jemalloc add it to LIBS::
 
     $ ./configure LIBS=-ljemalloc
 
+.. note::
+  Linking Open vSwitch with the jemalloc shared library may not work as
+  expected in certain operating system development environments. You can
+  override the automatic compiler decision to avoid possible linker issues by
+  passing ``-fno-lto`` or ``-fno-builtin`` flag since the jemalloc override
+  standard built-in memory allocation functions such as malloc, calloc, etc.
+  Both options can solve possible jemalloc linker issues with pros and cons for
+  each case, feel free to choose the path that appears best to you. Disabling
+  LTO flag example::
+
+      $ ./configure LIBS=-ljemalloc CFLAGS="-g -O2 -fno-lto"
+
+  Disabling built-in flag example::
+
+      $ ./configure LIBS=-ljemalloc CFLAGS="-g -O2 -fno-builtin"
+
 .. _general-building:
 
 Building
-- 
2.43.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to