Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spdk: update SPDK to v17.10 #19208

Merged
merged 2 commits into from Nov 29, 2017
Merged

spdk: update SPDK to v17.10 #19208

merged 2 commits into from Nov 29, 2017

Conversation

tchaikov
Copy link
Contributor

No description provided.

Signed-off-by: Kefu Chai <kchai@redhat.com>
@smithfarm
Copy link
Contributor

smithfarm commented Nov 28, 2017

SUSE build test (essentially #19122 and this PR) now running in https://build.opensuse.org/package/show/home:smithfarm:branches:filesystems:ceph:mimic/ceph

* cmake/modules/BuildSPDK.cmake: add lvol
* cmake/modules/BuildDPDK.cmake: add pci and bus_pci
* ceph.spec.in, cmake/modules/BuildSPDK.cmake, debian/control:
  re-introduce libuuid dependency, as 17.07 added lvol. and the latter
  depends on uuid.
* cmake/modules/BuildSPDK.cmake: avoid introducing local variable of
  `iface_libs`.
* cmake/modules/patch-dpdk-conf.sh: disable
  CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES, this option introduces the
  balanced allocation of memory. but it also requires libnuma-dev.
  let's disable it for now.

Signed-off-by: Kefu Chai <kchai@redhat.com>
@tchaikov
Copy link
Contributor Author

@tchaikov tchaikov merged commit 99c0306 into ceph:master Nov 29, 2017
@tchaikov tchaikov deleted the wip-spdk-17.10 branch November 29, 2017 16:39
@smithfarm
Copy link
Contributor

@tchaikov Maybe I approved this too soon. I activated the i586 build in OBS and it fails with:

[  955s] cc1: sorry, unimplemented: 64-bit mode not compiled in
[  955s] make[2]: *** [/home/abuild/rpmbuild/BUILD/ceph-13.0.0-3535-g8b10d08c04/src/spdk/mk/spdk.common.mk:171: bdev.o] Error 1
[  955s] make[1]: *** [/home/abuild/rpmbuild/BUILD/ceph-13.0.0-3535-g8b10d08c04/src/spdk/mk/spdk.subdirs.mk:35: bdev] Error 2
[  955s] make: *** [/home/abuild/rpmbuild/BUILD/ceph-13.0.0-3535-g8b10d08c04/src/spdk/mk/spdk.subdirs.mk:35: lib] Error 2
[  955s] make[2]: *** [CMakeFiles/spdk-ext.dir/build.make:112: spdk-ext-prefix/src/spdk-ext-stamp/spdk-ext-build] Error 2
[  955s] make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/spdk-ext.dir/all] Error 2
[  955s] make: *** [Makefile:141: all] Error 2

Is this expected?

@wjwithagen
Copy link
Contributor

@tchaikov
I'm having a bit of trouble in FreeBSD jenkins as well:

-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
In file included from contigmem.c:57:
/usr/srcs/head/src/sys/vm/vm_phys.h:122:10: error: use of undeclared identifier 'vm_cnt'
        return (vm_cnt.v_free_count += adj);
                ^
1 error generated.
*** Error code 1

Stop.
make[9]: stopped in /home/jenkins/workspace/ceph-master/build/src/dpdk/build/lib/librte_eal/bsdapp/contigmem
gmake[8]: *** [/home/jenkins/workspace/ceph-master/src/spdk/dpdk/mk/rte.bsdmodule.mk:84: contigmem.ko] Error 1
gmake[7]: *** [/home/jenkins/workspace/ceph-master/src/spdk/dpdk/mk/rte.subdir.mk:63: contigmem] Error 2
gmake[7]: *** Waiting for unfinished jobs....

@tchaikov
Copy link
Contributor Author

tchaikov commented Nov 30, 2017

@wjwithagen i suspect it's a bug in FreeBSD. see also https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204426. and seems @asomers also ran into this issue before, see http://dpdk.org/ml/archives/dev/2017-July/072213.html.

@asomers
Copy link
Contributor

asomers commented Nov 30, 2017

Try putting #include <sys/vmmeter.h> in contigmem.c, somewhere above line 57.

@tchaikov
Copy link
Contributor Author

tchaikov commented Nov 30, 2017

@smithfarm which sha1 you were building? ceph-13.0.0-3535-g8b10d08c04 does look suspicious . as i have

$ git describe
v12.1.2-4707-g2f39a15652

and on spdk.common.mk:171, it's related CXX compiling: spdk/spdk@b17d4d9#diff-7c87b4059369ef6dd77486f206021f01R171 . and bdev.c is a C source file. this does not make sense. i guess you are using a commit before spdk/spdk@2453352 . but i admit that -march=native will still annoy a downstream packager who happens to look at it.

@tchaikov
Copy link
Contributor Author

@asomers thanks for chiming in. but IMHO, a public header file is supposed to be self-contained, and https://github.com/freebsd/freebsd/blob/master/sys/vm/vm_phys.h does not #include vmmeter.h, am i right?

@asomers
Copy link
Contributor

asomers commented Nov 30, 2017

@tchaikov FreeBSD doesn't always follow that rule. There are many functions that require including multiple header files. For example, mount(2) requires including two. You just have to include whatever the man page tells you to include. And in this case, SPDK is including header files that are normally only used within the kernel itself. It's even apparently #defining _KERNEL. When you do that, the gloves come off.

@tchaikov
Copy link
Contributor Author

tchaikov commented Nov 30, 2017

@asomers thank you for the detailed explanation! will send a PR to DPDK then.

@tchaikov
Copy link
Contributor Author

@wjwithagen i sent a patch to DPDK upstream, in the meanwhile, you can watch the tracker ticket filed at http://tracker.ceph.com/issues/22278

@wjwithagen
Copy link
Contributor

@tchaikov
Will do. In the mean time I'll disable the SPDK on the builds

@wjwithagen
Copy link
Contributor

@tchaikov @asomers
So this means that building SPDK on FreeBSD will require kernel sources to be available.
Guess I have to start figuring out how that is done in package building with poudriere

@tchaikov
Copy link
Contributor Author

@wjwithagen what exactly the FreeBSD version did you compile with? the upstream maintainer of SPDK replied to me that SPDK compiles fine with FreeBSD 10 and 11.

@asomers
Copy link
Contributor

asomers commented Nov 30, 2017

@wjwithagen for an example of a port that needs kernel sources, see sysutils/graid5 or sysutils/py-zfs.

@wjwithagen
Copy link
Contributor

@tchaikov

wjw@cephdev:~ % uname -a
FreeBSD cephdev.digiware.nl 12.0-CURRENT FreeBSD 12.0-CURRENT #15 r324142M: Sun Oct  1 08:19:29 CEST 2017     root@cephdev.digiware.nl:/usr/obj/usr/srcs/head/src/sys/GENERIC-NODEBUG  amd64

@tchaikov
Copy link
Contributor Author

tchaikov commented Dec 1, 2017

@wjwithagen ack.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants