[dpdk-dev,v2] app/test: fix memory needs after RTE_MAX_LCORE was increased to 128

Message ID 1418119872-15335-1-git-send-email-pablo.de.lara.guarch@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

De Lara Guarch, Pablo Dec. 9, 2014, 10:11 a.m. UTC
  Since commit b91c67e5a693211862aa7dc3b78630b4e856c2af,
maximum number of cores is 128, which has increase
the total memory necessary for a rte_mempool structure,
as the per-lcore local cache has been doubled in size.
Therefore, eal_flags unit test was broken since it needed
to use more hugepages.

Changes in v2: Increased memory to 18MB, as that is the
actual minimum memory necessary (depending on the physical memory segments,
DPDK may need less memory)

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 app/test/test_eal_flags.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
  

Comments

Thomas Monjalon Dec. 10, 2014, 2:40 p.m. UTC | #1
2014-12-09 10:11, Pablo de Lara:
> Since commit b91c67e5a693211862aa7dc3b78630b4e856c2af,
> maximum number of cores is 128, which has increase
> the total memory necessary for a rte_mempool structure,
> as the per-lcore local cache has been doubled in size.
> Therefore, eal_flags unit test was broken since it needed
> to use more hugepages.
> 
> Changes in v2: Increased memory to 18MB, as that is the
> actual minimum memory necessary (depending on the physical memory segments,
> DPDK may need less memory)
> 
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>

Independently of RTE_MAX_LCORE being increased to 128, I still have some
problems with test_invalid_vdev_flag().
First, DEFAULT_MEM_SIZE is not used in this function.
Also, even with your patch, I get this error in my VM:
	Cannot get hugepage information

But if this patch solves an issue for you, I guess it should be applied.
That said, I would appreciate a complete description of the commands
you use to launch this test in a VM (starting with the Qemu command).

Thanks
  
Thomas Monjalon Dec. 11, 2014, 1:11 a.m. UTC | #2
2014-12-10 15:40, Thomas Monjalon:
> 2014-12-09 10:11, Pablo de Lara:
> > Since commit b91c67e5a693211862aa7dc3b78630b4e856c2af,
> > maximum number of cores is 128, which has increase
> > the total memory necessary for a rte_mempool structure,
> > as the per-lcore local cache has been doubled in size.
> > Therefore, eal_flags unit test was broken since it needed
> > to use more hugepages.
> > 
> > Changes in v2: Increased memory to 18MB, as that is the
> > actual minimum memory necessary (depending on the physical memory segments,
> > DPDK may need less memory)
> > 
> > Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> 
> Independently of RTE_MAX_LCORE being increased to 128, I still have some
> problems with test_invalid_vdev_flag().
> First, DEFAULT_MEM_SIZE is not used in this function.
> Also, even with your patch, I get this error in my VM:
> 	Cannot get hugepage information
> 
> But if this patch solves an issue for you, I guess it should be applied.
> That said, I would appreciate a complete description of the commands
> you use to launch this test in a VM (starting with the Qemu command).

Applied

I think we should try to improve this test to be able to run it everywhere.

Thanks
  
De Lara Guarch, Pablo Dec. 11, 2014, 9:56 a.m. UTC | #3
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas.monjalon@6wind.com]
> Sent: Thursday, December 11, 2014 1:11 AM
> To: De Lara Guarch, Pablo
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] app/test: fix memory needs after
> RTE_MAX_LCORE was increased to 128
> 
> 2014-12-10 15:40, Thomas Monjalon:
> > 2014-12-09 10:11, Pablo de Lara:
> > > Since commit b91c67e5a693211862aa7dc3b78630b4e856c2af,
> > > maximum number of cores is 128, which has increase
> > > the total memory necessary for a rte_mempool structure,
> > > as the per-lcore local cache has been doubled in size.
> > > Therefore, eal_flags unit test was broken since it needed
> > > to use more hugepages.
> > >
> > > Changes in v2: Increased memory to 18MB, as that is the
> > > actual minimum memory necessary (depending on the physical memory
> segments,
> > > DPDK may need less memory)
> > >
> > > Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> >
> > Independently of RTE_MAX_LCORE being increased to 128, I still have
> some
> > problems with test_invalid_vdev_flag().
> > First, DEFAULT_MEM_SIZE is not used in this function.
> > Also, even with your patch, I get this error in my VM:
> > 	Cannot get hugepage information
> >
> > But if this patch solves an issue for you, I guess it should be applied.
> > That said, I would appreciate a complete description of the commands
> > you use to launch this test in a VM (starting with the Qemu command).
> 
> Applied
> 
> I think we should try to improve this test to be able to run it everywhere.

Sorry Thomas for not coming back to you earlier.
This is the qemu command I used:
qemu-kvm -cpu host -smp 8 -m 4G -monitor stdio -nographic -device e1000,vlan=1 -net user,vlan=1,hostfwd=::2222-:22 fedora-img.cow

And then I run the test using:

./x86_64-native-linuxapp-gcc/app/test -c ff -n 4 -m 20

I suspect you are missing the -m flag, and in that case test will fail as it launches
other primary processes (that test that is failing for you, for instance), which will require some free hugepages, 
so as you said, there is nothing to do with RTE_MAX_LCORE.

Btw, I also tested the fix on VMWare, and it works fine as well. Let me know if your problem is still different from what I think.
Thanks,

Pablo
> 
> Thanks
> --
> Thomas
  

Patch

diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index 6e2a8f2..0a8269c 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -55,7 +55,7 @@ 
 #ifdef RTE_LIBRTE_XEN_DOM0
 #define DEFAULT_MEM_SIZE "30"
 #else
-#define DEFAULT_MEM_SIZE "8"
+#define DEFAULT_MEM_SIZE "18"
 #endif
 #define mp_flag "--proc-type=secondary"
 #define no_hpet "--no-hpet"