diff mbox series

[ovs-dev,ovs,v4] Documentation: Adding note about using the jemalloc library.

Message ID 20240205123614.336927-1-roberto.acosta@luizalabs.com
State Accepted
Delegated to: Simon Horman
Headers show
Series [ovs-dev,ovs,v4] Documentation: Adding note about using the jemalloc library. | expand

Checks

Context Check Description
ovsrobot/apply-robot fail apply and check: fail
ovsrobot/intel-ovs-compilation fail test: fail

Commit Message

Roberto Bartzen Acosta Feb. 5, 2024, 12:36 p.m. UTC
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 <roberto.acosta@luizalabs.com>
---
 Documentation/intro/install/general.rst | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

Comments

0-day Robot Feb. 5, 2024, 12:56 p.m. UTC | #1
Bleep bloop.  Greetings Roberto Bartzen Acosta, I am a robot and I have tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


git-am:
error: sha1 information is lacking or useless (Documentation/intro/install/general.rst).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Documentation: Adding note about using the jemalloc library.
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".


Patch skipped due to previous failure.

Please check this out.  If you feel there has been an error, please email aconole@redhat.com

Thanks,
0-day Robot
Simon Horman Feb. 7, 2024, 10:12 a.m. UTC | #2
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 <roberto.acosta@luizalabs.com>

Hi Robert,

Thanks for addressing the review of v2 and v3.

Acked-by: Simon Horman <horms@ovn.org>
Eelco Chaudron Feb. 7, 2024, 10:33 a.m. UTC | #3
On 5 Feb 2024, at 13:36, 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 <roberto.acosta@luizalabs.com>

Thanks for adding my change request. It looks fine to me now.

Acked-by: Eelco Chaudron <echaudro@redhat.com>
Frode Nordahl Feb. 8, 2024, 5:33 a.m. UTC | #4
On Mon, Feb 5, 2024 at 1:35 PM Roberto Bartzen Acosta via dev
<ovs-dev@openvswitch.org> 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 <roberto.acosta@luizalabs.com>

Thanks, Roberto!

Reviewed-by: Frode Nordahl <frode.nordahl@canonical.com>
Simon Horman Feb. 9, 2024, 9:54 a.m. UTC | #5
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 <roberto.acosta@luizalabs.com>

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 <roberto.acosta@luizalabs.com>
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 <roberto.acosta@luizalabs.com>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
Reviewed-by: Frode Nordahl <frode.nordahl@canonical.com>
[simon: rebased; added leading '$' to last configure example]
Signed-off-by: Simon Horman <horms@ovn.org>
---
 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
diff mbox series

Patch

diff --git a/Documentation/intro/install/general.rst b/Documentation/intro/install/general.rst
index ab6209482..986913a91 100644
--- a/Documentation/intro/install/general.rst
+++ b/Documentation/intro/install/general.rst
@@ -308,6 +308,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"
+
 Example usage::
     $ # Clone OVS repo
     $cd /home/foo/ovs