* [PATCH kvm-unit-tests] api: remove boost::thread dependency
@ 2017-05-09 13:40 Paolo Bonzini
2017-05-09 21:21 ` Bandan Das
0 siblings, 1 reply; 2+ messages in thread
From: Paolo Bonzini @ 2017-05-09 13:40 UTC (permalink / raw)
To: kvm
Replace Boost threads with C++11. Both boost::ref and boost::thread::thread
are not part of the standard C++ library.
std::tr1::bind has also become std::bind in C++11.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
api/dirty-log-perf.cc | 8 ++------
api/dirty-log.cc | 19 ++++++++-----------
x86/Makefile.common | 4 ++--
3 files changed, 12 insertions(+), 19 deletions(-)
diff --git a/api/dirty-log-perf.cc b/api/dirty-log-perf.cc
index 16990a6..89043b0 100644
--- a/api/dirty-log-perf.cc
+++ b/api/dirty-log-perf.cc
@@ -2,7 +2,6 @@
#include "exception.hh"
#include "memmap.hh"
#include "identity.hh"
-#include <boost/thread/thread.hpp>
#include <stdlib.h>
#include <stdio.h>
#include <sys/time.h>
@@ -34,15 +33,12 @@ void write_mem(void* slot_head, int64_t nr_to_write, int64_t nr_pages)
}
}
-using boost::ref;
-using std::tr1::bind;
-
// Let the guest update nr_to_write pages selected from nr_pages pages.
void do_guest_write(kvm::vcpu& vcpu, void* slot_head,
int64_t nr_to_write, int64_t nr_pages)
{
- identity::vcpu guest_write_thread(vcpu, bind(write_mem, ref(slot_head),
- nr_to_write, nr_pages));
+ identity::vcpu guest_write_thread(vcpu, std::bind(write_mem, slot_head,
+ nr_to_write, nr_pages));
vcpu.run();
}
diff --git a/api/dirty-log.cc b/api/dirty-log.cc
index 4e4bfc9..47fbac2 100644
--- a/api/dirty-log.cc
+++ b/api/dirty-log.cc
@@ -2,7 +2,7 @@
#include "exception.hh"
#include "memmap.hh"
#include "identity.hh"
-#include <boost/thread/thread.hpp>
+#include <thread>
#include <stdlib.h>
#include <stdio.h>
@@ -46,9 +46,6 @@ void check_dirty_log(mem_slot& slot,
}
-using boost::ref;
-using std::tr1::bind;
-
int test_main(int ac, char **av)
{
kvm::system sys;
@@ -56,7 +53,7 @@ int test_main(int ac, char **av)
mem_map memmap(vm);
void* logged_slot_virt;
posix_memalign(&logged_slot_virt, 4096, 4096);
- int* shared_var = static_cast<int*>(logged_slot_virt);
+ volatile int* shared_var = static_cast<volatile int*>(logged_slot_virt);
identity::hole hole(logged_slot_virt, 4096);
identity::vm ident_vm(vm, memmap, hole);
kvm::vcpu vcpu(vm, 0);
@@ -65,13 +62,13 @@ int test_main(int ac, char **av)
mem_slot logged_slot(memmap,
reinterpret_cast<uintptr_t>(logged_slot_virt),
4096, logged_slot_virt);
- boost::thread host_poll_thread(check_dirty_log, ref(logged_slot),
- ref(running),
- ref(shared_var), ref(nr_fail));
+ std::thread host_poll_thread(check_dirty_log, std::ref(logged_slot),
+ std::ref(running),
+ shared_var, std::ref(nr_fail));
identity::vcpu guest_write_thread(vcpu,
- bind(write_mem,
- ref(running),
- ref(shared_var)));
+ std::bind(write_mem,
+ std::ref(running),
+ shared_var));
vcpu.run();
host_poll_thread.join();
printf("Dirty bitmap failures: %d\n", nr_fail);
diff --git a/x86/Makefile.common b/x86/Makefile.common
index fbab82c..ec50926 100644
--- a/x86/Makefile.common
+++ b/x86/Makefile.common
@@ -73,9 +73,9 @@ arch_clean:
$(RM) $(TEST_DIR)/*.o $(TEST_DIR)/*.flat $(TEST_DIR)/*.elf \
$(TEST_DIR)/.*.d lib/x86/.*.d
-api/%.o: CFLAGS += -m32
+api/%.o: CFLAGS += -m32 -std=gnu++11
-api/%: LDLIBS += -lstdc++ -lboost_thread -lpthread -lrt
+api/%: LDLIBS += -lstdc++ -lpthread -lrt
api/%: LDFLAGS += -m32
api/libapi.a: api/kvmxx.o api/identity.o api/exception.o api/memmap.o
--
1.8.3.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH kvm-unit-tests] api: remove boost::thread dependency
2017-05-09 13:40 [PATCH kvm-unit-tests] api: remove boost::thread dependency Paolo Bonzini
@ 2017-05-09 21:21 ` Bandan Das
0 siblings, 0 replies; 2+ messages in thread
From: Bandan Das @ 2017-05-09 21:21 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: kvm
Paolo Bonzini <pbonzini@redhat.com> writes:
> Replace Boost threads with C++11. Both boost::ref and boost::thread::thread
> are not part of the standard C++ library.
>
> std::tr1::bind has also become std::bind in C++11.
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Bandan Das <bsd@redhat.com>
> ---
> api/dirty-log-perf.cc | 8 ++------
> api/dirty-log.cc | 19 ++++++++-----------
> x86/Makefile.common | 4 ++--
> 3 files changed, 12 insertions(+), 19 deletions(-)
>
> diff --git a/api/dirty-log-perf.cc b/api/dirty-log-perf.cc
> index 16990a6..89043b0 100644
> --- a/api/dirty-log-perf.cc
> +++ b/api/dirty-log-perf.cc
> @@ -2,7 +2,6 @@
> #include "exception.hh"
> #include "memmap.hh"
> #include "identity.hh"
> -#include <boost/thread/thread.hpp>
> #include <stdlib.h>
> #include <stdio.h>
> #include <sys/time.h>
> @@ -34,15 +33,12 @@ void write_mem(void* slot_head, int64_t nr_to_write, int64_t nr_pages)
> }
> }
>
> -using boost::ref;
> -using std::tr1::bind;
> -
> // Let the guest update nr_to_write pages selected from nr_pages pages.
> void do_guest_write(kvm::vcpu& vcpu, void* slot_head,
> int64_t nr_to_write, int64_t nr_pages)
> {
> - identity::vcpu guest_write_thread(vcpu, bind(write_mem, ref(slot_head),
> - nr_to_write, nr_pages));
> + identity::vcpu guest_write_thread(vcpu, std::bind(write_mem, slot_head,
> + nr_to_write, nr_pages));
> vcpu.run();
> }
>
> diff --git a/api/dirty-log.cc b/api/dirty-log.cc
> index 4e4bfc9..47fbac2 100644
> --- a/api/dirty-log.cc
> +++ b/api/dirty-log.cc
> @@ -2,7 +2,7 @@
> #include "exception.hh"
> #include "memmap.hh"
> #include "identity.hh"
> -#include <boost/thread/thread.hpp>
> +#include <thread>
> #include <stdlib.h>
> #include <stdio.h>
>
> @@ -46,9 +46,6 @@ void check_dirty_log(mem_slot& slot,
>
> }
>
> -using boost::ref;
> -using std::tr1::bind;
> -
> int test_main(int ac, char **av)
> {
> kvm::system sys;
> @@ -56,7 +53,7 @@ int test_main(int ac, char **av)
> mem_map memmap(vm);
> void* logged_slot_virt;
> posix_memalign(&logged_slot_virt, 4096, 4096);
> - int* shared_var = static_cast<int*>(logged_slot_virt);
> + volatile int* shared_var = static_cast<volatile int*>(logged_slot_virt);
> identity::hole hole(logged_slot_virt, 4096);
> identity::vm ident_vm(vm, memmap, hole);
> kvm::vcpu vcpu(vm, 0);
> @@ -65,13 +62,13 @@ int test_main(int ac, char **av)
> mem_slot logged_slot(memmap,
> reinterpret_cast<uintptr_t>(logged_slot_virt),
> 4096, logged_slot_virt);
> - boost::thread host_poll_thread(check_dirty_log, ref(logged_slot),
> - ref(running),
> - ref(shared_var), ref(nr_fail));
> + std::thread host_poll_thread(check_dirty_log, std::ref(logged_slot),
> + std::ref(running),
> + shared_var, std::ref(nr_fail));
> identity::vcpu guest_write_thread(vcpu,
> - bind(write_mem,
> - ref(running),
> - ref(shared_var)));
> + std::bind(write_mem,
> + std::ref(running),
> + shared_var));
> vcpu.run();
> host_poll_thread.join();
> printf("Dirty bitmap failures: %d\n", nr_fail);
> diff --git a/x86/Makefile.common b/x86/Makefile.common
> index fbab82c..ec50926 100644
> --- a/x86/Makefile.common
> +++ b/x86/Makefile.common
> @@ -73,9 +73,9 @@ arch_clean:
> $(RM) $(TEST_DIR)/*.o $(TEST_DIR)/*.flat $(TEST_DIR)/*.elf \
> $(TEST_DIR)/.*.d lib/x86/.*.d
>
> -api/%.o: CFLAGS += -m32
> +api/%.o: CFLAGS += -m32 -std=gnu++11
>
> -api/%: LDLIBS += -lstdc++ -lboost_thread -lpthread -lrt
> +api/%: LDLIBS += -lstdc++ -lpthread -lrt
> api/%: LDFLAGS += -m32
>
> api/libapi.a: api/kvmxx.o api/identity.o api/exception.o api/memmap.o
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-05-09 21:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-09 13:40 [PATCH kvm-unit-tests] api: remove boost::thread dependency Paolo Bonzini
2017-05-09 21:21 ` Bandan Das
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox