On Mon, Jul 16, 2018 at 10:50 PM Nathan Cutler <ncutler@xxxxxxx> wrote: > > It has come to my attention that we may be building DPDK (and possibly > other submodules - e.g. rapidjson) with gcc's "-march=native" option. we don't pass -march=native when building DPDK. as we set machine="default" in BuildDPDK.cmake, and patch-dpdk-conf.sh is used to change set CONFIG_RTE_MACHINE to "default" in .conf after running "make config". > This would be a Bad Thing because (IIUC) it makes it difficult > (impossible?) to know which opcodes will get used in the binaries > shipping in our official packages, because we don't really know exactly > what flavor of x86_64 is being used on the build worker. > > For example, DPDK will compile differently on x86_64 machines which > support SSE4.2 compared to those that don't support it. > > So, this raises a couple questions in my mind: > > 1. how to determine whether DPDK really runs gcc with -march=native? > (this information does not appear in our build log) by checking ./build/src/dpdk/.config or by "ps(1)" when running "make" ? > 2. am I right in assuming that -march=x86-64 would be the right choice > for our official builds? probably we should drop "-march=native" from common_async_dpdk's COMPILE_FLAGS, and let the compiler driver to decide what is the best for the generated binary? > > Nathan > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Regards Kefu Chai -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html