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

dmclock: initial commit of dmclock QoS library #14330

Merged
merged 4 commits into from
May 2, 2017
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 2 additions & 0 deletions ceph.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -1624,6 +1624,8 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{_bindir}/ceph-osdomap-tool
%{_bindir}/ceph-kvstore-tool
%{_bindir}/ceph-debugpack
%{_bindir}/dmclock-tests
%{_bindir}/dmclock-data-struct-tests
%{_mandir}/man8/ceph-debugpack.8*
%dir %{_libdir}/ceph
%{_libdir}/ceph/ceph-monstore-update-crush.sh
Expand Down
2 changes: 2 additions & 0 deletions debian/ceph-test.install
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,7 @@ usr/bin/ceph_xattr_bench
usr/bin/ceph-monstore-tool
usr/bin/ceph-osdomap-tool
usr/bin/ceph-kvstore-tool
usr/bin/dmclock-tests
usr/bin/dmclock-data-struct-tests
usr/share/java/libcephfs-test.jar
usr/lib/ceph/ceph-monstore-update-crush.sh
24 changes: 24 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,17 @@ add_subdirectory(json_spirit)

include_directories("${CMAKE_SOURCE_DIR}/src/xxHash")

set(GMOCK_INCLUDE_DIRS
"${CMAKE_SOURCE_DIR}/src/googletest/googletest/include/gmock")
set(GTEST_INCLUDE_DIRS
"${CMAKE_SOURCE_DIR}/src/googletest/googletest/include/gtest")

include_directories("${CMAKE_SOURCE_DIR}/src/dmclock/src")
include_directories("${CMAKE_SOURCE_DIR}/src/dmclock/support/src")

# needed for source files that friend unit tests (e.g., using FRIEND_TEST)
include_directories("${CMAKE_SOURCE_DIR}/src/googletest/googletest/include")

set(xio_common_srcs)
if(HAVE_XIO)
list(APPEND xio_common_srcs
Expand Down Expand Up @@ -809,6 +820,7 @@ set(cls_references_files objclass/class_api.cc)
add_library(cls_references_objs OBJECT ${cls_references_files})

add_subdirectory(osd)

set(ceph_osd_srcs
ceph_osd.cc)
add_executable(ceph-osd ${ceph_osd_srcs}
Expand Down Expand Up @@ -842,6 +854,18 @@ add_subdirectory(compressor)

add_subdirectory(tools)

# dmClock

add_subdirectory(dmclock) # after gmock
add_dependencies(tests dmclock-tests dmclock-data-struct-tests)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this line would get moved into the proposed WITH_DMCLOCK_TESTS conditional


if(WITH_TESTS)
install(PROGRAMS
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/dmclock-tests
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/dmclock-data-struct-tests
DESTINATION bin)
endif(WITH_TESTS)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ivancich This is where the build of dmclock-tests and dmclock-data-struct-tests is made conditional upon WITH_TESTS.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we could change the guard to some other conditional (and not package these two binaries), then the problem I'm having will be solved I think!

Copy link
Contributor

@smithfarm smithfarm May 22, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

e.g. in CMakeLists.txt add a line that says set(WITH_DMCLOCK_TESTS "enable the build of dmclock-tests and dmclock-data-struct-tests binaries" OFF)

and then s/WITH_TESTS/WITH_DMCLOCK_TESTS/

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then somebody who wanted to build these binaries could pass -DWITH_DMCLOCK_TESTS=ON to cmake, but for purposes of building RPMs and debs we would use -DWITH_DMCLOCK_TESTS=OFF.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you look at where this is heading (https://github.com/ivancich/ceph-fork/tree/wip-bring-in-dmclock-p2-gtest) all that is gone. dmclock tests won't even be built unless you do something like "make dmclock-tests". They're detached from ceph's tests. I think that'll give you what you want, no?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dmclock tests won't even be built unless you do something like "make dmclock-tests". They're detached from ceph's tests. I think that'll give you what you want, no?

Yes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


if(HAVE_INTEL)
add_subdirectory(crypto/isa-l)
endif(HAVE_INTEL)
Expand Down