[dpdk-dev] [PATCH 00/41] Memory Hotplug for DPDK

Bruce Richardson bruce.richardson at intel.com
Thu Mar 8 13:14:54 CET 2018


On Thu, Mar 08, 2018 at 12:12:15PM +0000, Burakov, Anatoly wrote:
> On 08-Mar-18 10:53 AM, Nélio Laranjeiro wrote:
> > On Thu, Mar 08, 2018 at 09:37:27AM +0000, Burakov, Anatoly wrote:
> > > On 07-Mar-18 4:05 PM, Burakov, Anatoly wrote:
> > > > On 07-Mar-18 3:27 PM, Nélio Laranjeiro wrote:
> > > > > Hi Anatoly,
> > > > > 
> > > > > I am trying to run some test with this series, but it seems to be based
> > > > > on some other commits of yours. I have already identified the following
> > > > > one [1] it seems I am missing some others.
> > > > > 
> > > > > It is possible to have a list of commits to apply on the current master
> > > > > branch [2] before this series?
> > > > > 
> > > > > Thanks,
> > > > > 
> > > > > [1] https://dpdk.org/patch/35043
> > > > > [2] https://dpdk.org/browse/dpdk/commit/?id=c06ddf9698e0c2a9653cfa971f9ddc205065662c
> > > > > 
> > > > > 
> > > > 
> > > > Hi Nelio,
> > > > 
> > > > Yes, my apologies. I'm aware of the apply issues. The issue is due to me
> > > > missing a rebase on one of the dependent patchsets. I'm preparing a v2
> > > > that will fix the issue (pending some internal processes).
> > > > 
> > > 
> > > Hi Nelio,
> > > 
> > > The v2 is now up, with corrected rebase. You can see the list of dependent
> > > patches in the cover letter [1]. Once again apologies for incorrect rebase
> > > in v1. Looking forward to your feedback!
> > > 
> > > [1] http://dpdk.org/ml/archives/dev/2018-March/092070.html
> > Hi Anatoly,
> > 
> > First feedbacks, I have some issue when compiling it on desktop/server
> > machine with clang and GCC, maybe due some different configuration items
> > depending on the machine compile it.
> > 
> > Clang error
> > -----------
> > 
> >    dpdk.org/lib/librte_eal/linuxapp/eal/eal_memalloc.c:590:6: error: variable 'have_numa' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
> >           if (!hi) {
> >               ^~~
> >     CC eal_lcore.o
> >   dpdk.org/lib/librte_eal/linuxapp/eal/eal_memalloc.c:693:6: note: uninitialized use occurs here
> >           if (have_numa)
> >               ^~~~~~~~~
> >   dpdk.org/lib/librte_eal/linuxapp/eal/eal_memalloc.c:590:2: note: remove the 'if' if its condition is always false
> >           if (!hi) {
> >           ^~~~~~~~~~
> >   dpdk.org/lib/librte_eal/linuxapp/eal/eal_memalloc.c:580:6: error: variable 'have_numa' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
> >           if (internal_config.legacy_mem)
> >               ^~~~~~~~~~~~~~~~~~~~~~~~~~
> >   dpdk.org/lib/librte_eal/linuxapp/eal/eal_memalloc.c:693:6: note: uninitialized use occurs here
> >           if (have_numa)
> >               ^~~~~~~~~
> >   dpdk.org/lib/librte_eal/linuxapp/eal/eal_memalloc.c:580:2: note: remove the 'if' if its condition is always false
> >           if (internal_config.legacy_mem)
> >           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   dpdk.org/lib/librte_eal/linuxapp/eal/eal_memalloc.c:573:16: note: initialize the variable 'have_numa' to silence this warning
> >           bool have_numa;
> >                         ^
> >                          = false
> > 
> > GCC errors
> > ----------
> > 
> >   /root/dpdk/lib/librte_eal/common/eal_common_memzone.c: In function ‘rte_memzone_free’:
> >   /root/dpdk/lib/librte_eal/common/eal_common_memzone.c:355:2: error: ‘addr’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> >     rte_free(addr);
> >     ^~~~~~~~~~~~~~
> >   /root/dpdk/lib/librte_eal/linuxapp/eal/eal_memalloc.c: In function ‘eal_memalloc_alloc_page_bulk’:
> >   /root/dpdk/lib/librte_eal/linuxapp/eal/eal_memalloc.c:693:5: error: ‘have_numa’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> >     if (have_numa)
> >        ^
> >   cc1: all warnings being treated as errors
> >   /root/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'eal_common_memzone.o' failed
> >   make[5]: *** [eal_common_memzone.o] Error 1
> >   make[5]: *** Waiting for unfinished jobs....
> >   cc1: all warnings being treated as errors
> >   /root/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'eal_memalloc.o' failed
> >   make[5]: *** [eal_memalloc.o] Error 1
> >   /root/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c: In function ‘rte_eal_hugepage_attach’:
> >   /root/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c:1556:7: error: ‘max_seg’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> >       if (cur_seg >= max_seg)
> >          ^
> >   /root/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c:1391:24: note: ‘max_seg’ was declared here
> >     unsigned int cur_seg, max_seg;
> >                           ^~~~~~~
> >   /root/dpdk/lib/librte_eal/linuxapp/eal/eal_memory.c:1389:15: error: ‘i’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> >     unsigned int i;
> >                  ^
> > 
> > It worse to ask Thomas to have a dedicated repository/branch on DPDK,
> > otherwise it will be a nightmare for anyone who want to test if we need
> > each time to apply 54 patches.
> > 
> > Can you see it with him?
> > 
> > Thanks,
> > 
> 
> Hi Nelio,
> 
> Thanks for your feedback.
> 
> We're working on merging dependencies into the main tree. I've spoken with
> Thomas about this, and he suggested to create a GitHub repo for this
> patchset, so i'll be looking into this as well.
> 
I think some of the dependent patches are already acked, so perhaps they
could be applied to the main tree soon? That would a) help test them and
b) make the life easier of everyone testing this big memory rework set.
I still think we have a big issue with all patches being applied in a
"big bang" near the end of the release cycle.

/Bruce


More information about the dev mailing list